🎨 Sysprovider Code
Sysprovider LogoWiki
🇪🇸Hosting español para ecommerce

Optimizar el rendimiento de MySQL en WordPress: 10 consejos

Actualizado el 22 de noviembre de 2025

¿Tu WordPress va lento? A menudo, el culpable no está en el hosting, sino en la base de datos. Con el tiempo, MySQL acumula basura, tablas fragmentadas y consultas ineficientes que hacen que optimizar mysql wordpress se convierta en una tarea obligatoria para mantener la velocidad.

No te preocupes, no necesitas ser un experto en servidores. En esta guía te explico 10 consejos prácticos y accesibles para mejorar el rendimiento mysql y acelerar tu sitio. Vamos paso a paso, con un lenguaje claro y sin tecnicismos innecesarios.

¿Por qué tu WordPress y su base de datos se vuelven lentos?

Antes de empezar con los trucos, es clave entender el problema. WordPress base de datos lenta es un síntoma común cuando:

  • Se acumulan revisiones de entradas, transients (cachés temporales) y comentarios spam.
  • Las tablas de MySQL están fragmentadas (los datos están dispersos en el disco).
  • El servidor no tiene suficiente memoria para manejar las consultas.
  • Hay plugins que hacen consultas muy pesadas a la base de datos.

La buena noticia es que con mantenimiento regular y algunos ajustes, puedes revertir esta situación. Aquí van los 10 consejos que te cambiarán la vida.


1. Activa la caché de consultas de MySQL

Esta es una de las primeras cosas que debes revisar. La caché de consultas guarda el resultado de las peticiones más comunes. Si una misma consulta se repite (como la de tu portada), MySQL devuelve el resultado guardado sin volver a trabajar.

¿Cómo activarla?

Si tienes acceso a la terminal de tu servidor (vía SSH), edita el archivo de configuración de MySQL (normalmente my.cnf o my.ini).

Añade o modifica estas líneas:

query_cache_type = 1
query_cache_size = 128M
query_cache_limit = 1M

[INFO] Si usas un panel de control como Syspanel (acceso por el puerto 2106), puedes editar este archivo desde el administrador de archivos o la sección de bases de datos. Si no lo ves, pide a tu proveedor de hosting que lo active.

Después de guardar, reinicia el servicio MySQL. En la mayoría de sistemas, el comando es sudo systemctl restart mysql o sudo service mysql restart.


2. Elige el motor de almacenamiento InnoDB

WordPress funciona mejor con InnoDB que con MyISAM. Este motor soporta transacciones y bloqueos a nivel de fila, lo que reduce la contención y mejora el rendimiento mysql en sitios con mucho tráfico.

¿Cómo cambiarlo?

Puedes hacerlo desde phpMyAdmin (incluido en Syspanel) o con un plugin. Para cambiar todas las tablas de una vez, ejecuta esta consulta SQL en la pestaña "SQL" de phpMyAdmin:

SELECT CONCAT('ALTER TABLE ', TABLE_NAME, ' ENGINE=InnoDB;')
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA = 'tu_nombre_de_base_de_datos'
AND ENGINE = 'MyISAM';

Esto generará los comandos ALTER TABLE. Cópialos y ejecútalos.

[WARNING] Haz una copia de seguridad completa de tu base de datos antes de cambiar el motor. Aunque es un proceso seguro, es mejor prevenir.


3. Limpia los datos basura de tu WordPress

Esta es la tarea más gratificante. Optimizar mysql wordpress pasa por vaciar lo que no sirve. Los principales culpables son:

  • Revisiones de entradas: cada vez que guardas un borrador, se guarda una fila. Pueden ser cientos.
  • Transients: son cachés temporales que los plugins crean y a veces no borran.
  • Comentarios spam y papelera.

La forma más fácil: un plugin

Instala un plugin gratuito como "WP-Optimize" o "Advanced Database Cleaner". Con un clic puedes:

  • Eliminar revisiones antiguas.
  • Borrar transients caducados.
  • Limpiar la papelera y el spam.

También puedes hacerlo manualmente con SQL. Por ejemplo, para borrar todas las revisiones de entradas, ejecuta:

DELETE a,b,c
FROM wp_posts a
LEFT JOIN wp_term_relationships b ON (a.ID = b.object_id)
LEFT JOIN wp_postmeta c ON (a.ID = c.post_id)
WHERE a.post_type = 'revision';

4. Optimiza las tablas de MySQL (desfragmentación)

Cuando borras datos, los archivos de la base de datos quedan con huecos. Esto hace que las consultas sean más lentas. Optimizar las tablas reorganiza los datos y libera espacio.

Comando mágico

En phpMyAdmin, selecciona todas las tablas (botón "Marcar todas") y en el menú desplegable elige "Optimizar tablas". También puedes ejecutar:

OPTIMIZE TABLE wp_posts, wp_options, wp_postmeta;

[TIP] Haz esto una vez al mes. Es uno de los consejos más efectivos para el tuning mysql wordpress a nivel de mantenimiento básico.


5. Ajusta el índice de las tablas

Los índices son como el índice de un libro: ayudan a MySQL a encontrar datos rápidamente. Si no hay índices correctos, las consultas hacen escaneos completos de la tabla, lo que es lentísimo.

¿Qué índices revisar?

  • wp_options: asegúrate de que option_name esté indexado.
  • wp_postmeta: el campo post_id debe tener un índice.
  • wp_comments: el campo comment_post_ID.

Puedes añadir un índice con SQL:

ALTER TABLE wp_postmeta ADD INDEX post_id_index (post_id);

[WARNING] No añadas índices a todas las columnas. Demasiados índices ralentizan las inserciones y actualizaciones. Solo los necesarios para las consultas más comunes.


6. Configura el tamaño del búfer de InnoDB

Si tu base de datos usa InnoDB, el innodb_buffer_pool_size es el ajuste más importante. Este parámetro define cuánta memoria RAM dedicará MySQL a guardar datos e índices en caché.

Regla general

  • Sitios pequeños: 64M a 128M.
  • Sitios medianos: 256M a 512M.
  • Sitios grandes: 1G o más (si tu servidor tiene RAM suficiente).

En tu archivo my.cnf, busca o añade:

innodb_buffer_pool_size = 256M

[INFO] Si tu servidor tiene 4GB de RAM, puedes asignar 1GB a MySQL sin problema. Si solo tiene 1GB, quédate en 128M-256M para no agotar la memoria.


7. Desactiva plugins y temas que abusan de la base de datos

No todos los plugins son iguales. Algunos hacen consultas SQL en cada carga de página, incluso si no los estás usando. Esto es una receta para el desastre.

¿Cómo detectarlos?

  • Activa un plugin de rendimiento como "Query Monitor". Este te dice cuántas consultas se ejecutan en cada página y cuánto tardan.
  • Revisa la pestaña de "Consultas lentas" y verás qué plugin es el culpable.

Solución

  • Sustituye el plugin por una alternativa más ligera.
  • Si no lo usas, desactívalo y bórralo.
  • En el caso de los temas, los "page builders" suelen ser los peores. Si puedes, evita los que cargan scripts y estilos en todas las páginas.

8. Configura la partición de tablas grandes (avanzado)

Si tu tabla wp_postmeta o wp_options tiene millones de filas, la partición puede ayudar. Esto divide la tabla en partes más pequeñas basadas en un criterio (por ejemplo, fecha). MySQL solo consulta la partición relevante, no toda la tabla.

Ejemplo de partición por fecha

ALTER TABLE wp_posts
PARTITION BY RANGE (YEAR(post_date)) (
    PARTITION p2020 VALUES LESS THAN (2021),
    PARTITION p2021 VALUES LESS THAN (2022),
    PARTITION p2022 VALUES LESS THAN (2023),
    PARTITION p_future VALUES LESS THAN MAXVALUE
);

[WARNING] Esta técnica es avanzada y no apta para todos los servidores. Si no estás seguro, consulta a un administrador de sistemas o usa un hosting gestionado que lo haga por ti.


9. Usa un plugin de caché de base de datos

Además de la caché de consultas de MySQL, puedes usar una caché a nivel de aplicación. Plugins como W3 Total Cache o WP Super Cache ofrecen la opción de "Caché de base de datos".

¿Qué hace?

Guarda los resultados de las consultas en archivos o en memoria (Redis o Memcached). Así, cuando un usuario visita tu web, WordPress no tiene que preguntar a MySQL de nuevo, sino que lee la respuesta guardada.

Configuración recomendada

  • Instala el plugin.
  • Activa la opción de "Base de datos".
  • Elige el método de caché (si tienes Redis, úsalo; si no, usa el método de disco).

[TIP] Combina esto con la caché de páginas completas. El resultado es una web que carga en menos de 1 segundo, incluso con mucho tráfico.


10. Monitorea y ajusta los logs de consultas lentas

MySQL puede registrar todas las consultas que tardan más de X segundos. Esto es oro puro para detectar cuellos de botella.

Activar el log

En tu my.cnf, añade:

slow_query_log = 1
slow_query_log_file = /var/log/mysql/mysql-slow.log
long_query_time = 2

Esto registrará las consultas que tarden más de 2 segundos.

¿Cómo analizarlo?

Usa la herramienta mysqldumpslow para ver un resumen:

mysqldumpslow -s t /var/log/mysql/mysql-slow.log

Verás las consultas más lentas. Con esa información, puedes:

  • Añadir índices.
  • Optimizar la consulta.
  • Si es de un plugin, contactar al desarrollador.

Preguntas frecuentes (FAQ) sobre optimización de MySQL en WordPress

¿Con qué frecuencia debo optimizar mi base de datos?

Lo ideal es hacer una limpieza básica (revisiones y transients) cada semana. La optimización de tablas (desfragmentación) una vez al mes. Los ajustes de configuración, solo cuando notes lentitud o cambies de servidor.

¿Es seguro usar plugins para optimizar MySQL?

Sí, los plugins populares son seguros si haces una copia de seguridad antes. Eso sí, no abuses: algunos plugins de "limpieza" pueden borrar datos importantes si no están bien configurados.

¿Qué es mejor: MyISAM o InnoDB para WordPress?

InnoDB es la opción recomendada por WordPress.org. Es más robusto, soporta transacciones y funciona mejor con el modelo de datos de WordPress.

¿Por qué mi base de datos sigue lenta después de optimizar?

Puede ser que el problema no sea MySQL, sino el servidor web (Apache/Nginx), la falta de memoria PHP o un tema mal codificado. Revisa los logs de errores y las métricas de rendimiento generales.

¿Puedo optimizar MySQL desde Syspanel?

Sí, Syspanel (acceso por el puerto 2106) incluye phpMyAdmin y herramientas de gestión de bases de datos. Puedes ejecutar comandos SQL, optimizar tablas y gestionar usuarios desde allí.


Conclusión: La constancia es la clave

Optimizar mysql wordpress no es un trabajo de una sola vez. Es un hábito. Con estos 10 consejos, cubres desde lo básico (limpieza) hasta lo avanzado (particionado y logs). Empieza por los primeros cinco, que son los que te darán una mejora inmediata y no requieren conocimientos profundos de servidores.

Recuerda: una base de datos limpia y bien configurada es la base de un sitio rápido y escalable. Si tienes dudas, pregunta en los foros de soporte de tu hosting o a tu administrador de sistemas. ¡Tu WordPress (y tus visitantes) te lo agradecerán!

¿Necesitas ayuda?Son dos de nuestros técnicos, Agustín y Mikel, y están disponibles para resolver cualquier problema.

Hablar con ellos ahora
Agustín y Mikel