La competencia es dura, pero es buena para la innovación Aunque Page Cache Ultimate siempre ha ofrecido una caché mejor que la de la competencia, se estaba volviendo complicado explicar a los clientes. Así que me fijé en esta característica que tenía en mente desde hace tiempo: no cargar el CMS de Prestashop en absoluto cuando la caché está disponible, es decir, ¡servir las páginas como archivos estáticos!

Lo que está en juego

Conseguir tal hazaña reduciría el TTFB drásticamente, ya que un archivo estático se suele servir en menos de 100ms (y soy muy amplio).

La dificultad

El problema es que una misma página no tiene el mismo contenido en función del visitante que solicita su visualización. Se tienen en cuenta varios parámetros: la moneda (euros, dólares, etc.), los grupos de usuarios del visitante, el país (en caso de restricciones de acceso), los impuestos que se aplicarán, etc. Todo esto forma lo que yo llamo un contexto.

Es imposible conocer este contexto sin utilizar Prestashop, así que ¿cómo hacerlo?

La solución

La primera visualización no se puede hacer sin cargar Prestashop, por lo que funcionará como antes, utilizando la caché del lado del servidor si está disponible. El módulo aprovechará esta primera visualización para establecer una cookie 'jpresta_cache_context' para identificar el contexto a utilizar

Gracias a esta cookie ahora es posible devolver el archivo correcto correspondiente a la URL de la página.

Técnicamente, el nombre del archivo de caché será el hash (MD5) de la URL. Dado que esto no puede ser calculado por Apache de forma sencilla, el módulo utilizará un pequeño script PHP independiente y muy rápido para devolver el archivo estático al navegador. Aprovechamos para devolver la versión ya comprimida y almacenada de la página, lo que ahorra a Apache tener que hacerlo.

¡Resultados sorprendentes!

¡Es simplemente increíble, la diferencia de velocidad es enorme, mis primeras pruebas me dan un TTFB inferior a 10ms!

En JPresta.com, que utiliza un alojamiento compartido, ¡el TTFB medio es ahora de 100ms!

TTFB with Page Cache Ultimate

He aprovechado para añadir estadísticas sobre el uso de los diferentes tipos de caché, aquí está por ejemplo la distribución en JPresta.com:

Prestashop static cache use

¡Para aprovechar esta nueva característica sólo tienes que actualizar el módulo si tu periodo de soporte y actualización aún está activo, si no es así puedes ampliarlo, y si aún no tienes licencia puedes comprar Page Cache Ultimate . Pour aller plus loin dans l'optimisation de votre boutique Prestashop vous pouvez aussi opter pour Speed Pack (Page Cache Ultimate + Lazy Loading + WEBP) qui inclus Page Cache Ultimate. Je vous conseille aussi notre thème Origen de JPresta optimizado para la velocidad y Core Web Vitals!