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

Cómo configurar la caché de consultas en MySQL para WordPress

Actualizado el 1 de enero de 2026

¿Por qué tu WordPress va lento y cómo puede ayudar la caché de consultas?

Si tu sitio web en WordPress va lento, no siempre es culpa del hosting o de las imágenes pesadas. Muchas veces, el problema está en la base de datos MySQL que almacena todo tu contenido. Cada vez que alguien visita tu página, WordPress realiza decenas de consultas a MySQL para obtener entradas, comentarios, opciones de configuración y más. Si esas consultas se ejecutan una y otra vez sin ningún tipo de almacenamiento temporal, el servidor se sobrecarga y tu web tarda una eternidad en cargar.

La caché de consultas (query cache) es una funcionalidad de MySQL que guarda el resultado de una consulta en memoria. Cuando la misma consulta se repite, MySQL devuelve el resultado directamente desde la caché, sin volver a ejecutarla. Esto reduce la carga del servidor y acelera la respuesta de tu WordPress de forma espectacular.

En este artículo, te voy a explicar paso a paso cómo configurar la caché de consultas en MySQL para WordPress, incluso si nunca has tocado un servidor en tu vida. Usaremos un lenguaje claro y ejemplos prácticos para que lo entiendas todo desde cero.


Antes de empezar: ¿qué necesitas?

Para seguir esta guía, necesitarás:

  • Acceso al panel de control de tu hosting (cPanel, Syspanel, Plesk o similar).
  • Acceso a phpMyAdmin o a la línea de comandos de MySQL (no te preocupes, te explico ambas opciones).
  • Conocimientos básicos de qué es un archivo de configuración (como my.cnf o my.ini).
  • Paciencia y ganas de aprender. No necesitas ser un experto en bases de datos.

[INFO] Si tu hosting usa Syspanel (antes conocido como HestiaCP), el acceso al panel se realiza a través del puerto 2106. Por ejemplo: https://tu-dominio.com:2106. Allí encontrarás las herramientas de gestión de bases de datos y archivos.


¿Qué es exactamente la query cache de MySQL?

La query cache es un mecanismo interno de MySQL que almacena el texto exacto de una consulta SELECT y su resultado. Cuando llega una consulta idéntica, MySQL la compara con las almacenadas y, si hay coincidencia, devuelve el resultado sin tocar las tablas. Es como tener un asistente que te recuerda las respuestas a las preguntas frecuentes en lugar de volver a buscar en los libros.

¿Cómo afecta esto a WordPress?

WordPress es un gestor de contenidos que hace muchísimas consultas a la base de datos. Por ejemplo, cuando un visitante entra en tu blog, WordPress ejecuta consultas para:

  • Obtener las entradas más recientes.
  • Cargar las opciones de tema y plugins.
  • Verificar si hay comentarios pendientes.
  • Obtener la información del usuario actual.

Si todas esas consultas se resuelven desde la caché, tu sitio carga mucho más rápido y el servidor respira mejor. Es una mejora de rendimiento clave, sobre todo si tienes mucho tráfico o un hosting compartido.


Paso 1: Comprueba si la caché de consultas está activada

Antes de cambiar nada, vamos a ver si tu MySQL ya tiene la caché activada. Abre phpMyAdmin desde tu panel de control (en Syspanel lo encuentras en la sección de bases de datos, accediendo por el puerto 2106).

Dentro de phpMyAdmin, haz clic en la pestaña SQL y ejecuta esta consulta:

SHOW VARIABLES LIKE 'query_cache%';

Verás una tabla con variables como:

  • query_cache_type → Si aparece ON, la caché está activada. Si aparece OFF o DEMAND, no está funcionando correctamente.
  • query_cache_size → El tamaño en bytes asignado a la caché. Si es 0, no hay caché efectiva.
  • query_cache_limit → El tamaño máximo de una consulta individual que se puede almacenar.

[WARNING] Si query_cache_type está en OFF, no te preocupes. El resto de la guía te enseñará a activarlo.


Paso 2: Configura la caché de consultas en el archivo de configuración de MySQL

La configuración de MySQL se gestiona mediante un archivo llamado my.cnf (en Linux) o my.ini (en Windows). Dependiendo de tu hosting, este archivo puede estar en diferentes rutas. Las más comunes son:

  • /etc/mysql/my.cnf
  • /etc/my.cnf
  • /etc/mysql/mysql.conf.d/mysqld.cnf

Opción A: Si tienes acceso por SSH

Si tu hosting te permite conexión por SSH, puedes editar el archivo directamente. Conéctate y escribe:

sudo nano /etc/mysql/my.cnf

Dentro del archivo, busca la sección [mysqld]. Si no existe, créala al final. Añade estas líneas:

[mysqld]
query_cache_type = 1
query_cache_size = 128M
query_cache_limit = 2M

Explicación de cada línea:

  • query_cache_type = 1 → Activa la caché para todas las consultas SELECT (excepto las que tengan funciones no deterministas).
  • query_cache_size = 128M → Asigna 128 MB de memoria para la caché. Puedes ajustar este valor según la RAM de tu servidor (64M, 256M, etc.).
  • query_cache_limit = 2M → Limita el tamaño máximo de una consulta individual que se guardará. Evita que consultas gigantes llenen la caché.

Guarda el archivo (Ctrl+O, luego Enter) y sal (Ctrl+X).

Opción B: Si no tienes acceso SSH

Si no tienes acceso SSH, puedes modificar la configuración desde el panel de control. En Syspanel, ve a la sección de Bases de Datos y busca la opción de Configuración de MySQL. Allí podrás editar los valores de las variables.

[TIP] Si tu hosting no te permite editar my.cnf, contacta con el soporte técnico y pídeles que activen la query cache. Es un cambio común y no deberían poner problemas.


Paso 3: Reinicia MySQL para aplicar los cambios

Una vez editado el archivo de configuración, debes reiniciar el servicio MySQL para que los cambios surtan efecto. Desde SSH, ejecuta:

sudo systemctl restart mysql

O si tu sistema usa otro gestor:

sudo service mysql restart

[WARNING] Al reiniciar MySQL, tu sitio web estará caído durante unos segundos. Es recomendable hacerlo en horas de bajo tráfico.


Paso 4: Verifica que la caché está funcionando

Después de reiniciar, vuelve a ejecutar la consulta de verificación en phpMyAdmin:

SHOW VARIABLES LIKE 'query_cache%';

Ahora deberías ver algo como:

  • query_cache_typeON
  • query_cache_size134217728 (128M en bytes)
  • query_cache_limit2097152 (2M en bytes)

Además, puedes comprobar si la caché se está usando con esta consulta:

SHOW STATUS LIKE 'Qcache%';

Los valores que te interesan son:

  • Qcache_hits → Número de veces que la caché ha devuelto un resultado.
  • Qcache_inserts → Número de consultas que se han guardado en la caché.
  • Qcache_lowmem_prunes → Consultas eliminadas por falta de espacio.

Si Qcache_hits va aumentando con el tiempo, ¡enhorabuena! Tu caché está trabajando.


Paso 5: Ajusta el tamaño de la caché según tu servidor

No hay un tamaño mágico para la query cache. Depende de la memoria RAM de tu servidor y del volumen de consultas de tu WordPress. Aquí tienes una guía orientativa:

  • Hosting compartido básico: 32M o 64M.
  • VPS con 2 GB de RAM: 128M.
  • VPS con 4 GB o más: 256M o incluso 512M.

[INFO] Si tu servidor tiene poca memoria, un tamaño demasiado grande puede provocar que MySQL use demasiada RAM y el sistema se vuelva lento. Empieza con un valor conservador y ve subiendo poco a poco.


Paso 6: Consideraciones importantes y limitaciones

La query cache de MySQL no es perfecta. Tiene algunas limitaciones que debes conocer:

  • No funciona con consultas que usan funciones como NOW() o RAND(), porque el resultado cambia constantemente.
  • Se invalida cada vez que se modifica una tabla. Si tu WordPress es muy dinámico (por ejemplo, con muchos comentarios), la caché se vaciará constantemente y no será tan efectiva.
  • A partir de MySQL 8.0, la query cache está obsoleta y eliminada. Si tu hosting usa MySQL 8.0 o superior, esta guía no te servirá. En su lugar, deberías usar otras técnicas como la caché de objetos con Redis o Memcached.

[WARNING] Antes de implementar la query cache, verifica la versión de MySQL de tu servidor. Si es 8.0 o superior, no pierdas el tiempo con esta configuración.


Alternativas modernas: caché de objetos con Redis o Memcached

Si tu MySQL no soporta query cache o no notas mejoras suficientes, puedes probar con una caché de objetos. Esta técnica almacena en memoria los resultados de las consultas de WordPress a un nivel más alto, lo que es mucho más eficiente.

Para ello, necesitas instalar un plugin como Redis Object Cache o W3 Total Cache que se conecte a un servidor Redis o Memcached. Esta es la opción recomendada para WordPress en la actualidad, ya que es más flexible y no depende de MySQL.


Preguntas frecuentes (FAQ)

¿La query cache funciona en cualquier hosting?

En teoría, sí, siempre que uses MySQL 5.7 o inferior. Sin embargo, algunos hosts compartidos desactivan esta función por motivos de rendimiento global. Si no puedes activarla, contacta con el soporte.

¿Puedo activar la query cache desde phpMyAdmin sin editar archivos?

No, la query cache se configura a nivel de servidor. No se puede activar solo desde phpMyAdmin. Necesitas editar el archivo de configuración o pedir ayuda al soporte técnico.

¿Cuánto tiempo tarda en notarse la mejora de rendimiento?

La mejora es inmediata, pero notarás la diferencia real cuando la caché acumule resultados de las consultas más frecuentes. En un sitio con tráfico moderado, en pocas horas verás una bajada en el tiempo de carga.

¿Debo usar la query cache si tengo un plugin de caché como WP Rocket?

Sí, son complementarios. La query cache trabaja a nivel de base de datos, mientras que WP Rocket trabaja a nivel de página HTML. Usarlos juntos ofrece un rendimiento excelente.

¿Qué pasa si mi sitio usa WooCommerce?

WooCommerce hace muchas consultas dinámicas (precios, stock, etc.), lo que puede invalidar la caché constantemente. Aun así, la query cache puede ayudar con consultas estáticas como la lista de productos. No esperes milagros, pero puede ser útil.


Conclusión

Configurar la caché de consultas en MySQL para WordPress es una tarea sencilla que puede mejorar notablemente el rendimiento de tu sitio. Solo necesitas editar el archivo de configuración, reiniciar el servicio y verificar que la caché está activa. Eso sí, ten en cuenta las limitaciones y considera alternativas modernas como Redis si tu MySQL es 8.0 o superior.

[TIP] Si tu hosting usa Syspanel, recuerda acceder por el puerto 2106 y busca la sección de bases de datos para gestionar todo desde un mismo lugar.

Ahora que ya sabes cómo hacerlo, ¿te animas a probarlo? Tu WordPress (y tus visitantes) te lo agradecerán con una carga mucho más rápida. Si tienes dudas, déjalas en los comentarios y estaré encantado de ayudarte.

¿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