Disponible pour missions & renforts d’agence · Réponse rapide, par la personne qui intervient

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.

Décrire mon problème Discuter sur WhatsApp

Vider le cache selon la version

  1. 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.

  2. 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.

  3. 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.

  4. Vérifier l’affichage

    Rechargez la page concernée en navigation privée pour écarter tout cache navigateur qui fausserait la vérification.

  5. 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 ?
Non, le cache ne contient que des versions recalculables de contenu déjà en base de données. Aucune commande, produit ou client n’est affecté par un vidage de cache.
Pourquoi le site est-il plus lent juste après avoir vidé le cache ?
C’est normal : les premières visites après un vidage reconstruisent le cache page par page, ce qui prend un peu plus de temps. La vitesse normale revient dès que les pages les plus visitées ont été recompilées.
Faut-il vider le cache après chaque modification de produit ?
Non, PrestaShop invalide automatiquement le cache concerné lors des modifications faites depuis le back-office. Le vidage manuel n’est utile qu’en cas de modification directe des fichiers ou de comportement anormal persistant.
Le bouton de vidage du back-office est grisé ou provoque une erreur, que faire ?
Cela indique en général un problème de droits d’écriture sur var/cache ou cache/smarty : le serveur web doit pouvoir écrire dans ces dossiers pour que PrestaShop puisse les vider et les reconstruire lui-même.

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.

Qu’est-ce qui est lent exactement ?
Le cache PrestaShop est-il activé ?

Réglages > Performances : un cache désactivé ou mal configuré explique une grande partie des lenteurs constatées.

Combien de références au catalogue, environ ?
Quel type d’hébergement utilisez-vous ? (facultatif)
Avez-vous déjà une mesure chiffrée ? (facultatif)

PageSpeed Insights, GTmetrix, ou simplement un temps ressenti — les deux sont utiles.

Indiquez au moins un e-mail ou un téléphone pour que je puisse vous répondre.

Indiquez au moins un e-mail ou un téléphone pour que je puisse vous répondre.