Caché en PrestaShop: Smarty, Symfony, CCC y caché de página, qué activar
PrestaShop tiene varias cachés que no se parecen entre sí. Entender qué guarda cada una evita tanto la lentitud como los errores de «no veo mis cambios».
Cuando alguien dice «he vaciado la caché y sigue igual», casi siempre ha vaciado una caché de las varias que tiene una tienda PrestaShop. Estas son las capas, de dentro afuera.
1. OPcache (PHP)
Guarda el código PHP ya compilado. No afecta a los datos, solo a la velocidad. Siempre activada en producción.
2. Caché de Symfony
En var/cache/prod: el contenedor de servicios, las rutas, las plantillas Twig del back office. Se regenera sola cuando se vacía. Si instalas un módulo y su pantalla da error, vaciar esta caché es lo primero.
3. Caché de Smarty
Compila las plantillas del front y, opcionalmente, guarda el HTML de algunos bloques. En Parámetros avanzados > Rendimiento:
- Compilación: «No recompilar» en producción.
- Caché: activada.
4. CCC: combinar, comprimir y cachear
Une los CSS y los JS del tema y módulos en pocos ficheros. Menos peticiones, página más rápida. Pero si un módulo añade scripts de forma poco ortodoxa, puede romperse algo: actívalo y revisa carrito y checkout.
5. Caché de datos (Redis, Memcached, APCu)
Guarda resultados de consultas a la base de datos. Útil en tiendas grandes, pero delicada: si la caché no se invalida cuando cambian los datos, verás información antigua. Lo contamos en detalle en el artículo sobre Redis.
6. Caché de página completa
Guarda la página entera ya generada y la sirve sin ejecutar PrestaShop (LiteSpeed Cache, Varnish, módulos de caché de página). Es la que más acelera y la que más cuidado exige: carrito, precios por grupo de cliente, stock y mensajes personalizados no pueden salir de una página guardada para otro visitante.
Orden para vaciar cachés
- Caché de página (si la hay).
- Caché de datos.
- Rendimiento > Borrar la caché (Smarty y Symfony).
- Caché del navegador (recarga forzada).