Cómo optimizar una base de datos MySQL en WordPress (paso a paso)
¿Por qué es importante optimizar la base de datos de WordPress?
Si tu web va lenta, el culpable en muchas ocasiones no es el hosting ni el tema, sino la base de datos. Con el tiempo, WordPress acumula basura digital: revisiones de entradas, comentarios spam, transients caducados, borradores automáticos y tablas huérfanas de plugins desinstalados. Todo esto hace que las consultas SQL sean más lentas y que el servidor tarde más en responder.
Optimizar la base de datos de WordPress no es un lujo, es una tarea de mantenimiento básica que deberías hacer cada 2 o 3 meses. En esta guía paso a paso, sin necesidad de ser un experto en SQL, te enseño a limpiar y optimizar tu base de datos MySQL para que tu web vuele.
Antes de empezar: haz una copia de seguridad
Esta es la regla de oro. Antes de tocar nada en tu base de datos, haz una copia de seguridad completa. Un error en una consulta SQL puede borrar contenido importante o romper tu web.
[WARNING] No te saltes este paso. Si algo sale mal y no tienes backup, perderás datos de forma permanente. No hay vuelta atrás.
Puedes hacer la copia de seguridad desde el panel de control de tu hosting (como Syspanel, que se accede por el puerto 2106) o usando plugins como UpdraftPlus o BackupBuddy. Exporta tanto la base de datos como los archivos del sitio.
Paso 1: Accede a phpMyAdmin o a la herramienta de gestión de BD
Para optimizar MySQL en WordPress necesitas acceso a la base de datos. La mayoría de paneles de control incluyen phpMyAdmin. Si tu hosting usa Syspanel (recuerda, acceso por el puerto 2106), busca la sección de "Bases de datos" y haz clic en phpMyAdmin.
Si no tienes acceso a phpMyAdmin, puedes usar plugins como WP-Optimize o Advanced Database Cleaner, que hacen el trabajo de forma automática. Pero si quieres control total, sigue leyendo.
Paso 2: Identifica qué tablas puedes limpiar
Cuando entras en phpMyAdmin, verás una lista de tablas. Las más importantes para optimizar son:
wp_posts: guarda entradas, páginas, revisiones y borradores.wp_postmeta: metadatos de cada entrada.wp_commentsywp_commentmeta: comentarios y sus metadatos.wp_options: opciones, transients y caché.wp_term_relationships,wp_term_taxonomy,wp_terms: taxonomías y categorías.
[INFO] El prefijo wp_ puede variar si tu instalación usa otro (como miweb_). No te preocupes, el proceso es el mismo.
Paso 3: Limpia las revisiones de entradas (post revisions)
Cada vez que editas una entrada, WordPress guarda una revisión. Con el tiempo, esto puede generar cientos de versiones de un mismo artículo, ocupando espacio y ralentizando las consultas.
Para eliminar las revisiones antiguas, ve a la pestaña SQL en phpMyAdmin y ejecuta esta consulta:
DELETE FROM wp_posts WHERE post_type = 'revision';
[WARNING] Esta consulta elimina todas las revisiones. Si quieres conservar las últimas 5 de cada entrada, necesitas una consulta más compleja. Para la mayoría de usuarios, eliminar todas es seguro.
Paso 4: Elimina borradores y entradas en la papelera
Las entradas en la papelera y los borradores automáticos también ocupan espacio. Ejecuta:
DELETE FROM wp_posts WHERE post_status = 'draft';
DELETE FROM wp_posts WHERE post_status = 'trash';
Esto elimina todos los borradores y los elementos en la papelera. Si quieres conservar algún borrador, hazlo antes de ejecutar la consulta.
Paso 5: Limpia los transients caducados
Los transients son datos temporales que WordPress y los plugins usan para almacenar caché. Muchas veces quedan caducados y no se eliminan automáticamente.
Para limpiarlos, ejecuta:
DELETE FROM wp_options WHERE option_name LIKE '_transient_%';
DELETE FROM wp_options WHERE option_name LIKE '_site_transient_%';
[TIP] Si tu web usa un plugin de caché, es mejor que primero limpies la caché desde el plugin y luego ejecutes estas consultas. Así evitas borrar datos que aún se están usando.
Paso 6: Elimina comentarios spam y no aprobados
Los comentarios spam no solo ensucian tu base de datos, sino que también pueden suponer un riesgo de seguridad. Para eliminarlos:
DELETE FROM wp_comments WHERE comment_approved = 'spam';
DELETE FROM wp_comments WHERE comment_approved = 'trash';
Si quieres eliminar también los comentarios pendientes de moderación, usa:
DELETE FROM wp_comments WHERE comment_approved = '0';
Paso 7: Limpia los metadatos huérfanos
Después de eliminar entradas, revisiones y comentarios, los metadatos asociados (en wp_postmeta y wp_commentmeta) quedan huérfanos. Es decir, apuntan a registros que ya no existen. Esto genera tablas infladas y consultas lentas.
Para limpiar los metadatos de entradas huérfanas:
DELETE pm FROM wp_postmeta pm LEFT JOIN wp_posts wp ON wp.ID = pm.post_id WHERE wp.ID IS NULL;
Para los metadatos de comentarios:
DELETE cm FROM wp_commentmeta cm LEFT JOIN wp_comments c ON c.comment_ID = cm.comment_id WHERE c.comment_ID IS NULL;
Paso 8: Optimiza las tablas (MySQL)
Una vez que has limpiado los datos, es hora de optimizar las tablas. Este proceso defragmenta los datos y reorganiza el almacenamiento físico, lo que mejora el rendimiento de las consultas.
En phpMyAdmin, selecciona todas las tablas de tu base de datos (clic en "Seleccionar todo") y en el desplegable elige Optimizar tabla.
También puedes ejecutar:
OPTIMIZE TABLE wp_posts, wp_postmeta, wp_comments, wp_options;
[TIP] Puedes optimizar todas las tablas a la vez con OPTIMIZE TABLE + los nombres de todas las tablas, separadas por comas. Si no quieres escribirlas todas, usa la opción gráfica de phpMyAdmin.
Paso 9: Elimina tablas huérfanas de plugins y temas
Cuando desinstalas un plugin, a veces no se eliminan sus tablas. Esto ocurre porque el plugin no tiene un sistema de limpieza al desinstalarse.
Revisa la lista de tablas y busca aquellas que no sean estándar de WordPress (como wp_woocommerce_*, wp_revslider_*, etc.). Si ya no usas esos plugins, puedes eliminarlas con:
DROP TABLE nombre_de_la_tabla;
[WARNING] Asegúrate de que esa tabla no pertenezca a un plugin que sigas usando. Si tienes dudas, busca en Google el nombre de la tabla + "plugin" para verificar.
Paso 10: Usa un plugin de mantenimiento para automatizar
Si no quieres repetir este proceso manualmente cada mes, instala un plugin como WP-Optimize o Advanced Database Cleaner. Estos plugins:
- Eliminan revisiones, spam y transients automáticamente.
- Optimizan las tablas con un clic.
- Programan limpiezas periódicas.
[INFO] Los plugins de optimización son seguros, pero siempre es recomendable hacer una copia de seguridad antes de usarlos por primera vez.
Paso 11: Configura la limpieza automática en wp-config.php
WordPress guarda revisiones ilimitadas por defecto. Puedes limitarlas añadiendo esta línea en tu archivo wp-config.php:
define('WP_POST_REVISIONS', 5);
Esto hará que solo se guarden las últimas 5 revisiones de cada entrada. También puedes desactivar la papelera automática:
define('EMPTY_TRASH_DAYS', 7);
Con esto, la papelera se vaciará automáticamente cada 7 días.
Paso 12: Monitorea el tamaño de la base de datos
Después de la limpieza, comprueba cuánto espacio has liberado. En phpMyAdmin, verás el tamaño total de la base de datos. Anótalo y compáralo con el tamaño inicial.
Una base de datos de WordPress saludable no debería superar los 100-150 MB en un sitio normal. Si supera eso, es señal de que necesitas limpiarla con más frecuencia.
Preguntas frecuentes (FAQ)
¿Cada cuánto debo optimizar la base de datos de WordPress?
Depende de la actividad de tu web. Si publicas a diario y recibes muchos comentarios, hazlo mensualmente. Si es un blog pequeño, cada 3 meses es suficiente.
¿Es seguro eliminar las revisiones de entradas?
Sí, es seguro. Las revisiones son copias de seguridad internas de cada edición. WordPress no las necesita para funcionar. Eso sí, si estás editando una entrada y la guardas por error, no podrás recuperar la versión anterior.
¿Qué pasa si no optimizo mi base de datos?
Tu web irá cada vez más lenta, las consultas tardarán más y el servidor consumirá más recursos. En casos extremos, puede provocar errores de conexión a la base de datos o tiempos de espera.
¿Puedo optimizar la base de datos sin phpMyAdmin?
Sí, con plugins como WP-Optimize o Advanced Database Cleaner. También puedes usar WP-CLI si tienes acceso SSH al servidor, pero eso es más avanzado.
¿La optimización de la base de datos afecta al SEO?
Indirectamente, sí. Google penaliza las webs lentas. Si tu web carga más rápido tras optimizar la BD, tu posicionamiento mejorará. Además, una base de datos limpia reduce el riesgo de errores 500 o de caídas del servidor.
¿Qué es Syspanel y cómo accedo a él?
Syspanel es el panel de control de tu hosting (antes conocido como HestiaCP). Se accede a través del puerto 2106, por ejemplo: https://tu-dominio.com:2106. Desde ahí puedes gestionar bases de datos, correos y archivos.
Conclusión
Optimizar la base de datos de MySQL en WordPress es una tarea que cualquier persona puede hacer siguiendo estos pasos. No necesitas ser un experto en SQL, solo seguir el proceso con calma y siempre con una copia de seguridad.
Recuerda: una base de datos limpia es sinónimo de una web rápida y estable. Y una web rápida no solo mejora la experiencia de tus usuarios, sino también tu posicionamiento en Google.
Si tienes dudas, deja un comentario o consulta con tu proveedor de hosting. En Syspanel (puerto 2106) tienes acceso a todas las herramientas necesarias para gestionar tu base de datos sin complicaciones.
¡Manos a la obra y a optimizar esa base de datos!
