Cómo optimizar una base de datos de WordPress en Plesk
¿Tu WordPress va lento? Antes de culpar al hosting o de instalar otro plugin de caché, hay un paso que casi todo el mundo olvida: optimizar la base de datos. Con el tiempo, tu web acumula cientos de revisiones antiguas, comentarios spam, transients caducados y tablas fragmentadas. Todo ese lastre hace que cada consulta a MySQL sea más lenta.
Si tu hosting usa Plesk, estás de suerte. Este panel te da acceso directo a phpMyAdmin y a herramientas de gestión de MySQL sin necesidad de ser un gurú. En esta guía extensa y muy visual, te voy a enseñar, paso a paso y sin tecnicismos, cómo dejar tu base de datos como nueva. Al final, notarás la diferencia en la velocidad de carga y en el consumo de recursos.
¿Por qué es tan importante optimizar la base de datos en WordPress?
WordPress es un gestor de contenidos que guarda todo en tablas de MySQL. Cada entrada, cada página, cada comentario y cada ajuste de configuración vive en tu base de datos. El problema es que, por defecto, WordPress no hace limpieza automática. Deja restos por todas partes.
Estos son los principales culpables del rendimiento lento:
- Revisiones de entradas (post revisions): Cada vez que pulsas "Guardar" o "Actualizar", WordPress crea una copia de la entrada. Si editas un artículo 20 veces, tienes 20 copias ocupando espacio.
- Transients (datos temporales): Muchos plugins guardan cachés temporales en la base de datos. Si un plugin se elimina mal o caduca, esos registros se quedan huérfanos.
- Comentarios spam: Aunque los filtres, los registros permanecen en la tabla
wp_comments. - Tablas fragmentadas: Cuando borras datos, los huecos que quedan en las tablas no se reutilizan bien. MySQL tiene que trabajar más para leer la información.
- Datos de plugins desinstalados: Algunos plugins no limpian sus propias tablas al desinstalarse.
Optimizar tu base de datos no es un lujo, es una necesidad para cualquier web que quiera cargar en menos de 2 segundos. Y con Plesk, el proceso es mucho más seguro que hacerlo a mano con comandos SQL.
Prepárate antes de tocar nada (consejos de seguridad)
Antes de lanzarte a optimizar, hay una regla de oro: siempre haz una copia de seguridad. Un error en una consulta SQL puede dejar tu web en blanco.
Haz una copia de seguridad desde Plesk
Es muy sencillo y te llevará 2 minutos:
- Entra en tu panel de Plesk.
- Ve a Sitios web y dominios y selecciona tu dominio.
- Busca la sección Bases de datos y haz clic en el nombre de la base de datos de tu WordPress (suele llamarse algo como
wp_o el nombre de tu web). - Arriba a la derecha verás un botón llamado Copiar a archivo o Exportar dump. Púlsalo.
- Elige la opción de Descargar el archivo y guárdalo en tu ordenador o en un servicio de nube.
[WARNING] No optimices nunca la base de datos sin tener una copia reciente. Aunque el riesgo es bajo, es mejor prevenir que lamentar. Un fallo eléctrico o un error de escritura puede corromper las tablas.
Cómo acceder a phpMyAdmin desde Plesk
Para optimizar la base de datos, vas a necesitar la herramienta phpMyAdmin, que viene integrada en Plesk. No necesitas instalar nada.
Pasos para abrir phpMyAdmin
- En tu panel de Plesk, ve a Sitios web y dominios.
- Haz clic en tu dominio.
- En la sección Bases de datos, haz clic en el icono de phpMyAdmin (parece una pequeña base de datos con una llave).
- Se abrirá una nueva pestaña en tu navegador. Si te pide usuario y contraseña, son los mismos que usas para entrar en wp-admin (o los que configuraste al crear la base de datos).
Una vez dentro, verás una lista de tablas a la izquierda. Ahora sí, vamos a la acción.
Optimizar tablas de WordPress desde phpMyAdmin (método fácil)
La forma más rápida y segura de optimizar todas tus tablas a la vez es usando la pestaña de Operaciones o la de SQL. Te explico las dos.
Método 1: Optimizar todas las tablas a la vez
Este es el método que recomiendo para principiantes:
- En phpMyAdmin, haz clic en el nombre de tu base de datos (en el panel izquierdo).
- Verás una pestaña que dice Operaciones (o Operations en inglés). Haz clic ahí.
- Busca la sección Mantenimiento de tablas o Table maintenance.
- Verás opciones como Optimizar tablas, Reparar tablas y Comprobar tablas.
- Selecciona Optimizar tablas. También puedes marcar Reparar tablas si has tenido errores recientes de conexión.
phpMyAdmin ejecutará la consulta OPTIMIZE TABLE en todas tus tablas. Esto compacta el espacio y reorganiza los datos. Verás un mensaje verde de éxito al final.
[TIP] Si tu base de datos es muy grande (más de 100 MB), este proceso puede tardar unos segundos. No cierres la pestaña hasta que veas el resultado.
Método 2: Usar la pestaña SQL para una optimización forzada
Si el método anterior no te convence o quieres ver qué hace exactamente, puedes usar SQL directamente:
- En phpMyAdmin, haz clic en tu base de datos.
- Ve a la pestaña SQL.
- Pega esta consulta:
OPTIMIZE TABLE wp_posts, wp_postmeta, wp_comments, wp_options, wp_term_relationships;
Esto optimiza las tablas más críticas de WordPress. Si tu prefijo de tabla no es wp_ (algunos hosts usan otro), cámbialo por el tuyo.
[INFO] El prefijo de las tablas de WordPress se puede ver en el archivo
wp-config.phpde tu servidor. Busca la línea$table_prefix = 'wp_';. Si no lo encuentras, no pasa nada, el método 1 funciona sin necesidad de saberlo.
Reparar tablas de WordPress: cuándo y cómo hacerlo
A veces, una tabla se corrompe. Esto puede deberse a una caída del servidor, a una importación fallida o a un plugin con errores. Los síntomas son claros: tu web da un error de "Error establishing a database connection" o te aparece un mensaje de "One or more database tables are unavailable".
Cómo reparar tablas desde Plesk
- Entra en phpMyAdmin como te enseñé antes.
- Selecciona la base de datos.
- Ve a la pestaña SQL.
- Escribe esta consulta:
REPAIR TABLE wp_posts, wp_options, wp_users;
Si no sabes cuál está dañada, puedes usar esta otra para reparar todas las que tengan errores:
REPAIR TABLE `wp_posts`, `wp_comments`, `wp_options`, `wp_postmeta`, `wp_terms`, `wp_term_taxonomy`, `wp_term_relationships`;
Después de ejecutarla, verás una tabla de resultados. Si la columna Msg_text dice OK, todo está bien. Si dice Error, tendrás que restaurar esa tabla desde tu copia de seguridad.
[WARNING] Reparar una tabla no siempre recupera los datos perdidos. Si la tabla está muy dañada, lo mejor es restaurar la copia de seguridad que hiciste antes de empezar.
Limpieza profunda: borrar revisiones y transients (la clave del rendimiento)
Optimizar las tablas es solo la mitad del trabajo. La otra mitad es eliminar la basura que hace que las tablas sean enormes. Aquí es donde realmente notarás la diferencia en la velocidad.
Borrar revisiones de entradas antiguas
Las revisiones son copias de seguridad de tus artículos mientras los editas. A la larga, llenan la tabla wp_posts con cientos de registros innecesarios.
Para borrarlas, ve a la pestaña SQL de tu base de datos en phpMyAdmin y ejecuta:
DELETE FROM wp_posts WHERE post_type = 'revision' AND post_status = 'inherit' AND post_date < NOW() - INTERVAL 30 DAY;
Este comando borra las revisiones que tengan más de 30 días. Puedes cambiar 30 por el número de días que quieras conservar.
[TIP] Si quieres evitar que WordPress cree tantas revisiones en el futuro, añade esta línea a tu archivo
wp-config.php:
define('WP_POST_REVISIONS', 5);
Esto limita WordPress a guardar solo las 5 últimas revisiones de cada entrada.
Eliminar transients caducados
Los transients son datos temporales que guardan los plugins y el propio WordPress. Se supone que deberían borrarse solos, pero a veces se quedan.
Ejecuta esta consulta para limpiar los transients caducados:
DELETE FROM wp_options WHERE option_name LIKE '_transient_%' AND option_name NOT LIKE '_transient_timeout_%' AND option_value < NOW() - INTERVAL 1 DAY;
Si quieres borrar todos los transients (aunque no hayan caducado), usa:
DELETE FROM wp_options WHERE option_name LIKE '_transient_%' OR option_name LIKE '_site_transient_%';
[INFO] Después de borrar transients, es normal que la web cargue un poco más lento en la primera visita, ya que los plugins tendrán que regenerarlos. Pero a partir de ahí, irá más rápida.
Limpiar comentarios spam
Si tienes muchos comentarios marcados como spam, están ocupando espacio en wp_comments. Bórralos con:
DELETE FROM wp_comments WHERE comment_approved = 'spam';
Optimizar MySQL desde Plesk: ajustes avanzados (pero fáciles)
Además de limpiar tablas, puedes ajustar la configuración de MySQL para que sea más eficiente. En Plesk, esto se hace desde la sección de Configuración de la base de datos.
Cambiar el motor de almacenamiento a InnoDB
WordPress funciona mejor con el motor InnoDB que con MyISAM. InnoDB soporta bloqueo a nivel de fila, lo que permite que varias personas escriban en la web a la vez sin conflictos.
Para ver qué motor usan tus tablas:
- En phpMyAdmin, haz clic en tu base de datos.
- Ve a la pestaña Estructura o Structure.
- Verás una columna llamada Tipo o Type. Si alguna tabla dice
MyISAM, puedes cambiarla.
Ejecuta esta consulta para convertir todas las tablas a InnoDB:
ALTER TABLE wp_posts ENGINE=InnoDB;
ALTER TABLE wp_postmeta ENGINE=InnoDB;
ALTER TABLE wp_comments ENGINE=InnoDB;
ALTER TABLE wp_options ENGINE=InnoDB;
[WARNING] No conviertas tablas con datos binarios grandes a InnoDB si no sabes lo que haces. En WordPress, las tablas principales son seguras de convertir.
Ajustar el tamaño del buffer de MySQL
En Plesk, puedes cambiar el innodb_buffer_pool_size. Este es el espacio en memoria que MySQL usa para cachear datos. Si tu servidor tiene más de 2 GB de RAM, puedes subirlo.
- Ve a Herramientas y ajustes en Plesk.
- Busca Configuración de MySQL o MySQL Server Configuration.
- Ajusta el parámetro
innodb_buffer_pool_sizea un valor como 256M o 512M. - Guarda los cambios y reinicia MySQL.
[TIP] No subas este valor sin saber cuánta RAM libre tienes. Si lo pones muy alto, el servidor puede quedarse sin memoria y caerse.
Cómo automatizar la optimización de la base de datos
Hacer esto a mano cada mes es un rollo. Por suerte, puedes automatizarlo con un cron job en Plesk.
Crear un cron job para optimizar MySQL
- En Plesk, ve a Sitios web y dominios y selecciona tu dominio.
- Busca la sección Programador de tareas o Cron jobs.
- Crea una nueva tarea.
- En el campo de comando, pega:
mysqlcheck -u TU_USUARIO -pTU_CONTRASEÑA --optimize --databases TU_BASE_DE_DATOS
Sustituye TU_USUARIO, TU_CONTRASEÑA y TU_BASE_DE_DATOS por los datos reales de tu base de datos.
[WARNING] No pongas espacios entre
-py la contraseña en el comando. Si tu contraseña tiene caracteres especiales, puede dar problemas. En ese caso, crea un archivo.my.cnfcon los datos de acceso.
- Elige la frecuencia: una vez a la semana es suficiente para la mayoría de las webs.
- Guarda la tarea.
Preguntas frecuentes (FAQ) sobre optimización de bases de datos
Aquí tienes las dudas más comunes que me encuentro en el soporte técnico:
¿Cada cuánto tiempo debo optimizar la base de datos de WordPress?
Para un blog personal o una web pequeña, una vez al mes es perfecto. Para tiendas online o webs con mucho tráfico, cada semana. Si notas que la web va lenta después de publicar mucho contenido, hazlo antes.
¿Es seguro usar phpMyAdmin para borrar datos?
Sí, si sabes lo que borras. Las consultas que te he dado son seguras y solo afectan a datos temporales o basura. Nunca borres registros de la tabla wp_users o wp_posts sin saber exactamente qué son.
¿Qué pasa si no tengo Plesk, uso otro panel como Syspanel?
Si usas Syspanel (antes conocido como HestiaCP), el proceso es muy similar. Accede a tu panel a través del puerto 2106 (por ejemplo, https://tu-servidor:2106), busca la sección de bases de datos y entra en phpMyAdmin. Las consultas SQL son exactamente las mismas.
¿Optimizar la base de datos puede romper mi web?
Si sigues los pasos de esta guía y haces una copia de seguridad previa, el riesgo es mínimo. Las consultas que te he dado son estándar y las usan miles de usuarios. El único peligro real es borrar datos que no debes, por eso insisto tanto en la copia de seguridad.
¿Necesito un plugin para optimizar la base de datos?
No, con phpMyAdmin es más que suficiente. Los plugins como WP-Optimize o Advanced Database Cleaner hacen lo mismo, pero añaden peso extra a tu web. Si prefieres la comodidad, puedes usarlos, pero el método manual es más limpio y te da control total.
¿Por qué mi base de datos sigue siendo grande después de optimizar?
Porque hay tablas que siempre tendrán un tamaño base (como wp_options o wp_posts). La optimización elimina la basura, pero no vacía las tablas. Si quieres reducir el tamaño físico, tendrías que purgar datos antiguos de forma agresiva, lo cual no recomiendo.
Conclusión: tu WordPress te lo agradecerá
Optimizar la base de datos de WordPress en Plesk no es una tarea de expertos. Con las consultas SQL que te he dado y un poco de paciencia, puedes hacer que tu web cargue mucho más rápido y que el servidor respire mejor.
Recuerda los tres pasos clave:
- Haz una copia de seguridad antes de tocar nada.
- Optimiza y repara las tablas desde phpMyAdmin.
- Limpia la basura (revisiones, transients y spam) con las consultas SQL.
Y si te da pereza hacerlo a mano, configura un cron job en Plesk para que lo haga solo. Tu futuro yo (y tus visitantes) te lo agradecerán.
Ahora ve, abre tu Plesk y dale un respiro a tu base de datos. ¡Tu web irá como un tiro! 🚀
