Redis en cPanel para WordPress
Si ya tienes LiteSpeed Cache activo y tu WordPress sigue tardando en responder en páginas dinámicas — carrito de WooCommerce, resultados de búsqueda, páginas de cuenta — el siguiente nivel de optimización es Redis. Es la caché de objetos más rápida disponible en hosting compartido con cPanel, y la diferencia en tiempo de respuesta puede ser de varios cientos de milisegundos por petición.
En esta guía te explico qué es Redis, cuándo marca diferencia real y cómo activarlo en cPanel para WordPress paso a paso.
Qué es Redis y por qué importa para WordPress
Redis es una base de datos en memoria (RAM) que funciona como almacén de clave-valor. A diferencia de MySQL, que guarda datos en disco, Redis los guarda en RAM, lo que lo hace entre 10 y 100 veces más rápido para lecturas frecuentes.
En el contexto de WordPress, Redis actúa como caché de objetos: guarda en RAM los resultados de las consultas a la base de datos para no tener que ejecutarlas de nuevo en la siguiente petición.
El problema que resuelve Redis
WordPress hace decenas de consultas SQL en cada carga de página. Muchas de ellas son idénticas o casi idénticas entre peticiones:
- Opciones del sitio (
wp_options) - Menús de navegación
- Widgets
- Configuración de plugins activos
- Taxonomías y términos
- Datos de usuario en páginas con login
Sin caché de objetos, estas consultas se ejecutan en MySQL en cada petición, aunque el resultado no haya cambiado. Con Redis, el resultado de la primera consulta se guarda en RAM y las siguientes peticiones lo leen directamente desde ahí — sin tocar MySQL.
Cuándo Redis marca la diferencia
Redis es especialmente útil en:
- WooCommerce: las páginas de producto, carrito y checkout no se pueden cachear en caché de página completa porque son dinámicas por usuario. Redis cachea los objetos internos de WordPress y reduce el número de consultas SQL en cada carga.
- WordPress con muchos plugins: cada plugin activo añade opciones a
wp_options. Con Redis, estas opciones se cargan una vez y se sirven desde RAM. - Webs con usuarios registrados: las páginas personalizadas por usuario no pueden servirse desde caché de página. Redis acelera la generación dinámica.
- Búsquedas internas: las consultas de búsqueda en WordPress son costosas en MySQL. Con Redis, los resultados de búsquedas frecuentes se cachean.
- Sitios con tráfico alto: reduce la carga en MySQL, que suele ser el cuello de botella en webs con muchas visitas simultáneas.
Cuándo Redis no ayuda tanto
- Blogs estáticos con poco tráfico: si la caché de página completa (LiteSpeed Cache) sirve la mayoría de peticiones, Redis añade poco.
- Webs con contenido que cambia constantemente: si los objetos caducanen fracciones de segundo porque el contenido cambia, la tasa de aciertos de caché es baja.
Verificar si Redis está disponible en tu hosting
No todos los planes de hosting incluyen Redis. En BlumHost, Redis está disponible en los planes de hosting compartido. Para verificarlo:
Opción A — Desde cPanel:
Accede a cPanel y busca en la sección Software o Avanzado la opción Redis o Administrador de Redis. Si aparece, está disponible en tu plan.
Opción B — Desde el Selector de PHP de cPanel:
En cPanel → Selector de PHP → Extensiones, busca la extensión redis o phpredis. Si aparece en la lista (activa o disponible para activar), Redis está disponible.
Opción C — Mediante phpinfo:
Crea un archivo phpinfo.php temporalmente en tu dominio con <?php phpinfo(); ?>, ábrelo en el navegador y busca la sección redis. Si aparece, la extensión está cargada.
Si Redis no está disponible en tu plan actual, contacta con el soporte de tu hosting para que lo habiliten o evalúa si un plan superior lo incluye.
Paso 1: Activar la extensión PHP de Redis en cPanel
Para que WordPress pueda comunicarse con Redis, necesitas la extensión PHP redis (también llamada phpredis) activa en tu cuenta.
- Accede a cPanel → Software → Selector de PHP
- Haz clic en la pestaña Extensiones
- Busca
redisen la lista - Marca la casilla para activarla
- Haz clic en Guardar
El cambio es inmediato. No hace falta reiniciar nada.
Si ves tanto redis como igbinary en la lista, activa también igbinary — es un serializador más eficiente que el que usa Redis por defecto y mejora ligeramente el rendimiento.
Para verificar que la extensión está activa, en la terminal PHP (o en el phpinfo() temporal):
php
<?php
echo extension_loaded('redis') ? 'Redis activo' : 'Redis NO activo';
?>
Paso 2: Obtener las credenciales de Redis
En hosting compartido con cPanel, Redis suele estar configurado como un socket Unix o en un puerto local específico para tu cuenta. Las credenciales (socket o host:puerto y contraseña si la hay) las encontrarás en:
- cPanel → Redis → información de conexión
- O en el email de bienvenida de tu proveedor
- O consultando con el soporte técnico
Las más habituales en cPanel son:
Host: 127.0.0.1
Puerto: 6379
Password: (vacío en muchos hostings compartidos, o una contraseña específica de tu cuenta)
O mediante socket Unix:
Socket: /var/run/redis/redis.sock
Apunta estos datos — los necesitarás para configurar el plugin.
Paso 3: Instalar el plugin Redis Object Cache en WordPress
El plugin más usado y recomendado para conectar WordPress con Redis es Redis Object Cache de Till Krüss. Es gratuito, tiene más de 100.000 instalaciones activas y es compatible con todas las versiones recientes de WordPress.
- En el panel de administración de WordPress, ve a Plugins → Añadir nuevo
- Busca
Redis Object Cache - Instala y activa el plugin de Till Krüss
Paso 4: Configurar la conexión Redis en wp-config.php
Antes de activar la caché, necesitas indicarle a WordPress dónde está Redis. Edita el wp-config.php (desde el gestor de archivos de cPanel, por FTP o por SSH) y añade estas líneas justo antes de /* That's all, stop editing! */:
Configuración con host y puerto (la más habitual):
php
define('WP_REDIS_HOST', '127.0.0.1');
define('WP_REDIS_PORT', 6379);
define('WP_REDIS_TIMEOUT', 1);
define('WP_REDIS_READ_TIMEOUT', 1);
define('WP_REDIS_DATABASE', 0);
Configuración con contraseña:
php
define('WP_REDIS_HOST', '127.0.0.1');
define('WP_REDIS_PORT', 6379);
define('WP_REDIS_PASSWORD', 'tu_contraseña_redis');
define('WP_REDIS_TIMEOUT', 1);
define('WP_REDIS_READ_TIMEOUT', 1);
define('WP_REDIS_DATABASE', 0);
Configuración mediante socket Unix:
php
define('WP_REDIS_SCHEME', 'unix');
define('WP_REDIS_PATH', '/var/run/redis/redis.sock');
define('WP_REDIS_TIMEOUT', 1);
define('WP_REDIS_READ_TIMEOUT', 1);
define('WP_REDIS_DATABASE', 0);
El socket Unix es ligeramente más rápido que la conexión TCP porque evita la pila de red. Úsalo si tu proveedor lo soporta.
Prefix para evitar conflictos con otras instalaciones:
Si tienes varias instalaciones de WordPress en el mismo servidor compartiendo la misma instancia de Redis, añade un prefijo único para cada una:
php
define('WP_REDIS_PREFIX', 'mitienda_');
Paso 5: Activar la caché de objetos
Con el plugin instalado y el wp-config.php configurado:
- Ve a Ajustes → Redis en el panel de WordPress
- Verás el estado de la conexión — debería mostrar «Conectado» con los datos del servidor Redis
- Si la conexión es correcta, haz clic en Activar caché de objetos
- El plugin crea automáticamente el archivo
wp-content/object-cache.php
Este archivo es el que WordPress usa para redirigir todas las operaciones de caché de objetos hacia Redis en lugar de la caché interna en memoria (que no persiste entre peticiones).
Verificar que Redis está funcionando
Desde el panel del plugin
En Ajustes → Redis verás:
- Estado: Conectado / Desconectado
- Hits: número de veces que Redis sirvió datos desde caché
- Misses: número de veces que Redis no tenía el dato y hubo que consultarla base de datos
- Hit ratio: porcentaje de aciertos. Un ratio superior al 80% indica que Redis está siendo muy efectivo
Un hit ratio bajo en las primeras horas es normal — Redis necesita «calentarse» (warm up) para que los objetos estén en caché. Después de algunas horas de tráfico, el ratio suele subir al 85-95%.
Desde la línea de comandos (SSH)
Si tienes acceso SSH al servidor:
bash
redis-cli ping
# Respuesta esperada: PONG
redis-cli info stats | grep hits
# keyspace_hits: número de aciertos
# keyspace_misses: número de fallos
redis-cli dbsize
# Número de claves almacenadas en Redis
Con Query Monitor
El plugin Query Monitor (gratuito) muestra en el admin de WordPress cuántas consultas SQL se ejecutan por página y si Redis está interceptando las de caché. Después de activar Redis, deberías ver una reducción significativa en el número de consultas.
Configuración avanzada de Redis para WordPress
Tiempo de expiración de la caché
Por defecto, los objetos en Redis no tienen tiempo de expiración (persisten hasta que Redis necesita memoria y los elimina según su política de evicción). Puedes establecer un TTL máximo:
php
define('WP_REDIS_MAXTTL', 3600); // 1 hora en segundos
Grupos excluidos de la caché
Algunos objetos de WordPress no deben cachearse en Redis porque cambian con cada petición:
php
define('WP_REDIS_IGNORED_GROUPS', [
'counts',
'plugins',
'themes',
'comment',
'wc_session_id' // WooCommerce: sesiones de usuario
]);
Compresión de datos
Si tienes igbinary activado (recomendado cuando está disponible):
php
define('WP_REDIS_SERIALIZER', Redis::SERIALIZER_IGBINARY);
Base de datos separada por instalación
Redis tiene 16 bases de datos por defecto (0-15). Si compartes Redis con otras instalaciones, usa bases de datos diferentes:
php
// Instalación 1
define('WP_REDIS_DATABASE', 0);
// Instalación 2
define('WP_REDIS_DATABASE', 1);
Redis + LiteSpeed Cache: la combinación óptima
Redis y LiteSpeed Cache no compiten — se complementan:
- LiteSpeed Cache actúa en la capa de página completa: sirve HTML ya generado directamente desde caché sin ejecutar PHP.
- Redis actúa en la capa de objetos PHP: cuando LiteSpeed Cache no puede servir la página desde caché (páginas dinámicas, usuarios logueados, carrito…), Redis acelera la generación de esa página reduciendo las consultas a MySQL.
La configuración ideal para un WordPress de alto rendimiento es:
- LiteSpeed Cache activo con caché de página completa habilitada
- Redis como object cache para páginas dinámicas
- PHP 8.1+ con OPcache activo
- SSD NVMe en el servidor
Esta combinación puede llevar el TTFB de páginas estáticas por debajo de 50ms y el de páginas dinámicas por debajo de 200ms, lo que se traduce directamente en mejores Core Web Vitals y mejor posicionamiento en Google.
El artículo sobre cómo acelerar WordPress cubre el stack completo de optimización, del que Redis es una pieza más.
Redis en VPS: configuración más avanzada
Si usas un VPS con acceso root, puedes configurar Redis con más control:
Instalar Redis en Ubuntu
bash
apt update
apt install -y redis-server
systemctl enable redis-server
systemctl start redis-server
Configurar Redis para producción
Edita /etc/redis/redis.conf:
# Limitar memoria máxima (ajusta según tu RAM disponible)
maxmemory 256mb
# Política de evicción cuando se llena la memoria
maxmemory-policy allkeys-lru
# Deshabilitar persistencia en disco si solo lo usas como caché
save ""
# Contraseña (recomendado)
requirepass tu_contraseña_segura
# Bind solo a localhost (no exponer al exterior)
bind 127.0.0.1
bash
systemctl restart redis-server
Verificar la configuración
bash
redis-cli -a tu_contraseña_segura ping
redis-cli -a tu_contraseña_segura info memory
En un VPS con múltiples sitios WordPress, puedes configurar Redis con más memoria y gestionar la política de evicción para maximizar el hit ratio de todos los sitios simultáneamente.
Solución de problemas frecuentes
«No se puede conectar a Redis»
Verifica en orden:
- Que la extensión PHP
redisestá activa en el Selector de PHP de cPanel - Que los datos de conexión en
wp-config.phpson correctos (host, puerto, contraseña) - Que el servicio Redis está corriendo (desde SSH:
redis-cli ping) - Que no hay un firewall bloqueando el puerto 6379
«Redis conectado pero hit ratio es 0%»
El ratio tarda en subir con el tráfico. Si después de varias horas sigue en 0%, verifica que el archivo wp-content/object-cache.php existe y que no hay otro plugin de caché de objetos activo que lo esté sobreescribiendo.
Conflicto con otro plugin de caché
Si tienes instalado W3 Total Cache o WP Super Cache con su propia configuración de object cache, puede haber conflicto con Redis Object Cache. Desactiva la caché de objetos del otro plugin o desinstálalo completamente y usa solo Redis Object Cache para esta capa.
«El archivo object-cache.php ya existe»
Significa que hay otro plugin de caché gestionando la object cache. Elimina el archivo manualmente desde el gestor de archivos de cPanel → wp-content/object-cache.php y vuelve a activar Redis Object Cache.
Si usas LiteSpeed Cache, este plugin tiene su propia integración con Redis que puede usarse en lugar de Redis Object Cache — revisa la configuración en LiteSpeed Cache → Caché de objetos.
👉 Ver planes de Hosting con Redis en España
Preguntas frecuentes
¿Redis es gratuito en el hosting de BlumHost?
Depende del plan contratado. Consulta con el soporte si tu plan actual incluye Redis o si necesitas actualizar.
¿Redis funciona con cualquier versión de WordPress?
Redis Object Cache es compatible con WordPress 3.3 o superior. Para aprovechar todas las funciones del plugin, se recomienda WordPress 5.0 o superior.
¿Memcached o Redis para WordPress?
Redis es superior en casi todos los casos: soporta tipos de datos más ricos, tiene persistencia opcional, mejor rendimiento con datos grandes y soporte activo. Memcached solo tiene ventaja en casos muy específicos de alta concurrencia con objetos muy pequeños. Para WordPress, Redis es la elección correcta.
¿Puedo usar Redis con WordPress Multisite?
Sí, con configuración adicional. Necesitas definir un prefijo único por sitio o usar bases de datos Redis diferentes para evitar colisiones de claves entre sitios del multisite.
¿Redis consume mucha RAM?
Depende de cuántos objetos cachea. En un WordPress típico, Redis suele usar entre 32 MB y 128 MB de RAM. Con maxmemory puedes limitar el consumo y Redis gestionará automáticamente qué objetos eliminar cuando se alcance el límite.
¿Necesito Redis si ya tengo LiteSpeed Cache?
Para la mayoría de blogs y webs corporativas estáticas, LiteSpeed Cache solo es suficiente. Redis marca la diferencia principalmente en WooCommerce, webs con usuarios registrados y sitios con mucho tráfico donde las páginas dinámicas representan una parte significativa de las peticiones.
