Comment vider le cache PrestaShop correctement
PrestaShop garde en mémoire une version déjà compilée de ses pages pour ne pas tout recalculer à chaque visite. Une modification qui ne s’affiche pas, ou une erreur qui persiste après correction, vient presque toujours de ce cache qu’il faut vider au bon endroit.
Vider le cache selon la version
-
Depuis le back-office (toutes versions)
Paramètres avancés > Performances propose un bouton pour vider le cache Smarty. C’est la méthode la plus sûre car elle reste dans le cadre prévu par PrestaShop.
-
Par FTP sur PrestaShop 1.7, 8 et 9
Supprimez le contenu des dossiers var/cache/prod et var/cache/dev, en conservant les dossiers eux-mêmes vides plutôt que de les supprimer entièrement : PrestaShop les recrée automatiquement à la prochaine requête.
-
Par FTP sur PrestaShop 1.6
Videz le contenu de cache/smarty/compile et cache/smarty/cache, qui contiennent respectivement les templates compilés et le cache de rendu.
-
Vérifier l’affichage
Rechargez la page concernée en navigation privée pour écarter tout cache navigateur qui fausserait la vérification.
-
Vider aussi le cache serveur si présent
Si un cache mémoire (Redis, Memcached) ou un cache de page (Varnish, cache d’un plugin d’hébergement mutualisé) est en place, il doit être vidé séparément : le cache PrestaShop et le cache serveur sont deux couches distinctes.
Deux caches différents, deux effets différents
Le cache de compilation transforme les fichiers de template (.tpl) en PHP exécutable une seule fois, puis réutilise ce résultat tant que le template source ne change pas. Le vider force PrestaShop à recompiler, ce qui est nécessaire après une modification de thème qui ne s’affiche pas.
Le cache de rendu, lui, stocke des fragments de page déjà générés (souvent des blocs comme le menu ou le pied de page) pour éviter de les reconstruire à chaque visite. Le vider est nécessaire après un changement de configuration, de catégorie ou de produit qui n’apparaît pas côté front malgré une modification confirmée en base.
Sur PrestaShop 1.7 et plus, un troisième niveau existe côté Symfony : la configuration du back-office (menus, formulaires) est elle aussi mise en cache dans var/cache. Un nouvel onglet ou module qui n’apparaît pas dans le menu d’administration se corrige souvent en vidant ce cache-là spécifiquement.
Les erreurs courantes
- Supprimer le dossier var/cache lui-même plutôt que son contenu, ce qui peut provoquer une erreur si les droits d’écriture ne permettent pas au serveur de le recréer.
- Confondre le vidage du cache avec le vidage du cache navigateur : une modification bien appliquée peut sembler absente simplement parce que le navigateur affiche une version enregistrée localement.
- Vider le cache en pleine période de forte affluence sur un gros catalogue : la reconstruction du cache consomme davantage de ressources serveur le temps que les pages soient recompilées.
- Oublier le cache CDN si la boutique en utilise un : les fichiers CSS ou JS modifiés peuvent rester périmés côté visiteur bien après le vidage du cache PrestaShop.
Questions fréquentes
Vider le cache peut-il faire perdre des données ?
Pourquoi le site est-il plus lent juste après avoir vidé le cache ?
Faut-il vider le cache après chaque modification de produit ?
Le bouton de vidage du back-office est grisé ou provoque une erreur, que faire ?
Décrivez votre besoin en 1 minute
Quelques questions ciblées pour que je vous réponde avec une estimation, pas avec un questionnaire de plus.