Il est temps de faire le point sur la vitesse de chargement de Prestashop et sur la plupart des inquiétudes remontées par les clients. Actuellement il y’a un genre de « parano » qui concerne la vitesse de Prestashop… pourtant il n’y a pas de quoi paniquer.
Une focalisation
Actuellement sur les blogs on voit beaucoup de sujets concernant la vitesse du site / boutique, l’impact sur l’utilisateur, l’impact sur les moteurs de recherche etc… Du coup une série de clients commencent à essayer de grappiller des centièmes à gauche, à droite… un peu plus léger… « Ouf j’ai gagné quelque ko en chargement ici… je compresse les images… ». C’est un bon comportement, mais à mon sens inutile dans le 99% des cas… je m’explique…
Le cache Prestashop
Ce qui est important pour avoir une vitesse d’affichage correct sous Prestashop c’est d’activer la gestion du cache et de forcer la recompilation du template uniquement si celui-ci a été mis à jour (voir configuration ci-dessous). Actuellement c’est le réglage que j’applique par défaut sur les boutiques que je déploie en production.
Le cache avancé CSS
Concernant le cache avancé, je parle donc ici du CCC (toujours dans les paramètres avancés) pour la compression du Javascript, CSS & Html… La compression amène rarement un véritable « gain » au niveau de la performance d’affichage, bien souvent elle amène plus d’inconvénients… La compression CCC n’est pas toujours optimale, parfois certains Javascript ont un comportement bancal ou certaines règles CSS mal interprêtées. Il faut noter aussi que le débugage est toujours plus compliqué sur un site en production, le code source est compressé ce qui rend plus difficile l’identification d’un bug (même via Firebug).
Les serveurs de médias
Là aussi encore une fois… on vante souvent les mérites de cette technique en effectuant un chargement plus rapide des fichiers par l’intermédiaire de différents serveurs. Dans ce que j’avais observé à l’époque, sur des petites boutiques il peut même se produire le contraire, un service du genre peut « ralentir » le shop sur certains traitements. Si vous passez via un service CDN, encore faut-il que celui-ci soit proche géographiquement de votre serveur… et que votre hébergement soit lui dans le pays où vous touchez le maximum de clients. Avoir un serveur en France, avec un service CDN aux USA alors que vous avez votre clientèle en Suisse, serait à mon sens un bien mauvais deal.
Le cache serveur
C’est toujours « mieux » si on peut s’en passer, il faut faire appel à cette technique quand on a déjà optimisé le reste, mais que c’est toujours lent. Par exemple j’ai déjà pu observer des contraintes liées au APC cache sur certaines boutiques. Il arrive que parfois certains traitements peuvent se trouver altéré, cela peut-être aussi lié à l’actualisation des fichiers « .php » qui ne se fait par exemple pas immédiatement. Ces systèmes de caches sont intéressants, mais apportent un lot de contraintes supplémentaires et peuvent aussi apporter des bugs vicieux.
L’hebergement est vital
Quelque chose sur lequel il ne faut pas économiser c’est le « serveur », inutile d’aller le louer à l’étranger pour économiser quelques CHF / EUR. Il faut prendre un hébergement qui soit dans votre pays et auprès d’une entreprise sérieuse avec des infrastructures rapides (en Suisse je conseille Infomaniak ou Kreativmedia pour leur VPS). Un hébergement de bonne qualité vous évitera déjà bien des tracas au niveau de la vitesse de chargement.
Le trafic
Dans mes clients je constate que beaucoup ont un faible trafic, par ex. inférieur à 150 visites par jour. Imaginez cela fait 7 visiteurs par heure… donc peut-être en conclusion un visiteur simultané en train de naviguer sur le shop… Pensez-vous qu’il soit utile d’améliorer la vitesse quand le trafic permanent peut se situer entre 1 et 7 visiteurs simultanés ? C’est trop peu pour voir véritablement une différence sur la consommation des processus.
Les outils d’audit
A nouveau il faut être prudent concernant les chiffres annoncés via des services comme par exemple Gtmetrix, le service n’est pas forcément local (géographiquement) du coup déjà rien que par ce fait les valeurs et délais de chargements peuvent être faussés. Ce type d’outil peut servir à titre « indicatif », mais ne doit pas être considéré comme la « vérité incarnée ». Il faut aussi prendre en compte le temps de chargement « ressenti » et le temps de chargement « technique », ce qui compte surtout pour l’utilisateur c’est qu’il ait la sensation que la page se charge instantanément.
Bilan
Dans une bonne partie des cas le cache standard de Prestashop devrait suffire, pour autant que l’hébergement soit rapide. Il est possible ensuite de grappiller de la vitesse ici et là avec les autres options, mais très souvent le gain est minime et le ressenti pour l’utilisateur reste identique. Bon il y’a aussi des clients qui importent des flux énormes de produits > 100’000 et ensuite le chargement du shop devient lent et il faut optimiser le cache… Mais bon, si on veut gérer des centaines de milliers de produits… cela demande un peu plus de technique que le simple import d’un fichier CSV… du coup faut aussi certains moyens techniques et financier.
Source: Webbax.ch