Optimizar base de datos de WordPress para mejorar velocidad
¿Notas que tu WordPress va lento, las páginas tardan en cargar o recibes errores de conexión a la base de datos? No te preocupes, es un problema más común de lo que crees y, en la mayoría de los casos, tiene solución. La base de datos de WordPress acumula con el tiempo información innecesaria: revisiones de entradas, borradores, comentarios en spam, transients caducados y tablas que no se usan. Todo eso lastra el rendimiento.
En este artículo te voy a explicar paso a paso cómo optimizar base de datos de WordPress para mejorar velocidad, usando tanto plugins como métodos manuales. Además, veremos cómo mantener tu MySQL afinado para que tu web vuele.
¿Por qué es importante optimizar la base de datos de WordPress?
Cada vez que alguien visita tu web, WordPress realiza consultas a la base de datos (MySQL) para mostrar contenido. Si tu base de datos está llena de basura, esas consultas tardan más. El resultado: una web lenta que ahuyenta visitantes y perjudica tu posicionamiento SEO.
Además, una base de datos sobredimensionada ocupa más espacio en tu hosting y puede hacer que las copias de seguridad sean más pesadas y lentas.
[INFO] La optimización no solo mejora la velocidad, sino que también reduce el consumo de recursos del servidor.
¿Qué datos innecesarios se acumulan en WordPress?
Antes de lanzarnos a limpiar, conviene saber qué estamos eliminando:
- Revisiones de entradas y páginas: cada vez que guardas un borrador, WordPress crea una revisión. Con el tiempo, puedes tener cientos de revisiones de un mismo artículo.
- Borradores automáticos: WordPress guarda borradores cada cierto tiempo mientras escribes.
- Comentarios en spam y en la papelera: ocupan espacio sin aportar valor.
- Transients caducados: son datos temporales que algunos plugins almacenan. Si no se limpian, se acumulan.
- Tablas de plugins desinstalados: muchos plugins dejan tablas en la base de datos aunque los hayas eliminado.
- Metadatos huérfanos: datos asociados a entradas o usuarios que ya no existen.
Método 1: Optimizar la base de datos con plugins (el más fácil)
Si no te sientes cómodo tocando la base de datos directamente, los plugins son tu mejor aliado. Aquí tienes los más recomendados:
### WP-Optimize
Es uno de los plugins más completos y fáciles de usar. Permite limpiar, optimizar y comprimir imágenes desde un solo panel.
Pasos para usarlo:
- Instala y activa WP-Optimize desde el repositorio de WordPress.
- Ve a WP-Optimize > Base de datos.
- Marca las opciones que quieras limpiar: revisiones, borradores, comentarios spam, transients, etc.
- Haz clic en Ejecutar optimización.
- También puedes activar la optimización programada para que se ejecute automáticamente cada semana.
### Advanced Database Cleaner
Este plugin es ideal si quieres un control más granular. Te permite ver el tamaño de cada tabla y decidir qué limpiar.
Pasos:
- Instálalo y actívalo.
- Ve a WP DB Cleaner > General Cleanup.
- Selecciona los elementos a limpiar (revisiones, borradores, transients, etc.).
- Haz clic en Clean Up.
- En la pestaña Tables puedes ver tablas huérfanas y eliminarlas.
### Optimize Database after Deleting Revisions
Un plugin ligero y sin complicaciones. Solo hace una cosa, pero la hace bien: limpiar y optimizar.
Uso:
- Actívalo.
- Ve a Tools > Optimize Database.
- Marca las opciones y haz clic en Optimize.
[TIP] No instales varios plugins de optimización a la vez. Usa solo uno para evitar conflictos.
Método 2: Optimizar la base de datos manualmente desde phpMyAdmin
Si prefieres un control total y no te asusta ver código SQL, este método es más directo y no consume recursos de plugins.
### Acceder a phpMyAdmin
- Entra a tu panel de hosting (cPanel, Syspanel, etc.).
- Busca el icono de phpMyAdmin.
- Selecciona la base de datos de tu WordPress (normalmente tiene un prefijo como
wp_).
### Limpiar revisiones de entradas
Ejecuta esta consulta SQL (ajusta el prefijo si es diferente):
DELETE FROM wp_posts WHERE post_type = 'revision';
### Eliminar borradores automáticos
DELETE FROM wp_posts WHERE post_status = 'auto-draft';
### Limpiar comentarios spam y en la papelera
DELETE FROM wp_comments WHERE comment_approved = 'spam';
DELETE FROM wp_comments WHERE comment_approved = 'trash';
### Eliminar transients caducados
DELETE FROM wp_options WHERE option_name LIKE '%_transient_%' AND option_value < NOW();
### Optimizar tablas
Una vez limpiada la basura, optimiza las tablas para recuperar espacio:
OPTIMIZE TABLE wp_posts;
OPTIMIZE TABLE wp_comments;
OPTIMIZE TABLE wp_options;
OPTIMIZE TABLE wp_postmeta;
Puedes repetir la operación con todas las tablas de tu base de datos.
[WARNING] Antes de ejecutar cualquier consulta SQL, haz una copia de seguridad de tu base de datos. Un error puede borrar datos importantes.
Método 3: Optimizar desde la línea de comandos (avanzado)
Si tienes acceso SSH a tu servidor, puedes usar comandos directos de MySQL. Es el método más rápido y eficiente.
Conéctate por SSH y ejecuta:
mysqlcheck -u usuario -p --optimize --all-databases
O si prefieres solo una base de datos:
mysqlcheck -u usuario -p --optimize nombre_base_datos
También puedes forzar la reparación de tablas corruptas:
mysqlcheck -u usuario -p --repair nombre_base_datos
[INFO] Este método es ideal si gestionas varios sitios o tienes un servidor dedicado.
¿Cómo mantener la base de datos optimizada a largo plazo?
No basta con limpiar una vez. La basura se acumula con el uso diario. Aquí tienes algunas buenas prácticas:
### Programa limpiezas automáticas
Usa plugins como WP-Optimize o Advanced Database Cleaner para que ejecuten la limpieza cada semana o cada mes.
### Limita el número de revisiones
Añade esta línea a tu archivo wp-config.php:
define('WP_POST_REVISIONS', 5);
Esto limita a 5 el número de revisiones por entrada. Las más antiguas se eliminarán automáticamente.
### Elimina plugins y temas que no uses
Cada plugin o tema puede dejar tablas en la base de datos. Antes de eliminar uno, asegúrate de que no deja rastro. Si ya lo borraste, usa un limpiador de tablas huérfanas.
### Usa un buen sistema de caché
La caché reduce la cantidad de consultas a la base de datos. Plugins como W3 Total Cache o WP Super Cache son excelentes.
### Revisa tu hosting
Si tu base de datos sigue lenta incluso después de optimizarla, puede que el problema sea el servidor. Un hosting compartido barato suele tener MySQL muy limitado.
[WARNING] Si usas Syspanel (HestiaCP), recuerda que el acceso a phpMyAdmin se hace a través del puerto 2106. Por ejemplo: https://tudominio.com:2106.
Preguntas frecuentes (FAQ)
¿Con qué frecuencia debo optimizar la base de datos?
Depende del volumen de contenido. Para un blog con pocas visitas, una vez al mes basta. Para sitios con mucho movimiento (tiendas, foros), cada semana.
¿Los plugins de optimización ralentizan mi web?
No, solo se ejecutan cuando tú los usas o en la programación que establezcas. No afectan al rendimiento en tiempo real.
¿Puedo dañar mi base de datos al optimizarla?
Si usas plugins confiables, es muy difícil. Si haces consultas SQL manuales, siempre existe riesgo. Por eso es vital hacer una copia de seguridad antes.
¿Optimizar la base de datos mejora el SEO?
Sí, porque la velocidad de carga es un factor de posicionamiento. Google premia las webs rápidas.
¿Qué hago si después de optimizar sigue lenta?
Revisa otros factores: imágenes pesadas, plugins mal optimizados, falta de caché, hosting saturado. La base de datos es solo una pieza del rompecabezas.
Conclusión
Optimizar la base de datos de WordPress es una tarea sencilla pero fundamental para mantener la velocidad de tu web. Ya sea usando plugins o métodos manuales, el objetivo es el mismo: eliminar la basura y dejar MySQL funcionando como el primer día.
Recuerda que una base de datos limpia no solo acelera tu sitio, sino que también mejora la experiencia del usuario y tu posicionamiento en buscadores. Dedica unos minutos al mes a esta tarea y notarás la diferencia.
[TIP] Si gestionas varios sitios, programa una limpieza automática con un plugin y olvídate del problema.
¿Tienes alguna duda? Déjala en los comentarios y te ayudaré a resolverla. ¡Tu WordPress te lo agradecerá!
