Le plus souvent, rien de grave : vous avez vidé un cache, mais pas celui qui garde l'ancienne version. Il peut y en avoir quatre entre la boutique et votre écran, et le bouton « Vider le cache » de PrestaShop ne vide que le sien.
Les quatre caches qu'on confond
Un cache garde une copie des pages pour les afficher plus vite.
- Le navigateur garde les images et la mise en forme des pages vues. Le rechargement forcé le contourne : Ctrl+F5 sous Windows, Cmd+Maj+R sur Mac avec Chrome ou Firefox.
- Le cache de PrestaShop se vide avec le bouton « Vider le cache », en haut à droite de l'écran Paramètres avancés > Performances. Il contient des morceaux de pages préparés par Smarty, le moteur d'affichage du thème. L'option CCC, qui regroupe les fichiers CSS et JavaScript (apparence et animations), peut en servir d'anciennes versions.
- L'hébergeur a souvent son propre cache : OPcache garde en mémoire le code de PrestaShop déjà lu ; un cache de page LiteSpeed ou Varnish, des pages entières toutes prêtes. Il se vide depuis votre espace client, ou par l'hébergeur.
- Le CDN ou proxy, comme Cloudflare, se place entre la boutique et vos visiteurs. Il garde surtout les images, CSS et JavaScript, et se purge dans son tableau de bord.
Trouver le cache qui répond
Nous vérifions dans cet ordre :
- Ouvrez la page concernée dans une fenêtre de navigation privée, depuis le menu du navigateur. Si la modification y apparaît, c'est votre navigateur : un rechargement forcé suffit.
- Regardez-la sur un autre appareil et un autre réseau : votre téléphone en 4G, wifi coupé. Si l'ancienne version s'y affiche encore, vos clients la voient sans doute aussi.
- Ajoutez
?test=1à la fin de l'adresse : pour le serveur et le CDN, c'est une adresse nouvelle. Si la modification apparaît avec ce paramètre et pas sans, l'un des deux sert une ancienne copie.
Si le paramètre n'y change rien, videz le cache de PrestaShop. Pour tout vider, partez de la boutique : PrestaShop, l'hébergeur, le CDN, puis le navigateur. Dans l'autre sens, le CDN peut reprendre l'ancienne copie encore gardée par le serveur.
Quand le cache n'y est pour rien
Rouvrez d'abord dans le back-office ce que vous avez modifié : si l'ancienne valeur y est encore, l'enregistrement a échoué. Recommencez et lisez le message affiché.
- En multiboutique, vérifiez le sélecteur de boutique en haut du back-office : une modification enregistrée pour une autre boutique ne se voit pas sur celle que vous regardez.
- Chaque texte existe dans chaque langue de la boutique : vérifiez celle choisie à côté du champ. Vous avez peut-être corrigé l'anglais en regardant le site en français.
- Un module peut prendre la main sur l'affichage : vous corrigez la description du produit, mais la page montre le bloc d'un constructeur de pages, qui a son propre texte.
- Une page blanche ou une erreur 500 qui reste après le vidage est une vraie panne, sans rapport avec le cache.
Avant de nous écrire
Ne supprimez rien par FTP (l'accès direct aux fichiers du serveur) hors de var/cache : un autre dossier effacé peut casser la boutique. Si vous avez coupé un cache pour un test, remettez-le.
Écrivez-nous si rien ne bouge après ces tests, ou s'il vous manque l'accès à l'hébergement ou à Cloudflare. Envoyez :
- l'adresse de la page ;
- ce que vous avez modifié, où et à quelle heure ;
- une capture d'écran ;
- le résultat des trois tests ;
- le nom de l'hébergeur, et si la boutique passe par Cloudflare.