Cuando una tienda online tarda en cargar, el cliente no espera: vuelve a Google y entra en la de la competencia. En PrestaShop este problema es muy habitual, porque cada página de producto o de categoría se genera al momento: consultas a la base de datos, cálculo de precios e impuestos, módulos que se ejecutan uno tras otro… Todo eso ocurre antes de que el navegador reciba el primer byte. En este artículo explicamos qué es una caché de página estática, por qué es una de las mejoras de rendimiento más rentables en PrestaShop y cómo la hemos aplicado con JPresta Page Cache en la tienda velasdeolor.es.
Por qué la caché importa tanto en una tienda PrestaShop
La velocidad influye en tres aspectos del negocio:
- Conversión: cada segundo de espera aumenta los abandonos, sobre todo en móvil.
- Posicionamiento SEO: Google tiene en cuenta la experiencia de página (Core Web Vitals) y un servidor lento empeora directamente el LCP (Largest Contentful Paint).
- Rastreo: si el servidor responde rápido, Googlebot puede rastrear más URLs en el mismo tiempo, algo importante en catálogos con cientos o miles de productos.
Hay una métrica que resume bien el trabajo del servidor: el TTFB (Time To First Byte), es decir, el tiempo que pasa desde que el navegador pide la página hasta que recibe el primer byte de respuesta. En una tienda PrestaShop sin optimizar es fácil encontrar TTFB de uno o dos segundos. Y ninguna optimización posterior de imágenes, CSS o JavaScript puede recuperar ese tiempo perdido.
Qué es una caché de página estática en PrestaShop
La idea es sencilla: la primera vez que alguien visita una página, PrestaShop la genera de forma normal y el módulo guarda el HTML resultante. Las siguientes visitas reciben directamente esa copia ya preparada, sin volver a ejecutar consultas ni lógica de negocio. Servir un HTML ya generado cuesta unos pocos milisegundos, frente a los cientos de milisegundos (o segundos) que puede costar generarlo.
Es importante no confundirla con otras cachés que PrestaShop ya incluye (la caché de plantillas Smarty, la de consultas o la de CCC para CSS y JS). Esas cachés aceleran partes del proceso, pero la página se sigue construyendo en cada visita. La caché de página completa se salta prácticamente todo ese proceso.
Cómo funciona JPresta Page Cache
JPresta Page Cache (en su versión Ultimate) es uno de los módulos de caché más veteranos del ecosistema PrestaShop. Según su fabricante, está instalado en más de 5.000 tiendas y consigue una reducción media del TTFB en torno al 80%. Estas son las claves que lo hacen adecuado para una tienda real:
- Gestión del contexto: genera versiones distintas de la caché según el idioma, la moneda, el tipo de dispositivo, el grupo de clientes o los impuestos aplicables, de modo que cada visitante ve los precios y contenidos que le corresponden.
- Contenido dinámico: los bloques que cambian para cada usuario (carrito, cuenta de cliente, productos vistos…) se recargan por separado mediante AJAX, así que la página puede servirse desde la caché sin mostrar datos de otro usuario.
- Actualización automática: cuando se modifica un producto, un precio o el stock, el módulo borra solo las páginas afectadas para que no se muestre información desactualizada.
- Precarga (cache warmer): un servicio opcional recorre la tienda y genera la caché antes de que llegue el visitante, para que nadie reciba una página «fría».
- Compatibilidad: no necesita extensiones especiales de PHP ni un servidor dedicado; funciona también en alojamientos compartidos.
Caso real: velasdeolor.es
velasdeolor.es es una tienda online de fragancias para el hogar con un catálogo amplio de marcas y referencias: muchas categorías, fichas de producto y filtros. Es el tipo de tienda en la que PrestaShop tiene que trabajar más para generar cada página.
Lo mejor de este caso es que no necesitamos pruebas de laboratorio: el propio módulo registra el TTFB real que mide el navegador de cada visitante y lo separa según cómo se ha servido la página. Hay varios niveles: sin caché (PrestaShop genera la página desde cero), caché del servidor (el HTML guardado lo sirve PHP), caché estática (el servidor web entrega el archivo sin pasar por PHP) y caché del navegador (el propio navegador reutiliza la página). Estos son los datos de dos semanas de tráfico real:
| Tipo de página | Sin caché | Caché del servidor | Caché estática | Caché del navegador |
|---|---|---|---|---|
| Portada | 500 ms | 396 ms | 93 ms | 48 ms |
| Categorías | 698 ms | 235 ms | 94 ms | 44 ms |
| Productos | 459 ms | 297 ms | 108 ms | 75 ms |
| Todas las páginas | 532 ms | 289 ms | 98 ms | 54 ms |
Las cifras hablan solas. Una página de categoría que PrestaShop tiene que generar tarda de media unos 700 ms en empezar a llegar al visitante (filtros, listados y precios son costosos de calcular). Servida desde la caché estática baja a unos 94 ms, más de 7 veces más rápida. En el conjunto de la tienda, el TTFB pasa de más de medio segundo sin caché a menos de 100 ms con la caché estática, y a unos 50 ms cuando responde directamente el navegador.
Actualmente, cerca del 69% de las visitas ya recibe alguna versión cacheada de la página. El margen de mejora está en subir ese porcentaje, por ejemplo precargando la caché con el servicio JPresta Cache Warmer, para que casi nadie tenga que esperar a que PrestaShop genere la página.
La caché como escudo: lo que pasó el 17 de septiembre
Los datos de ese periodo incluyen un día que excluimos de la tabla, y tiene su propia historia. El 17 de septiembre la tienda sufrió un intento de ataque de denegación de servicio: una avalancha de peticiones desde muchas direcciones IP distintas que saturó el servidor.
Ese día, las páginas que PrestaShop tuvo que generar desde cero tardaron de media casi 18 segundos en empezar a responder (y más de 51 segundos en las categorías). Sin embargo, los visitantes que recibieron la página desde la caché apenas lo notaron: la caché del servidor siguió respondiendo en unos 285 ms y la caché estática en unos 84 ms, prácticamente lo mismo que cualquier otro día.
La explicación es sencilla: servir una página cacheada no necesita consultar la base de datos ni ejecutar la lógica de PrestaShop, así que consume una fracción mínima de recursos. Por eso, además de acelerar la tienda, una buena caché de página la hace mucho más resistente a picos de tráfico, ya sean campañas de marketing, bots agresivos o ataques. No sustituye a un cortafuegos o a una protección anti-DDoS, pero marca la diferencia entre una tienda que sigue vendiendo y una que se cae.
En la práctica, la navegación entre categorías y productos resulta inmediata, el servidor soporta mejor los picos de tráfico (campañas, Navidad, rebajas) y se libera capacidad de proceso para lo que no se puede cachear: el carrito, el checkout y el panel de administración.
Consejos para configurar la caché en PrestaShop
- Revisa los módulos dinámicos: identifica qué bloques deben ser personalizados (carrito, bloque de usuario, productos vistos) y márcalos como dinámicos en el módulo. Es el paso más importante para evitar sorpresas.
- Prueba antes de activar en producción: el módulo tiene un modo de prueba en el que solo tú ves las páginas cacheadas. Úsalo para revisar la tienda como cliente anónimo y como cliente registrado.
- Ajusta la duración de la caché según la frecuencia con la que cambia tu catálogo.
- Excluye lo que no debe cachearse: checkout, carrito, cuenta de cliente y páginas con formularios.
- Combínalo con el resto de optimizaciones: imágenes en WebP, CSS y JS comprimidos, una versión de PHP actual y un buen alojamiento. La caché reduce el trabajo del servidor, pero no sustituye a una web bien construida.
- Mide antes y después con PageSpeed Insights y con los informes de Core Web Vitals de Google Search Console.
Conclusión
En PrestaShop, una caché de página completa es probablemente la mejora de rendimiento con mejor relación entre esfuerzo y resultado. Con una configuración cuidadosa, como la que aplicamos en velasdeolor.es, una tienda con un catálogo grande puede responder tan rápido como una web estática, con los beneficios que eso supone en conversión y en SEO.
¿Tu tienda PrestaShop va lenta? En Localhost Services analizamos su rendimiento y te ayudamos a instalar y configurar la caché y el resto de optimizaciones. Contacta con nosotros.
Si quieres seguir mejorando tu tienda, te pueden interesar nuestra checklist de seguridad para tiendas PrestaShop y la guía sobre Core Web Vitals. Puedes consultar las características del módulo en la web oficial de JPresta.
