Un site PrestaShop lent, ce n’est presque jamais une fatalité. Dans la majorité des cas, le problème vient d’une configuration approximative du cache. Et c’est logique : entre Smarty, les caches fichiers, les systèmes externes comme Memcached ou Redis, on peut vite activer des options sans vraiment comprendre leur impact.
Sur le terrain, on voit souvent des boutiques avec un cache activé… mais mal configuré. Résultat : aucun gain réel, voire des bugs d’affichage. Voici comment configurer correctement le cache PrestaShop, avec des réglages concrets et applicables.
Comprendre le rôle du cache dans PrestaShop
Le cache sert à éviter de recalculer les mêmes éléments à chaque chargement de page. Sans cache, PrestaShop va :
– interroger la base de données en permanence
– recompiler les templates Smarty
– reconstruire les fichiers CSS et JS
Avec un cache bien configuré, une partie de ces opérations est évitée. Les pages s’affichent plus vite, et le serveur est moins sollicité.
Mais attention : activer le cache sans logique peut générer des incohérences (produits qui ne se mettent pas à jour, panier instable, etc.). D’où l’intérêt de bien comprendre chaque option.
Configurer correctement le cache Smarty
Dans le back-office, allez dans : Paramètres avancés > Performance.
C’est ici que tout commence.
Compilation des templates
En production, le bon réglage est : « Ne jamais recompiler les fichiers de templates ».
Sur des sites clients, on voit souvent « Recompiler si les fichiers ont été mis à jour » laissé actif. Ça ralentit inutilement le site.
À réserver uniquement en phase de développement.
Cache Smarty
Activez le cache Smarty. C’est la base.
Ensuite, deux options importantes :
– « Ne jamais vider le cache » : performant, mais risqué si vous faites souvent des modifications
– « Vider le cache à chaque modification » : plus sûr, légèrement moins rapide
En pratique, pour une boutique stable, le premier choix fonctionne bien. Sinon, restez sur le second.
Activer les optimisations CCC (CSS, JS, HTML)
Juste en dessous, vous avez les options CCC (Combine, Compress and Cache).
C’est souvent activé… mais pas toujours correctement testé.
Smart cache pour CSS
À activer. Cela regroupe les fichiers CSS en un seul, ce qui réduit les requêtes HTTP.
Sur certains thèmes mal conçus, ça peut casser l’affichage. Il faut vérifier visuellement après activation.
Smart cache pour JavaScript
Même logique. Activez-le, puis testez :
– ajout au panier
– filtres produits
– navigation mobile
Certains modules injectent du JS incompatible avec la concaténation.
Minification HTML
Option utile mais moins critique. Elle supprime les espaces inutiles dans le code.
Gain léger, mais sans risque en général.
Choisir le bon système de cache (fichier, Memcached, Redis)
PrestaShop permet d’aller plus loin que le simple cache disque.
Cache fichier
C’est le mode par défaut. Il fonctionne, mais reste limité sur des sites avec beaucoup de trafic.
Sur un petit site, ça suffit largement.
Memcached
Bonne option si votre hébergeur le propose.
Il stocke les données en mémoire vive, donc beaucoup plus rapide que le disque.
Configuration :
– récupérer l’adresse IP du serveur Memcached
– l’ajouter dans PrestaShop
– tester la connexion
Redis
Souvent plus performant et plus stable que Memcached.
Très utile sur les boutiques avec catalogue volumineux.
Mais nécessite un hébergement compatible.
Sur plusieurs projets, le simple passage de cache fichier à Redis a divisé le temps de chargement par deux.
Bien gérer la durée de vie du cache
Un cache efficace dépend aussi de sa durée de vie.
Certains modules permettent de définir un TTL (Time To Live).
Exemple concret :
– pages produit : cache plus long si peu de changements
– stock ou prix dynamiques : cache plus court
Si le cache est trop long, vous risquez d’afficher des informations obsolètes. Trop court, et vous perdez l’intérêt du cache.
C’est un réglage à adapter selon votre activité.
Nettoyer le cache correctement après modification
Beaucoup de bugs viennent simplement d’un cache non vidé.
Après :
– installation de module
– modification de thème
– changement de configuration
Il faut vider le cache.
Depuis le back-office ou manuellement via /var/cache (ou /cache selon version).
Sur certains hébergements, il faut aussi vider :
– le cache serveur (Varnish)
– le cache CDN (Cloudflare par exemple)
Sinon, vous testez… mais pas la bonne version du site.
Vérifier que le cache fonctionne réellement
Activer le cache ne garantit rien. Il faut contrôler.
Quelques méthodes simples :
– mesurer le temps de chargement avant/après (GTmetrix, PageSpeed)
– observer le nombre de requêtes
– analyser le TTFB (Time To First Byte)
Si rien ne change, c’est qu’il y a un problème :
– cache mal configuré
– conflit module
– serveur trop limité
Les erreurs fréquentes qui annulent les bénéfices du cache
On retrouve souvent les mêmes situations :
– cache activé mais mode debug actif (ça annule une partie des gains)
– modules mal optimisés qui désactivent le cache
– trop de modules installés (même avec cache, ça ralentit)
– hébergement insuffisant
Un point souvent sous-estimé : certains modules forcent le recalcul des pages. Résultat, le cache est contourné sans que ce soit visible.
Cache et hébergement : un lien direct
Un cache bien configuré ne compense pas un mauvais serveur.
Si vous êtes sur un hébergement mutualisé bas de gamme :
– accès disque lent
– mémoire limitée
– CPU partagé
Le cache aura un impact limité.
Dans ces cas-là, passer sur :
– un VPS
– ou un hébergement optimisé PrestaShop
fait souvent plus de différence que tous les réglages.
Ce qu’on ajuste en priorité en maintenance réelle
Quand on intervient sur une boutique lente, on ne touche pas à tout d’un coup.
On commence généralement par :
– vérifier si Smarty est correctement configuré
– activer CCC avec tests visuels
– analyser les modules gourmands
– tester un cache mémoire (Redis ou Memcached)
– mesurer les gains à chaque étape
Ça évite de casser le site tout en améliorant progressivement les performances.
Et surtout, ça permet de comprendre ce qui fonctionne vraiment, au lieu d’empiler des optimisations sans logique.
Faut-il activer le cache PrestaShop en permanence ?
Non, il est recommandé d’activer le cache uniquement en environnement de production. En phase de développement ou de modification du site, le cache peut empêcher l’affichage des changements en temps réel. Une fois les ajustements terminés, réactivez-le pour bénéficier d’un gain de performance immédiat.
Quelle est la différence entre le cache Smarty et le cache serveur ?
Le cache Smarty agit au niveau de PrestaShop en stockant les templates compilés, ce qui accélère l’affichage des pages. Le cache serveur (comme OPcache, Varnish ou Redis) intervient plus bas dans l’infrastructure et permet de réduire le temps de traitement global. Les deux sont complémentaires pour obtenir de bonnes performances.
Comment savoir si mon cache est correctement configuré ?
Un cache bien configuré se traduit par un temps de chargement réduit et stable, même avec plusieurs visiteurs simultanés. Vous pouvez le vérifier avec des outils comme PageSpeed Insights ou GTmetrix. Si les temps restent élevés, cela peut indiquer un cache mal activé ou inefficace.
Le cache peut-il provoquer des bugs d’affichage sur PrestaShop ?
Oui, un cache mal géré peut afficher des contenus obsolètes ou empêcher la mise à jour de certaines pages (produits, prix, modules). Dans ce cas, vider le cache ou ajuster sa configuration permet généralement de corriger le problème rapidement.
Est-il utile de combiner le cache avec d’autres optimisations PrestaShop ?
Absolument. Le cache est efficace, mais il doit être accompagné d’autres optimisations comme la compression des images, la réduction des modules inutiles ou l’utilisation d’un hébergement performant. C’est la combinaison de ces actions qui garantit une vraie amélioration de la vitesse.