¿Qué opciones elegir en la página de Rendimiento de Prestashop para optimizar el tiempo de carga de tu tienda?

Aquí explico el papel de cada opción y cómo configurarlos para optimizar Prestashop.

Configuración de Smarty

Smarty es el motor de plantillas que utiliza Prestashop para generar las páginas de tu tienda, más información aquí: https://www.smarty.net/

Compilación de plantillas

Las plantillas son archivos que describen las plantillas de las páginas o bloques de páginas de tu tienda. Hay en su tema y en sus módulos, se reconocen por su extensión '.tpl'. Estas plantillas contienen etiquetas HTML y Smarty, es decir, código que Smarty reconocerá y sustituirá por datos en función de la página solicitada o del usuario conectado.

A continuación, Smarty transformará (compilará) estos archivos de plantillas en código PHP para que su servidor pueda ejecutarlos, pero esta compilación lleva su tiempo. Afortunadamente esta fase sólo es necesaria una vez, siempre y cuando no se modifique el archivo de plantilla

Hay 3 opciones para esta opción:

  • No recompilar nunca los archivos de plantilla: seleccione esta opción sólo si su tienda está completamente terminada y no modifica ningún módulo o archivo de plantilla. Si este es el caso tendrás que vaciar la caché manualmente.
  • Recompilar plantillas si los archivos han sido actualizados: con esta opción Smarty comprobará si el archivo de plantilla ha sido modificado desde la última compilación. Esta es la opción que recomiendo porque una tienda nunca es realmente fija y comprobar la fecha de la última compilación lleva muy poco tiempo. Esto evita perder tiempo para entender por qué no aparece la última modificación realizada en la tienda.
  • Forzar la compilación: sólo active esta opción si está trabajando en su tema o en un módulo, es decir, sólo durante el desarrollo.

Caché

Smarty ofrece un sistema de caché que los módulos pueden utilizar para optimizar su código. Por ejemplo, el módulo que muestra las mejores ventas pide a Smarty que almacene en caché el HTML generado, de modo que cuando esta caché está disponible el módulo no necesita consultar la base de datos para conocer las mejores ventas, sino que muestra el último contenido cacheado por Smarty. Para estar al día el módulo pide a Smarty que vacíe la caché por cada nueva venta así como por cada adición o eliminación de un producto.

Esta opción debe ser activada excepto durante la fase de desarrollo de la tienda.

Optimización de los frentes múltiples

Cuando se utilizan varios servidores, esta opción le ayuda a sincronizar sus cachés.

Tipo de caché (Eliminado desde PS8)

Le permite especificar dónde debe almacenarse la caché de Smarty. Se recomienda elegir "Sistema de archivos" para no sobrecargar el servidor MySQL.

Borrar caché

Aquí hay una opción que me deja perplejo porque permite desactivar el refresco de la caché, no tiene ningún interés. Si tomamos el ejemplo del módulo de los más vendidos, significa que la lista no se actualizaría nunca.

  • No borrar nunca los archivos de la caché: no elija nunca esta opción
  • Borrar la caché cada vez que se modifique algo: elija siempre esta opción

Configuración del modo de depuración

Desactivar los módulos que no son de PrestaShop

En caso de error puede desactivar todos los módulos excepto los desarrollados por Prestashop. Déjelo en "No".

Desactivar todos los overrides

Puedes tener más problemas activando esta opción porque sin sobrecargas algunos módulos dejarán de funcionar. Lo peor es que no tendrás ningún mensaje de error que te lo indique.

Modo de depuración

Esta es la opción más interesante en caso de página en blanco y error 500. Activa el modo DEBUG y Prestashop mostrará un mensaje de error más detallado que te permitirá entender lo que está mal.

Configuración de las características opcionales

Aquí es muy sencillo, si no utilizas algunas funcionalidades de Prestashop es mejor que las desactives, tu tienda ganará en velocidad.

CCC (Combinar, Comprimir y Cachear)

Caché inteligente para CSS

Para ser activado absolutamente excepto durante la fase de creación o modificación de su sitio web. Esto permite combinar todos los archivos CSS en uno solo y comprimirlo. El tiempo de carga de su tienda Prestashop será mucho más rápido y menos pesado y obtendrá una mejor puntuación Pagespeed Insight de Google o en GTMetrix.

Si notas problemas de estilo cuando tu CSS está comprimido, es porque uno de los archivos CSS contiene un error de sintaxis. Éste es bien gestionado por el navegador en un archivo separado y no comprimido pero no cuando CCC está activado. En este caso tienes que encontrar el archivo en cuestión y corregir el error.

Caché inteligente para JavaScript

Para ser activado absolutamente excepto durante la fase de creación o modificación de su sitio web. Esto le permite fusionar todos los archivos JavaScript en uno solo y comprimirlo. Obtendrá una mejor puntuación de Pagespeed Insight de Google o GTMetrix y el tiempo de carga de sus páginas web será mucho más rápido y menos pesado.

Es bueno saber si su servidor utiliza los protocolos HTTP/2 y HTTP/3.

HTTP/2 (H2) y HTTP/3 (H3) son versiones más nuevas del protocolo HTTP, diseñadas para mejorar el rendimiento y la eficiencia del sitio web. Introducen funciones como multiplexación, compresión de encabezados y envío de servidor. La multiplexación permite enviar múltiples solicitudes simultáneamente a través de una única conexión TCP. Esto significa que se reduce la sobrecarga de solicitudes adicionales y la necesidad de reducir la cantidad de archivos por razones de rendimiento es menos crítica.

En Prestashop, al no fusionar archivos (deshabilitando así las opciones CCC), evita la necesidad de descargar recursos idénticos para páginas que no comparten los mismos archivos JS o CSS fusionados. Además, cuando se utiliza una caché HTML, esta práctica evita la necesidad de regenerar toda la caché cada vez que se modifica un archivo CSS o JS.

Sin embargo, muchos módulos no minimizan sus archivos CSS y JS, por lo que puede incurrir en una ligera sobrecarga en términos de tamaño de descarga (aunque gzip debería reducir esta sobrecarga).

En conclusión, con los protocolos HTTP/2 (H2) y HTTP/3 (H3), puedes desactivar las opciones CCC: ¡es tu elección!

Para saber si su servidor usa los protocolos HTTP/2 (H2) y HTTP/3 (H3), abra la consola del navegador en su tienda, vaya a la pestaña Red y vea si el protocolo usado para archivos estáticos (imágenes, JavaScript, CSS, etc.) es h2 o h3.

Optimización de Apache

Es imprescindible activarlo salvo en la fase de creación o modificación de tu sitio web. Esto permite añadir las directivas de caché para los navegadores, ¡muy importante!

Servidores de medios

El uso de un CDN (servidor de medios) es especialmente útil si sus usuarios vienen de todo el mundo. Permite servir imágenes, CSS, javascript y fuentes más rápidamente porque está más cerca del visitante. Si sólo vende en Francia, por ejemplo, un CDN no es útil porque su anfitrión ya está lo suficientemente cerca, a menos que haya cotizado un anfitrión australiano :-)

Sin embargo, puede utilizar esta opción para usar un nombre de dominio diferente para servir sus archivos estáticos. ¿Por qué? Para que las peticiones no contengan las cookies y sean por tanto menos voluminosas. Por ejemplo, puede crear un nombre de dominio shopcdn.fr que apunte al mismo servidor. Éste sólo se utilizará para los archivos estáticos y no llevará cookies.

Caché

Se trata de una caché que se utiliza para las consultas SQL ejecutadas por Prestashop. Personalmente, no recomiendo su uso porque puede degradar el rendimiento de su tienda. Además, algunos usuarios se quejan de que la actualización no siempre está al día.

Conclusión

Ahora usted sabe cómo configurar Prestashop para optimizar el rendimiento de su tienda. Cada página será generada más rápido por su servidor y será más ligero para una carga más rápida en el navegador de sus clientes.

¡No dude en navegar por nuestra lista de módulos de Prestashop para optimizar aún más su tienda y mejorar su puntuación de Google Pagespeed!