Cómo mejorar la velocidad de WordPress con caché en Plesk
¿Por qué tu WordPress en Plesk va lento y cómo el caché lo soluciona?
Si tienes un sitio web en WordPress alojado en un servidor con Plesk, es muy probable que en algún momento hayas notado que las páginas tardan en cargar. No te preocupes, no es un problema exclusivo tuyo. La velocidad es uno de los factores más críticos para el éxito de una web, tanto para la experiencia del usuario (UX) como para el posicionamiento en buscadores (SEO). Google penaliza las webs lentas, y los visitantes abandonan si una página tarda más de 3 segundos en cargar.
La buena noticia es que, en la mayoría de los casos, la solución no es comprar un servidor más caro, sino optimizar el uso de los recursos que ya tienes. La clave está en el caché. Piénsalo así: si tienes que cocinar una cena para 100 personas, ¿prepararías cada plato desde cero cuando llega cada invitado? No. Cocinarías todo por adelantado o tendrías los ingredientes listos. El caché hace exactamente eso con tu web. Almacena versiones "ya cocinadas" de tus páginas para servirlas al instante.
En este artículo, te voy a guiar paso a paso para que actives y configures el caché en tu servidor Plesk, centrándonos en las herramientas más potentes: Varnish y Redis. Con estas técnicas, tu WordPress volará y notarás una mejora drástica en la velocidad y en tu puntuación de PageSpeed Insights.
Entendiendo el problema: PHP y las peticiones dinámicas
Antes de empezar a configurar nada, es fundamental entender por qué WordPress es lento sin caché.
WordPress está construido con PHP. Cada vez que un visitante entra a tu web, el servidor tiene que ejecutar una serie de scripts PHP para "construir" la página desde cero. Esto implica:
- Consultar la base de datos (MySQL/MariaDB) para obtener los artículos, comentarios, ajustes, etc.
- Ejecutar todos los plugins y el tema para generar el HTML.
- Enviar ese HTML final al navegador del visitante.
Si tienes 100 visitantes a la vez, el servidor tiene que repetir este proceso 100 veces. Esto consume muchísima CPU y memoria. Con un caché, el proceso cambia por completo: se genera la página una sola vez, se guarda una copia y, para los siguientes 99 visitantes, se les envía esa copia directamente. El resultado es una carga instantánea y un servidor con una carga mínima.
El arsenal de caché en Plesk: Varnish y Redis
Plesk es un panel de control muy completo que integra de serie varias soluciones de caché. Las dos más importantes para WordPress son:
Varnish (Caché de Página Completa)
Varnish es un acelerador HTTP. Se coloca "delante" de tu servidor web (Apache o Nginx). Cuando un visitante pide una página, Varnish intercepta la petición. Si ya tiene una copia en su memoria, la responde al instante, sin molestar a PHP ni a la base de datos.
Es la solución más efectiva para mejorar la velocidad WordPress Plesk, ya que reduce el tiempo de respuesta de milisegundos. Es perfecto para el tráfico mayoritariamente anónimo (visitantes que no han iniciado sesión).
Redis (Caché de Objetos)
Redis es una base de datos en memoria, ultrarrápida. En el contexto de WordPress, se usa para almacenar las consultas a la base de datos y los objetos de PHP. En lugar de que WordPress pregunte a MySQL "¿cuál es el título de este post?" cada vez, Redis guarda esa respuesta en su memoria y la entrega al instante.
Es especialmente útil para:
- WooCommerce, ya que gestiona carritos y sesiones de usuario de forma dinámica.
- Sitios con usuarios registrados.
- Plugins de caché como W3 Total Cache o WP Rocket, que pueden conectarse a Redis para funcionar de forma mucho más eficiente.
En resumen: Varnish acelera la entrega de páginas a visitantes anónimos, y Redis acelera el motor de WordPress para tareas dinámicas. No son excluyentes, se complementan a la perfección.
Guía Paso a Paso: Activar Varnish en Plesk
Vamos a la acción. Sigue estos pasos para activar Varnish en tu servidor Plesk.
1. Accede al Panel de Control
Inicia sesión en Plesk como administrador (o con un usuario que tenga permisos de administración).
2. Localiza la Herramienta de Caché
En el menú lateral izquierdo, busca la sección "Herramientas y utilidades" o "Configuración del servidor". Dentro, encontrarás un icono llamado "Caché de proxy" o "Configuración de Varnish". Haz clic en él.
3. Instala Varnish
Si es la primera vez que lo usas, Plesk te pedirá que lo instales. Sigue el asistente. La instalación puede tardar un par de minutos. Acepta los términos y espera a que termine.
4. Configura los Ajustes Básicos
Una vez instalado, verás la pantalla de configuración. Lo más importante es:
- Estado: Activa el interruptor para habilitar Varnish a nivel global.
- Puerto de escucha: Por defecto, Varnish usa el puerto 80. Para que funcione correctamente, debe escuchar en este puerto y el servidor web (Apache) en otro (normalmente el 8080). Plesk hará esta configuración automáticamente. Es crucial que tu dominio apunte a este puerto.
- Modo de purga: Te recomendamos seleccionar "Purga por URL" o "Purga por host". Esto permitirá que, cuando actualices un post en WordPress, el caché de esa página se borre automáticamente y se regenere con el contenido nuevo.
5. Configura el Dominio
En la misma pantalla, verás una lista de tus dominios. Marca la casilla junto al dominio (o dominios) en los que quieras activar Varnish. Plesk configurará automáticamente el reenvío de peticiones.
6. Verifica la Configuración
Para asegurarte de que todo funciona, puedes usar el siguiente comando en la terminal SSH (si tienes acceso):
curl -I http://tu-dominio.com
Si la respuesta incluye una cabecera que dice Via: 1.1 varnish-v4 o X-Varnish:, ¡enhorabuena!, Varnish está funcionando.
[WARNING]
Si usas SSL (HTTPS), asegúrate de que Varnish está configurado para manejar el tráfico. Plesk suele gestionar esto automáticamente, pero a veces requiere que el certificado SSL se configure en el propio Varnish. Si ves errores de conexión, revisa esta parte.
Guía Paso a Paso: Activar Redis en Plesk
Activar Redis es igual de sencillo y complementa a Varnish.
1. Accede a la Configuración de Redis
En el mismo menú de "Herramientas y utilidades", busca el icono "Redis". Haz clic para entrar.
2. Instala e Inicia el Servidor
Plesk te mostrará el estado de Redis. Si no está instalado, haz clic en "Instalar". Una vez instalado, inicia el servicio con el botón correspondiente.
3. Configura la Memoria
En la configuración, podrás ajustar la cantidad de memoria RAM que Redis puede usar. Un valor inicial razonable es 128 MB o 256 MB. Si tu servidor tiene mucha RAM (8 GB o más), puedes asignarle 512 MB o incluso 1 GB sin problema. Recuerda que Redis es rápido porque vive en la RAM, así que más memoria significa más espacio para guardar datos.
4. Conecta WordPress a Redis
Plesk no conecta Redis a WordPress automáticamente. Necesitas un plugin para ello. Los más populares son:
- Redis Object Cache: Es el más sencillo y recomendado. Solo tienes que instalarlo y activarlo. Irá a Ajustes -> Redis y hará clic en "Enable Object Cache". El plugin se conectará automáticamente a Redis en
localhosten el puerto6379. - W3 Total Cache: Un plugin más complejo, pero muy potente. En su configuración, en la pestaña "Object Cache", deberás seleccionar "Redis" como método y rellenar los datos del servidor (host:
localhost, puerto:6379).
[TIP]
Si usas el plugin WP Rocket para el caché de página, te recomiendo que en su configuración actives la opción de "Caché de objetos" y elijas Redis. Funciona de maravilla y es mucho más sencillo de configurar que W3 Total Cache.
Optimización Avanzada: Configurando Nginx como Proxy
Aunque Varnish es ideal, otra técnica muy común en el hosting es usar Nginx como proxy inverso en lugar de (o además de) Apache. Plesk facilita esto con su función "Proxy mode" en la configuración de Nginx.
¿Cómo funciona?
En lugar de que Apache procese todas las peticiones, Nginx se encarga de servir los archivos estáticos (imágenes, CSS, JavaScript) y de pasar las peticiones dinámicas a Apache (o PHP-FPM). Esto reduce la carga en Apache y acelera la entrega de contenido.
Actívalo en Plesk
- Ve a tu dominio en Plesk.
- Entra en "Apache y nginx".
- Marca la casilla "Modo proxy" (o "Proxy mode").
- Guarda los cambios.
Nginx ahora actuará como un portero eficiente, sirviendo los archivos que no necesitan procesamiento PHP a la velocidad del rayo.
[INFO]
Esta configuración de Nginx es especialmente útil si no quieres usar Varnish. Puedes usar Nginx como caché de página completa si instalas el módulongx_cache_purgey lo configuras, aunque Varnish es más potente para este fin. La combinación ganadora suele ser: Nginx (estático) + Varnish (dinámico) + Redis (objetos).
5 Plugins de Caché para WordPress que debes conocer
Aunque el caché a nivel de servidor es fundamental, los plugins de caché de WordPress te dan un control más fino sobre cómo se cachea tu contenido. Aquí tienes los mejores:
- WP Rocket: El rey indiscutible. Es de pago, pero vale cada céntimo. Es muy fácil de configurar y aplica las mejores prácticas de optimización automáticamente. Se integra perfectamente con Redis y Varnish.
- W3 Total Cache: Gratuito y muy potente, pero con una curva de aprendizaje empinada. Te permite configurar caché de página, de objetos, de base de datos y de navegador. Es ideal si te gusta tener el control total.
- LiteSpeed Cache: Si tu servidor usa el servidor web LiteSpeed (común en algunos hosts), este plugin es imprescindible. Es gratuito y extremadamente rápido.
- WP Super Cache: Un clásico gratuito. Genera archivos HTML estáticos de tus páginas. Es una buena opción para principiantes por su simplicidad.
- Cache Enabler: Un plugin minimalista y muy ligero. Genera caché de página y la guarda en disco. Perfecto si buscas una solución simple sin tantas opciones.
[TIP]
No uses dos plugins de caché de página a la vez. Por ejemplo, no actives WP Rocket y W3 Total Cache simultáneamente. Solo causarán conflictos y errores. Elige uno y quédate con él. Lo normal es usar uno de estos plugins y el caché de servidor (Varnish/Redis).
Configuración Recomendada para WooCommerce
Si tienes una tienda online, la configuración del caché es más delicada. No quieres que un cliente vea el carrito de otro.
La Estrategia Perfecta
- Varnish: Actívalo, pero asegúrate de que NO cachea las páginas del carrito, checkout y mi cuenta. Puedes configurar las reglas de purga en Plesk o usar un plugin como WP Rocket, que se encarga de excluir estas páginas automáticamente.
- Redis: Es tu mejor amigo aquí. Almacenará las sesiones de usuario y los carritos de forma segura y rápida. Es la solución estándar para WooCommerce.
- Plugin de caché: Usa WP Rocket o W3 Total Cache y activa la caché de objetos con Redis. También desactiva la caché de página para usuarios que hayan iniciado sesión (esto lo hacen por defecto).
Con esta combinación, tu tienda será rápida para los visitantes anónimos y mantendrá la funcionalidad dinámica para tus clientes.
Errores Comunes y Soluciones (FAQ)
Aquí te dejo una lista de problemas típicos y cómo solucionarlos.
1. "He activado Varnish y mi web da error 503"
Esto suele pasar porque Varnish no puede comunicarse con el servidor web (Apache). Las causas comunes son:
- Apache está caído: Verifica que Apache esté corriendo en Plesk.
- Configuración de puertos incorrecta: Varnish escucha en el puerto 80 y Apache en el 8080. Si Apache está configurado para escuchar en el 80, hay conflicto. Plesk debería gestionarlo, pero si lo has tocado manualmente, revísalo.
- Reglas de Firewall: Asegúrate de que el firewall del servidor permite el tráfico en los puertos 80 y 8080.
2. "Los cambios en mi web no se ven por el caché"
Es normal. El caché está sirviendo la versión antigua. Soluciones:
- Purgar el caché: En Plesk, en la sección de Varnish, hay un botón para "Purgar" todo el caché. Hazlo y listo.
- Usar el plugin: Si usas WP Rocket, ve a su configuración y haz clic en "Vaciar caché". También puedes configurarlo para que purgue el caché de Varnish automáticamente cuando actualices un post.
3. "Redis no conecta con WordPress"
- Verifica que el servicio Redis esté corriendo: En Plesk, en la sección de Redis, el estado debe ser "Activo".
- Comprueba el puerto y host: Por defecto, Redis corre en
localhost(127.0.0.1) y el puerto6379. Asegúrate de que el plugin de WordPress usa estos datos. - Permisos: En algunos casos, Redis requiere una contraseña. Si la has configurado, tendrás que indicarla en el plugin.
4. "¿Es mejor Varnish o Redis?"
No es una competición. Son complementarios. Varnish acelera la entrega de páginas completas a usuarios anónimos. Redis acelera las consultas a la base de datos y las sesiones de usuario. Para un rendimiento óptimo, úsalos juntos.
5. "Mi hosting es con Syspanel (HestiaCP), ¿esto funciona igual?"
Esta guía está enfocada a Plesk. Si tu proveedor usa Syspanel (también conocido como HestiaCP), el proceso es diferente. Accede a tu panel a través del puerto 2106 (por ejemplo, https://tu-servidor:2106). En Syspanel, la gestión del caché suele hacerse a través de la terminal con comandos, o directamente desde el propio WordPress con plugins. No tiene una interfaz gráfica tan integrada como Plesk para Varnish. Te recomiendo buscar tutoriales específicos para Syspanel (HestiaCP) o contactar con tu proveedor de hosting.
6. "¿Y si mi web sigue lenta después de esto?"
Si has activado Varnish y Redis y aún notas lentitud, puede ser por otros factores:
- Imágenes sin optimizar: Comprime tus imágenes. Usa formatos como WebP o herramientas como ShortPixel o Smush.
- Demasiados plugins: Desactiva los plugins que no uses. Cada plugin añade código y consultas a la base de datos.
- Tema pesado: Algunos temas vienen cargados de scripts innecesarios. Considera usar un tema ligero como GeneratePress o Astra.
- CDN: Una Red de Entrega de Contenido (CDN) como Cloudflare distribuye tus archivos estáticos por servidores en todo el mundo,
