OPcache es la forma más rápida y gratuita de acelerar WordPress: almacena el bytecode compilado de PHP en memoria para que cada petición evite recompilar los mismos archivos una y otra vez. Activarlo puede reducir el tiempo de respuesta del servidor (TTFB) entre un 30 % y un 70 % sin tocar una sola línea de tu tema.
En este tutorial verás exactamente cómo activar OPcache en PHP, qué valores de configuración funcionan mejor para WordPress y cómo verificar que está corriendo.
¿Qué es OPcache y por qué importa en WordPress?
PHP es un lenguaje interpretado: por defecto, cada vez que un visitante carga tu página, el servidor lee el archivo PHP, lo analiza y lo compila a bytecode antes de ejecutarlo. WordPress tiene cientos de archivos PHP; ese proceso se repite en cada petición.
OPcache interrumpe ese ciclo. Compila los archivos una sola vez, guarda el resultado en RAM y lo reutiliza en las peticiones siguientes. El resultado es:
- Menos uso de CPU por petición.
- TTFB más bajo, lo que mejora LCP y la experiencia de usuario.
- Mayor capacidad de peticiones concurrentes sin escalar hardware.
OPcache viene incluido en PHP 5.5+ y está disponible en prácticamente todo hosting moderno. El problema es que no siempre llega activado por defecto.
Paso 1 — Verificar si OPcache ya está activo
Antes de editar cualquier archivo, comprueba el estado actual. Crea un archivo temporal en la raíz de tu WordPress:
<?php phpinfo(); ?>
Nómbralo info.php, ábrelo en el navegador (tudominio.com/info.php) y busca la sección Zend OPcache. Si aparece con estado enabled, ya está activo y puedes saltar al paso 3 para revisar la configuración. Si no aparece o dice disabled, continúa.
Importante: borra info.php en cuanto termines. Nunca dejes ese archivo en producción.
Paso 2 — Activar OPcache según tu entorno
En cPanel (hosting compartido)
La mayoría de los paneles modernos permiten seleccionar la versión de PHP y sus extensiones desde la interfaz:
- Entra a cPanel → MultiPHP Manager o Selector de PHP.
- Elige la versión de PHP de tu dominio (recomendado: PHP 8.1 o 8.2).
- Ve a Extensiones PHP y marca
opcache. - Guarda. El cambio es inmediato; no se requiere reiniciar Apache.
En VPS o servidor dedicado (php.ini)
Localiza tu php.ini activo con:
php --ini | grep "Loaded Configuration"
Abre el archivo y añade o descomenta estas líneas:
zend_extension=opcache.so
opcache.enable=1
opcache.enable_cli=0
Reinicia PHP-FPM o Apache según tu stack:
sudo systemctl restart php8.2-fpm
# o
sudo systemctl restart apache2
En un archivo .user.ini (hosting compartido sin acceso a php.ini)
Si tu proveedor usa .user.ini por directorio, coloca este archivo en la raíz de WordPress:
opcache.enable=1
Ten en cuenta que .user.ini no puede cargar extensiones (zend_extension); la extensión debe estar habilitada a nivel del servidor. Úsalo solo para configurar valores, no para activar la extensión desde cero.
Paso 3 — Configuración recomendada para WordPress
Con OPcache activo, los valores por defecto son conservadores. Estos ajustes maximizan el rendimiento en un sitio WordPress típico:
| Directiva | Valor recomendado | Qué controla |
|---|---|---|
opcache.memory_consumption | 128 | RAM reservada para el caché (MB) |
opcache.interned_strings_buffer | 16 | Buffer de cadenas internas (MB) |
opcache.max_accelerated_files | 10000 | Máximo de archivos en caché |
opcache.revalidate_freq | 60 | Segundos entre comprobaciones de cambios |
opcache.validate_timestamps | 1 | Detectar cambios en archivos (déjalo en 1 en desarrollo) |
opcache.fast_shutdown | 1 | Libera memoria más rápido al cerrar |
opcache.save_comments | 1 | Necesario para WordPress (phpdoc) |
Añade estas líneas al bloque de OPcache en tu php.ini o .user.ini.
Si tu hosting tiene poca RAM compartida, baja memory_consumption a 64. Para sitios con muchos plugins (más de 50), sube max_accelerated_files a 20 000.
Paso 4 — Verificar que OPcache funciona
Vuelve a cargar el phpinfo() y busca la sección Zend OPcache. Debe mostrar:
- Opcode Caching: Up and Running
- Los valores de configuración que acabas de definir.
Para una vista más completa, instala el plugin OPcache Manager en WordPress (gratuito, de Pierre Lannoy). Te muestra tasa de aciertos, memoria usada y estadísticas en tiempo real desde el panel de administración.
Una tasa de aciertos (hit rate) superior al 90 % indica que OPcache está funcionando bien. Si es menor, aumenta memory_consumption o max_accelerated_files.
Para más técnicas de aceleración puedes consultar los artículos de la categoría rendimiento o apoyarte en especialistas como el equipo de elenlace.com, que auditan el stack PHP de sitios WordPress en producción.
Conclusiones clave
- OPcache almacena bytecode PHP compilado en RAM, eliminando recompilaciones en cada petición.
- En cPanel se activa desde el Selector de PHP; en VPS, editando
php.iniy reiniciando PHP-FPM. - Los valores críticos para WordPress son
memory_consumption(128 MB),max_accelerated_files(10 000) ysave_comments=1. - Una tasa de aciertos superior al 90 % confirma que la configuración es correcta.
- Borra siempre el archivo
info.phpdespués de verificar.
¿Tu WordPress sigue lento después de activar OPcache? Puede haber cuellos de botella en base de datos, imágenes sin comprimir o plugins redundantes. Contáctanos en elenlace.com para una auditoría completa de rendimiento.
Preguntas frecuentes
¿OPcache reemplaza a un plugin de caché como WP Rocket?
No. OPcache cachea el bytecode PHP (capa de servidor); los plugins de caché de página generan HTML estático para visitantes anónimos. Son complementarios: OPcache acelera la ejecución de PHP, mientras WP Rocket o W3 Total Cache reducen la cantidad de veces que PHP se ejecuta.
¿Tengo que limpiar OPcache al actualizar WordPress o un plugin?
Con validate_timestamps=1 y revalidate_freq=60, OPcache detecta automáticamente los archivos modificados en hasta 60 segundos. Para invalidación inmediata post-actualización, usa el plugin OPcache Manager o llama a opcache_reset() desde un script.
¿OPcache funciona con PHP-FPM y con mod_php?
Sí. OPcache es una extensión de Zend que funciona con cualquier SAPI de PHP: mod_php, PHP-FPM, FastCGI, etc. La extensión se carga siempre mediante zend_extension=opcache.so en el php.ini correspondiente a tu SAPI.
¿Cuánta RAM consume OPcache?
Con la configuración recomendada de 128 MB, ese es el máximo que puede reservar. En la práctica, un WordPress con 30-50 plugins suele usar entre 32 MB y 80 MB. Si el servidor tiene menos de 512 MB de RAM total, baja memory_consumption a 64 MB.
Para saber más
Otros proveedores y guías que vale la pena comparar: