Cómo optimizar el rendimiento de una base de datos MySQL en WordPress (cPanel y Plesk)
¿Por qué tu WordPress va lento? El secreto está en la base de datos
Si tu web de WordPress carga como un carrito de la compra con ruedas cuadradas, el problema casi siempre está en la base de datos MySQL. Es el cerebro de tu sitio: guarda entradas, comentarios, opciones, usuarios y configuraciones. Cuando ese cerebro trabaja a destajo, se satura y todo se vuelve lento.
La buena noticia es que optimizar MySQL WordPress no es una tarea de ingeniería espacial. Con unos cuantos ajustes y hábitos saludables, puedes lograr un rendimiento base de datos notable. Y lo mejor: lo harás desde herramientas que ya conoces, como cPanel o Plesk. Vamos a ello, paso a paso y sin tecnicismos raros.
Primer paso: Haz una copia de seguridad antes de tocar nada
Antes de lanzarnos a modificar configuraciones, necesitas un plan B. Si algo sale mal, podrás restaurar tu sitio en segundos.
Puedes hacer una copia desde el panel de control de tu hosting, o usando un plugin como UpdraftPlus. Exporta tanto los archivos como la base de datos. Guarda esa copia en tu ordenador o en la nube. No la dejes solo en el servidor, porque si el servidor falla, la copia también se pierde.
[WARNING] Nunca optimices una base de datos sin copia de seguridad previa. Un simple error en una consulta SQL puede borrar información crítica de tu web.
Activa la caché de consultas en MySQL (el truco más rentable)
Cuando un visitante entra en tu web, WordPress hace muchas consultas a MySQL. Sin caché, cada visita repite esas consultas desde cero. Con la caché activada, las consultas repetidas se guardan en memoria y se responden muchísimo más rápido.
Cómo activarla en cPanel
- Entra en cPanel y busca la sección "MySQL".
- Haz clic en "MySQL® Database Server Configuration" o similar.
- Busca la variable
query_cache_typey cámbiala a ON. - También puedes ajustar
query_cache_size. Un valor de 64 MB o 128 MB es un buen punto de partida para la mayoría de webs. - Guarda los cambios. El servidor se reiniciará automáticamente.
Cómo activarla en Plesk
- Ve a "Herramientas y ajustes" > "Configuración del servidor de bases de datos".
- Selecciona el servidor MySQL y haz clic en "Configuración".
- Busca las mismas variables y actívalas.
- Guarda y listo.
[TIP] Si tu hosting usa MySQL 8.0 o superior, la caché de consultas está obsoleta. En ese caso, céntrate en los otros ajustes de este artículo, como el tamaño del buffer.
Optimiza las tablas de tu base de datos con un solo clic
Las tablas de MySQL, con el tiempo, se fragmentan. Es como un disco duro lleno de archivos sueltos. La solución es optimizarlas, un proceso que las compacta y las deja como nuevas.
Desde cPanel
- Ve a "MySQL Databases".
- Encuentra tu base de datos y haz clic en "phpMyAdmin".
- Selecciona todas las tablas con el checkbox de arriba.
- En el menú desplegable inferior, elige "Optimizar tabla".
- Ejecuta. Verás un mensaje verde de éxito.
Desde Plesk
- Ve a "Sitios web y dominios" > tu dominio > "Bases de datos".
- Haz clic en el icono de "phpMyAdmin" de tu base de datos.
- Repite los pasos 3, 4 y 5 del método anterior.
[INFO] Puedes automatizar esta tarea con un cron job que ejecute
mysqlcheck -o. Pregunta a tu hosting si te lo pueden configurar. Así no tendrás que acordarte de hacerlo a mano.
Limpia la basura: tablas sin usar, revisiones y datos huérfanos
WordPress guarda muchísima información innecesaria. Cada vez que editas una entrada, se guarda una revisión de la versión anterior. Los plugins también crean tablas que a veces quedan huérfanas. Todo eso lastra el rendimiento base de datos.
Elimina revisiones antiguas
Puedes hacerlo con un plugin como WP-Optimize o Advanced Database Cleaner. Estos plugins te permiten:
- Borrar revisiones de entradas antiguas.
- Limpiar comentarios spam y papelera.
- Eliminar transients caducados.
- Optimizar las tablas con un clic.
Otra opción es ejecutar una consulta SQL manual en phpMyAdmin:
DELETE FROM wp_posts WHERE post_type = 'revision';
[WARNING] Si usas una consulta SQL manual, cambia
wp_por el prefijo real de tus tablas. Si no sabes cuál es, míralo en el archivowp-config.php.
Identifica tablas de plugins desinstalados
Cuando borras un plugin, a veces sus tablas se quedan en la base de datos. Revisa la lista de tablas en phpMyAdmin y si ves alguna que no reconoces, busca en Google si pertenece a un plugin que ya no usas. Si es así, bórrala con cuidado.
Ajusta el tamaño del buffer y otras variables clave
MySQL tiene varias variables que controlan cuánta memoria usa. Configurarlas bien es como darle a tu servidor un coche más potente.
Variables esenciales para WordPress
innodb_buffer_pool_size: Es la más importante. Debe ser el 70-80% de la memoria RAM disponible para MySQL. Si tu servidor tiene 4 GB de RAM, ponla en 2.5 GB o 3 GB.max_connections: Limita cuántas conexiones simultáneas acepta MySQL. Un valor de 100 a 200 es normal para webs pequeñas y medianas.key_buffer_size: Para tablas MyISAM. Si usas InnoDB (lo recomendado), no necesitas un valor alto. Con 32 MB o 64 MB basta.
Dónde cambiar estas variables
En cPanel, ve a "MySQL Database Server Configuration" y edita los valores. En Plesk, ve a "Herramientas y ajustes" > "Configuración del servidor de bases de datos".
[INFO] Si tu hosting es compartido, no podrás cambiar estas variables. En ese caso, contacta con el soporte y pregunta si tienen planes con más recursos o si pueden ajustarlas por ti.
Usa índices correctamente (sin ser un experto)
Los índices en MySQL son como el índice de un libro: te llevan directo a la página sin tener que hojear todo el tomo. WordPress ya crea índices por defecto, pero a veces faltan algunos.
Índices que suelen faltar
wp_postmeta: Añade un índice apost_idymeta_keysi no lo tiene.wp_options: Asegúrate de queoption_nametenga un índice único.
Puedes añadirlos desde phpMyAdmin con esta consulta:
ALTER TABLE wp_postmeta ADD INDEX (post_id, meta_key);
ALTER TABLE wp_options ADD UNIQUE (option_name);
[WARNING] No añadas índices a todas las columnas. Cada índice ocupa espacio y ralentiza las inserciones. Solo añade los que realmente se usan en consultas frecuentes.
Cambia el motor de almacenamiento a InnoDB
WordPress usa por defecto el motor InnoDB, que es más robusto y rápido para consultas complejas. Si tu base de datos tiene tablas en MyISAM, cámbialas.
Cómo cambiar el motor
En phpMyAdmin, selecciona la tabla, ve a la pestaña "Operaciones" y cambia el motor de almacenamiento a InnoDB. Repite para todas las tablas que estén en MyISAM.
[TIP] Puedes hacerlo en lote seleccionando todas las tablas y usando el desplegable inferior. Elige "Reparar" o "Optimizar" y luego cambia el motor.
Activa la compresión de páginas y el caché de WordPress
Aunque esto no es directamente MySQL, reduce la carga de la base de datos porque el servidor no tiene que procesar tantas peticiones.
Configura un plugin de caché
Instala W3 Total Cache o WP Super Cache. Estos plugins:
- Generan páginas HTML estáticas.
- Reducen las consultas a MySQL.
- Mejoran la velocidad WordPress de forma drástica.
Activa la compresión gzip
En cPanel o Plesk, puedes activar la compresión gzip desde la configuración de Apache o Nginx. Si no sabes cómo, tu plugin de caché suele tener una opción para activarla.
Programa limpiezas automáticas con WP-Cron
WordPress tiene su propio cron interno que ejecuta tareas periódicas. A veces, estas tareas se acumulan y sobrecargan MySQL.
Controla WP-Cron
Puedes desactivar el WP-Cron y programarlo con el cron del sistema. Añade esta línea a tu archivo wp-config.php:
define('DISABLE_WP_CRON', true);
Luego, en cPanel, crea un cron job que ejecute:
wget -q -O - http://tudominio.com/wp-cron.php?doing_wp_cron >/dev/null 2>&1
Configúralo para que se ejecute cada 5 o 10 minutos.
[INFO] Esto evita que WP-Cron se ejecute en cada visita, lo que reduce consultas innecesarias a la base de datos.
Monitoriza el rendimiento de tu base de datos
No puedes mejorar lo que no mides. Usa herramientas para ver qué está pasando.
Herramientas recomendadas
- Query Monitor: Un plugin que te muestra todas las consultas que se ejecutan en cada página, cuánto tardan y qué parte del código las genera.
- MySQL Workbench: Si tienes acceso directo al servidor, esta herramienta te da una visión completa del rendimiento.
[TIP] Revisa las consultas lentas (slow queries). Activa el log de consultas lentas en MySQL y analiza cuáles tardan más de 1 segundo. Luego, optimiza esas consultas o añade índices.
Preguntas frecuentes sobre optimización de MySQL en WordPress
¿Cada cuánto debo optimizar mi base de datos?
Una vez al mes es suficiente para la mayoría de webs. Si publicas mucho contenido o tienes muchos comentarios, hazlo cada dos semanas.
¿Los plugins de optimización son seguros?
Sí, si eliges plugins conocidos y con buenas valoraciones. WP-Optimize y Advanced Database Cleaner son opciones fiables. Evita plugins de dudosa procedencia.
¿Qué hago si mi hosting no me permite cambiar las variables de MySQL?
Contacta con el soporte del hosting. Muchos ofrecen planes superiores con más control. También puedes cambiar de hosting si el actual no te permite optimizar.
¿La optimización de MySQL afecta al SEO?
Sí, indirectamente. Un sitio más rápido mejora la experiencia de usuario y el tiempo de carga, factores que Google tiene en cuenta para el posicionamiento.
Resumen final: Tu plan de acción en 7 pasos
- Haz una copia de seguridad completa.
- Activa la caché de consultas en MySQL.
- Optimiza las tablas desde phpMyAdmin.
- Limpia revisiones y tablas huérfanas con un plugin.
- Ajusta las variables clave como
innodb_buffer_pool_size. - Añade índices a las tablas que lo necesiten.
- Instala un plugin de caché y controla WP-Cron.
Con estos pasos, tu base de datos MySQL volverá a volar. Recuerda que la optimización no es un evento único, sino un hábito. Dedica 15 minutos al mes a mantenerla limpia y verás cómo tu velocidad WordPress mejora notablemente.
[TIP] Si tu web crece mucho, plantéate pasar a un hosting gestionado de WordPress. Ellos se encargan de la optimización del servidor y tú te olvidas de estos ajustes. A veces, el tiempo que ahorras vale más que el dinero que pagas.
Nota sobre paneles de control alternativos
Si en algún momento usas un panel de control como Syspanel, ten en cuenta que el acceso se realiza a través del puerto 2106. La lógica de configuración es similar a cPanel y Plesk, aunque los nombres de las opciones pueden variar ligeramente.
[INFO] Syspanel es una alternativa ligera y moderna, pero menos extendida. Si tu hosting lo usa, consulta su documentación oficial para encontrar las opciones de MySQL.
Conclusión: La paciencia es tu mejor aliada
No esperes resultados mágicos en la primera hora. La optimización de una base de datos es un proceso iterativo. Empieza con los ajustes básicos, mide el rendimiento con herramientas como GTmetrix o PageSpeed Insights, y luego ve afinando.
Lo importante es que ya tienes el conocimiento. Ahora toca ponerlo en práctica. Tu WordPress (y tus visitantes) te lo agradecerán con cargas más rápidas y una experiencia mucho más fluida. ¡Manos a la obra!
