Cache PrestaShop : quand un cache de pages complètes aide
Cache Pro enregistre vos pages PrestaShop et les sert avant que PrestaShop les reconstruise. Réglages, panier, purges, pré-chargement et ce que change la licence 2.0.1.
Votre boutique PrestaShop met plusieurs secondes à afficher une fiche produit, et vous hésitez à installer un cache de pages complètes : le gain de performance et de vitesse est réel, mais vous craignez un panier vide ou des prix périmés. La mise en cache garde le HTML final de vos pages publiques et le renvoie avant que PrestaShop les reconstruise.
Faut-il vraiment un cache de pages complètes sur PrestaShop ?
Oui si beaucoup de visiteurs anonymes ouvrent les mêmes pages et que votre serveur les reconstruit à chaque fois. Non si votre boutique est minuscule, si vos pages sont toutes personnalisées, ou si un cache serveur les sert déjà.
Une page PrestaShop n’est pas seulement un template Smarty compilé. À chaque visite, PrestaShop démarre le framework, interroge la base, exécute les requêtes et les hooks des modules, puis assemble le HTML. Le cache Smarty évite de recompiler les templates ; il n’évite ni les requêtes SQL ni les hooks. Un cache de pages complètes garde le HTML final.
La première visite d’une page la construit et l’enregistre. Les visiteurs suivants reçoivent la copie enregistrée, déjà compressée en Gzip et en Brotli quand l’extension PHP est présente. Sur une page servie depuis le cache, le module n’exécute aucune requête SQL.
Cache Pro convient à un catalogue avec beaucoup de produits, de règles de prix et de modules, où l’accueil, les catégories et les fiches produit sont vus par des visiteurs non connectés. Il apporte peu à une boutique de quelques dizaines de références ou derrière un cache serveur en place.
Quelles pages sont enregistrées, et qui reçoit une page normale ?
Les pages identiques pour tous les visiteurs sont enregistrées : accueil, fiches produit, catégories avec leurs pages 2, 3 et leurs tris, pages CMS, meilleures ventes, nouveautés, promotions, marques, fournisseurs et plan du site. Le panier, la commande, le compte, la recherche et le contact ne le sont jamais.
Les pages filtrées par facettes ne sont enregistrées que si vous activez Mettre en cache les pages filtrées ; l’option est désactivée par défaut.
Cache Pro garde une copie distincte par boutique, langue, devise et appareil. Les paramètres de suivi comme utm_source, gclid ou fbclid n’en créent pas : un lien de campagne utilise la même copie. Une adresse avec un paramètre inconnu n’est pas enregistrée.
Un client connecté, un visiteur avec des produits dans son panier, une adresse exclue, une requête Ajax, un envoi de formulaire ou le mode maintenance reçoivent une page construite par PrestaShop. C’est le réglage par défaut, et le plus sûr : le panier et les totaux ne sont jamais figés dans une copie partagée.
Pour que les visiteurs avec un panier reçoivent aussi les pages enregistrées, activez l’option Servir les pages enregistrées et rafraîchir le bloc panier. La page part tout de suite, puis une petite requête Ajax remet le bloc panier à jour. Le bouton Détecter le bloc panier de mon thème reconnaît les thèmes Classic et Hummingbird ; pour un autre thème, indiquez le hook et le sélecteur CSS du bloc. Sa page n’est jamais enregistrée.
Cas concret : une boutique qui vend en euros et en francs suisses ne sert jamais à un visiteur en CHF la copie d’un visiteur en EUR.
Comment activer Cache Pro et vérifier qu’il fonctionne ?
Installez l’archive depuis Modules > Gestionnaire de modules, activez la licence sur la page de configuration, puis cliquez sur Activer avec les réglages recommandés et sur Tester mon cache.
- Dans Modules > Gestionnaire de modules, cliquez sur Installer un module et choisissez l’archive ZIP. L’installation crée les tables, enregistre les hooks et protège le dossier du cache, qui reste désactivé jusqu’à son activation.
- Ouvrez la page de configuration. Le panneau Activation de la licence demande une Clé de licence et un Secret de licence ; le bouton Activer la licence valide l’abonnement. Sans licence valide, le module reste désactivé.
- Ouvrez Cache Pro dans le menu Modules, ou dans le menu WePresta sur PrestaShop 9. Les Vérifications indiquent ce qu’il faut corriger : dossier du cache, licence, Gzip et Brotli, cURL, maintenance, géolocalisation, autre module de cache et espace disque.
- Cliquez sur Activer avec les réglages recommandés. Vous ajusterez ensuite chaque type de page et sa durée dans Pages à mettre en cache.
- Cliquez sur Tester mon cache. Le test visite deux fois votre accueil : la première visite est générée et enregistrée, la seconde est servie depuis le cache, avec les deux temps de réponse.
- Cliquez sur Lancer le pré-chargement et laissez la page ouverte, ou confiez-le à une tâche planifiée. Il visite l’accueil, les catégories, les produits et les pages CMS dans toutes les langues, et la version mobile avec l’option Pré-charger aussi la version mobile.

Pour suivre une page, ouvrez les outils de développement du navigateur et chargez-la deux fois. L’en-tête X-WP-Cache affiche MISS à la première visite, HIT à la seconde et BYPASS quand PrestaShop a répondu volontairement : client connecté, panier, exclusion. Avec Apache, le dossier du cache est protégé par un fichier .htaccess ; avec nginx, ajoutez la règle de blocage de la documentation du module.
Pourquoi mes modifications n’apparaissent-elles pas tout de suite ?
Une page enregistrée reste servie jusqu’à la fin de sa durée, ou jusqu’à ce que PrestaShop signale une modification. Cache Pro supprime alors seulement les pages concernées, pas tout le cache.
Le module écoute les événements natifs de PrestaShop. Une modification de produit, de déclinaison, d’image, de marque ou de fournisseur supprime ses pages et les listes qui le montrent. Un changement de prix, de prix spécifique, de promotion ou de stock, même par une commande, supprime les pages qui affichent le produit. Une catégorie ou une page CMS modifiée rafraîchit toute la boutique, menus et pied de page compris.
Les durées par défaut vont de 30 minutes pour l’accueil à 24 heures pour les pages CMS. Les fiches produit restent 2 heures, les catégories et les autres listes 1 heure, et le minimum est de 60 secondes. Une page qui affiche une promotion programmée n’est enregistrée que jusqu’au début ou à la fin de cette promotion.
Quand une modification ne s’affiche pas, ne videz pas le cache entier par réflexe. Le tableau de bord montre les dernières purges et leur cause. Vous pouvez utiliser Vider une page depuis son adresse, ou tout vider après un changement de thème. Les purges fonctionnent même quand l’option Activer le cache est désactivée.
Que change la version 2.0.1 pour votre boutique ?
Depuis la 2.0.1, une licence absente, expirée, suspendue ou révoquée désactive entièrement le module : la boutique tourne comme sans Cache Pro, et vos réglages restent en place.
Avant cette version, le module restait activé sans licence valide : le cache ne servait plus de pages, mais les hooks et les purges continuaient. La 2.0.1 arrête tout. Aucune page n’est servie ni enregistrée, le tableau de bord et les réglages sont fermés, et seule la page de configuration reste accessible.
Vos réglages, vos statistiques, l’historique des purges, l’état du pré-chargement et le jeton de la tâche planifiée sont conservés. Les pages enregistrées sont supprimées à la désactivation. Après le renouvellement, la page de configuration réactive le module dès que la licence est valide : le cache repart vide et se remplit au fil des visites, ou avec le pré-chargement.

Le gestionnaire de modules refuse d’activer Cache Pro sans licence valide et renvoie vers sa page de configuration pour l’activer ou la renouveler. Une licence payée n’est pas coupée sur une réponse passagère du serveur. Une erreur, une limite de requêtes, une horloge décalée ou un serveur injoignable laissent sept jours de tolérance à partir du premier échec.
Un abonnement renouvelé reste valide pendant les sept jours qui suivent la date d’échéance enregistrée. Ensuite, le module interroge le serveur au plus une fois par heure. Sur la boutique, une page servie depuis le cache part avant ce contrôle ; sur les pages qui contournent le cache, le contrôle a lieu à la fin de la requête, au plus une fois par heure.
En multiboutique, activez la licence depuis la vue « toutes les boutiques », sinon les autres ne la lisent pas. La mise à jour 2.0.1 s’installe par-dessus la 2.0.0 et conserve réglages, pages enregistrées, statistiques et historique des purges.
Qu’est-ce que Cache Pro ne fait pas ?
Cache Pro n’accélère pas le back-office et ne met jamais en cache le panier, la commande, le compte ou le formulaire de contact.
Le back-office reste construit par PrestaShop à chaque requête. Les pages filtrées par facettes ne sont enregistrées que si vous activez Mettre en cache les pages filtrées, une option désactivée par défaut. Le tunnel de commande, l’espace client, les pages des autres modules et les requêtes Ajax ne sont pas enregistrés.
Il ne remplace ni un serveur sous-dimensionné ni un thème trop lourd. Il réduit le travail de PrestaShop sur les pages enregistrées ; la première visite coûte le temps normal. Compatibilité : PrestaShop 1.7.8, 8.0+ et 9.1+ (1.7.7 et 9.0 ne sont pas pris en charge), avec PHP 7.4 minimum, l’extension cURL, zlib et un dossier de cache accessible en écriture. Il faut une licence valide et un seul module de cache de pages à la fois.
Pour le référencement, le cache ne remplace pas des données structurées correctes : Schema Pro génère le JSON-LD des fiches produit. Pour une navigation à facettes sans recharger la page, regardez Advanced Search Pro. Pour GA4, GTM et les événements e-commerce, Google Tracking les envoie depuis votre boutique sans modifier le thème.
Questions fréquentes
Faut-il vraiment un module de cache de pages complètes ?
Le cache de pages complètes casse-t-il le panier et l’Ajax ?
Pourquoi une modification de produit n’apparaît-elle pas tout de suite ?
Combien de temps une page reste-t-elle en cache ?
Comment savoir si le cache fonctionne vraiment ?
Faut-il désactiver le cache quand on met à jour PrestaShop ou un module ?
Produits de cet article
Cache Pro — Full Page Cache with Brotli, Warm-Up & AJAX
Cache de pages complètes : les pages enregistrées sont envoyées avant que PrestaShop les construise, sans aucune...
Advanced Search Pro - Navigation à facettes rapide & filtres AJAX
Advanced Search Pro est un module PrestaShop de navigation à facettes (filtres avancés) ultra-rapide, conçu pour...
Schema Pro - Complete JSON-LD Structured Data & Rich Snippets
Product, ProductGroup, Organization, WebSite, BreadcrumbList, FAQPage, CollectionPage et ItemList générés depuis...
Google Analytics 4 (GA4) and GTM and Search Console Easy Connect
Connectez votre boutique à Google Analytics 4 , Google Tag Manager , Google Ads et Search Console sans toucher...