- Le probleme de performance de PrestaShop
- La solution Full Page Cache
- Impact concret sur votre boutique
- Cache de pages completes
- Gestion intelligente des contextes
- Invalidation automatique
- Compression Gzip et Brotli
- Minification HTML
- Warm-up du cache
- Modules dynamiques en AJAX
- Dashboard et statistiques
- API REST securisee
- Le module est-il compatible avec mon theme PrestaShop ?
- Le module fonctionne-t-il en multiboutique ?
- Le cache prend-il en compte les langues et les devises ?
- Faut-il vider le cache manuellement après chaque modification ?
- Le module est-il compatible avec tous les hébergements ?
- Peut-on garder un panier dynamique avec un cache de page ?
- Comment savoir si le cache fonctionne vraiment ?
- Le module améliore-t-il le SEO ?
- Le module est-il compatible avec d’autres modules de cache ?
- Peut-on piloter le cache depuis un outil externe ?
Cache Pro — Full Page Cache with Brotli, Warm-Up & AJAX
Presentation
Cache Pro — Full Page Cache with Brotli, Warm-Up & AJAX est un module PrestaShop de Full Page Cache conçu pour accélérer considérablement le chargement de votre boutique en enregistrant une version HTML prête à être servie aux visiteurs. Au lieu de recalculer chaque page à chaque visite via PHP, Smarty et SQL, le module délivre directement une copie déjà générée. Cette approche permet de réduire drastiquement le temps de réponse serveur (TTFB) et d’améliorer l’expérience utilisateur, le référencement naturel et le taux de conversion.
Sur une boutique PrestaShop avec plusieurs modules, de nombreuses fiches produits et un trafic régulier, chaque page peut nécessiter un volume important de traitements serveur. Cache Pro — Full Page Cache with Brotli, Warm-Up & AJAX élimine cette lourdeur sur les pages compatibles avec le cache, ce qui permet d’obtenir des temps de chargement extrêmement rapides, même sur des hébergements standards.
Ce module s’adresse aux marchands PrestaShop souhaitant améliorer les performances de leur site e-commerce sans dépendre d’une infrastructure complexe. Il convient aussi bien aux boutiques mono-boutique qu’aux environnements multiboutiques, multilingues et multi-devises.
Points forts :
- Cache de pages complètes côté serveur
- Très forte réduction du TTFB
- Purge automatique intelligente selon les modifications
- Warm-up du cache pour charger le catalogue à l’avance
- Compression Gzip et Brotli pré-calculée
- Compatibilité multilingue, multi-devise et multiboutique
- Modules dynamiques chargés en AJAX
- Dashboard avec statistiques et indicateurs de performance
- API REST sécurisée pour les outils externes
- Compatible avec PrestaShop 8 et 9
Pourquoi utiliser un cache sur PrestaShop
Le probleme de performance de PrestaShop
PrestaShop fonctionne de manière dynamique. À chaque requête, le serveur doit exécuter le cœur du CMS, charger les modules, interroger la base de données, compiler les templates et générer le HTML final. Ce fonctionnement est puissant, mais il devient coûteux en ressources lorsque la boutique contient beaucoup de produits, de règles de prix, de modules ou de trafic simultané.
En pratique, cela peut entraîner des temps de réponse élevés, une sensation de lenteur, une hausse du taux de rebond et une baisse de conversion. La performance d’un site e-commerce n’est pas seulement un sujet technique : elle influence directement le chiffre d’affaires et la visibilité SEO.
La solution Full Page Cache
Le principe du Full Page Cache est simple : lorsqu’une page est visitée pour la première fois, elle est générée normalement puis stockée sous forme de fichier HTML compressé. Lors des visites suivantes, cette version est servie immédiatement, sans relancer tout le cycle de génération PrestaShop.
Le résultat est spectaculaire : moins de calculs, moins de requêtes SQL, moins de charge CPU et une navigation beaucoup plus fluide pour vos visiteurs.
Impact concret sur votre boutique
Avec Cache Pro — Full Page Cache with Brotli, Warm-Up & AJAX, vous pouvez obtenir :
- un TTFB fortement réduit
- un meilleur score sur les outils de performance
- une amélioration potentielle des Core Web Vitals
- une boutique plus stable sous charge
- un meilleur confort de navigation sur mobile comme sur desktop
Fonctionnalites
Cache de pages completes
Le module enregistre une version complète des pages HTML de votre boutique et la sert directement aux visiteurs lorsque le contexte correspond. Cela permet d’éviter l’exécution du code PHP et des requêtes SQL pour les pages déjà mises en cache.
Le cache concerne notamment les fiches produits, catégories, CMS, page d’accueil et autres pages compatibles selon votre configuration.
Gestion intelligente des contextes
Le module tient compte des différents contextes qui influencent l’affichage de la boutique :
- langue
- devise
- pays
- boutique
- appareil mobile ou desktop
- groupe ou contexte visiteur
- consentement cookies selon la configuration
Ainsi, un visiteur en français et en CHF ne reçoit pas la même version qu’un visiteur en anglais ou en EUR. Cette séparation garantit un affichage cohérent et sécurisé.
Invalidation automatique
L’un des points forts de Cache Pro — Full Page Cache with Brotli, Warm-Up & AJAX est sa capacité à purger automatiquement les bonnes pages lorsque des modifications sont effectuées dans PrestaShop. Par exemple :
- modification d’un produit
- changement de prix ou de stock
- mise à jour d’une catégorie
- modification d’une page CMS
- ajout ou suppression d’un prix spécifique
- validation d’une commande impactant le stock
Vous n’avez donc pas besoin de vider le cache manuellement à chaque changement courant.
Compression Gzip et Brotli
Le module génère à l’avance des versions compressées des fichiers cache en Gzip et en Brotli. Le navigateur reçoit automatiquement la version la plus adaptée selon ses capacités.
Cette pré-compression accélère le transfert des pages et évite au serveur de compresser à la volée chaque réponse.
Minification HTML
Une option permet de minifier le HTML avant stockage :
- suppression des commentaires inutiles
- suppression des espaces superflus
- suppression des lignes vides
Cela réduit encore la taille des pages et améliore le rendement de la compression.
Warm-up du cache
Le module peut parcourir automatiquement les URLs du site pour mettre le cache en place avant que les visiteurs n’accèdent aux pages. Ce pré-chargement est particulièrement utile :
- après l’installation du module
- après une purge globale
- après une grosse mise à jour catalogue
- après un changement de thème
Le warm-up peut utiliser le sitemap XML si disponible ou reconstruire les URLs directement depuis le catalogue PrestaShop.
Modules dynamiques en AJAX
Certaines zones ne doivent pas être figées dans le cache, comme :
- le panier
- l’état de connexion client
- certains blocs personnalisés
- des éléments liés à la session utilisateur
Le module permet de transformer ces zones en blocs dynamiques chargés en AJAX. Ainsi, la page reste extrêmement rapide tout en affichant un contenu personnalisé après chargement.
Dashboard et statistiques
Le back-office inclut un tableau de bord complet avec des indicateurs utiles :
- nombre de pages en cache
- nombre de pages servies depuis le cache
- espace disque utilisé
- taux d’efficacité du cache
- répartition par type de page
- comparaison des temps de réponse
Ces données permettent de piloter la performance du module facilement.
API REST securisee
Une API REST protégée par token permet d’intégrer le module avec des outils externes comme :
- ERP
- PIM
- scripts de synchronisation
- outils de déploiement
- automatisations internes
Vous pouvez par exemple déclencher une purge après une mise à jour catalogue ou lancer un warm-up depuis un script externe.
Installation
- Téléchargez le fichier ZIP du module depuis votre espace client WePresta.
- Dans le back-office PrestaShop, allez dans Modules > Gestionnaire de modules.
- Cliquez sur Installer un module.
- Sélectionnez le fichier ZIP du module.
- Lancez l’installation.
Une fois installé, le module prépare automatiquement son environnement :
- création des éléments nécessaires en base de données
- création du répertoire de cache
- enregistrement des hooks utiles
- application des réglages par défaut recommandés
L’installation est simple et rapide, même sur une boutique déjà en production.
Premiers pas
Activer le cache
Après installation, rendez-vous dans la configuration du module et activez le système de cache via le paramètre principal. Par défaut, le module peut être présent mais inactif tant que vous ne l’avez pas activé.
Visiter les pages du site
Une fois activé, le cache se remplit automatiquement au fil des visites. Les premières consultations génèrent les pages, puis les suivantes bénéficient du cache.
Lancer un pre-chargement
Pour obtenir des performances optimales immédiatement, il est recommandé de lancer un warm-up du cache. Cela permet de préparer les pages les plus importantes avant même l’arrivée des premiers visiteurs.
Configuration
Parametres generaux
Le module propose plusieurs options globales de configuration :
- activation ou désactivation du cache
- mode debug avec headers HTTP
- activation de la minification HTML
- gestion des blocs dynamiques
- activation de l’API REST
- exclusions spécifiques
Ces réglages permettent d’adapter le comportement du cache à votre boutique, votre thème et votre hébergement.
TTL par type de page
Le TTL définit la durée de validité du cache pour chaque type de page. Une fois ce délai dépassé, la page peut être régénérée.
Vous pouvez définir un TTL distinct pour :
- page d’accueil
- fiches produits
- catégories
- pages CMS
- autres pages
Des valeurs recommandées sont proposées par défaut pour offrir un bon équilibre entre fraîcheur des données et performance.
Mode debug
Le mode debug ajoute des en-têtes HTTP permettant de voir facilement si une page est servie depuis le cache ou non. Cela facilite les tests techniques et le diagnostic.
Exemples d’informations visibles :
- HIT ou MISS
- clé de cache
- âge du cache
- TTL appliqué
Parametres avances
Pour les besoins plus techniques, le module permet également :
- l’exclusion par motif d’URL via regex
- l’exclusion par adresse IP
- l’ajout de blocs dynamiques personnalisés
- le réglage du comportement du warm-up
- la configuration du token API
Gestion du cache
Purge globale
Le bouton de purge globale supprime tous les fichiers de cache stockés. Cette action est utile après une très grosse mise à jour, un changement de thème ou une intervention technique importante.
Après une purge complète, il est conseillé de relancer immédiatement un warm-up.
Purge selective
Le module permet aussi de purger uniquement certaines familles de pages :
- accueil
- produits
- catégories
- CMS
- autres pages
Cette approche évite de repartir de zéro lorsqu’un changement n’affecte qu’une partie du site.
Pre-chargement du cache
Pourquoi utiliser le warm-up
Le warm-up permet d’éviter que les premiers visiteurs subissent les temps de génération normaux. En préparant à l’avance les pages importantes, votre boutique est rapide dès les premières visites.
Sources des URLs
Le module récupère les URLs de plusieurs façons :
- via le sitemap XML si disponible
- via les produits actifs
- via les catégories actives
- via les pages CMS actives
- via la page d’accueil
Vitesse de pre-chargement
Plusieurs niveaux peuvent être proposés selon la puissance de votre hébergement :
- mode prudent
- mode recommandé
- mode rapide
Le bon choix dépend du type d’hébergement et de la charge serveur acceptable.
Invalidation automatique
Evenements pris en charge
Le module surveille les événements principaux de PrestaShop afin de purger automatiquement les pages concernées. Cela inclut notamment :
- les modifications de produits
- les changements de catégories
- les mises à jour CMS
- les promotions
- les changements de stock
- certaines validations de commandes
Cette logique évite que vos visiteurs voient des données obsolètes sur les pages cachées.
Cas non detectes automatiquement
Certaines modifications ne peuvent pas toujours être détectées si elles contournent le fonctionnement standard de PrestaShop, par exemple :
- modifications directes en base de données
- certains modules tiers
- changements de thème ou de templates
- synchronisations externes sans hooks
Dans ces cas, une purge manuelle ou un appel API peut être nécessaire.
Exclusions
Exclusions par type de page
Certaines pages ne doivent jamais être mises en cache, notamment :
- le tunnel de commande
- le compte client
- les pages de recherche
- les pages contenant des formulaires sensibles
- certaines pages spécifiques à la session
Le module permet de gérer cela facilement via des cases à cocher.
Exclusions avancees par URL
Des motifs regex peuvent être ajoutés pour exclure précisément des URLs ou des familles de pages selon vos besoins.
Exclusions par IP
Vous pouvez aussi désactiver le cache pour certaines adresses IP, par exemple pour votre équipe interne ou votre IP d’administration afin de voir les modifications immédiatement.
Modules dynamiques
Pourquoi utiliser le hole punching
Les éléments comme le panier ou le nom du client connecté ne doivent pas être figés dans le HTML du cache. Le système de hole punching permet de servir une page cache très rapide tout en remplaçant ensuite les zones dynamiques avec leur vrai contenu via AJAX.
Blocs dynamiques pris en charge
Vous pouvez configurer des blocs dynamiques avec :
- un label interne
- un hook PrestaShop
- un sélecteur CSS cible
Cela permet d’adapter le module aussi bien au thème natif qu’aux thèmes tiers.
API REST
Utilisation de l’API
L’API REST du module permet de contrôler certaines actions à distance grâce à un token sécurisé envoyé dans les headers HTTP.
Actions disponibles
Les cas les plus courants incluent :
- purge complète du cache
- purge par type de page
- purge d’un produit précis
- purge d’une catégorie précise
- lancement du warm-up
- récupération des statistiques
Cette API est particulièrement utile pour les marchands ayant un écosystème connecté avec ERP, PIM ou scripts d’automatisation.
Fonctionnement technique
Creation d’une entree de cache
Lorsqu’un visiteur charge une page, le module détermine si une version compatible existe déjà. Si oui, elle est servie immédiatement. Sinon, la page est générée normalement, puis stockée en cache pour les prochaines visites.
Cle de cache
Chaque entrée de cache repose sur une clé calculée selon plusieurs facteurs de contexte, ce qui garantit qu’une version appropriée de la page est délivrée selon la langue, la devise, la boutique ou l’appareil.
Stockage des fichiers
Les fichiers cache sont organisés par type de page dans le dossier du module. Le stockage est structuré et pensé pour faciliter la purge, le diagnostic et la gestion des versions compressées.
Verification du bon fonctionnement
Verifier avec les headers HTTP
En activant le mode debug, vous pouvez contrôler rapidement le fonctionnement du cache depuis les outils développeur du navigateur.
Le comportement attendu est simple :
- premier chargement : MISS
- rechargement suivant : HIT
Verifier via le dashboard
Le dashboard du module doit montrer une augmentation progressive :
- du nombre de pages en cache
- du nombre de pages servies depuis le cache
- du taux d’efficacité global
Verifier sur le serveur
En consultant le dossier de cache sur le serveur, vous devez voir apparaître les fichiers HTML compressés générés par le module.
Compatibilite
Compatibilite PrestaShop
Le module est compatible avec :
- PrestaShop 8.0 à 9.x
Il s’intègre dans l’architecture standard du CMS et respecte les contextes essentiels liés à la boutique.
Compatibilite PHP
Le module nécessite :
- PHP 7.4 ou supérieur
Même si PHP 7.4 est supporté, l’utilisation de PHP 8.x est recommandée pour de meilleures performances et une compatibilité plus moderne.
Compatibilite themes
Le module est conçu pour fonctionner avec :
- le thème Classic
- le thème Hummingbird
- la majorité des thèmes tiers
Selon le thème utilisé, certains sélecteurs CSS des blocs dynamiques peuvent nécessiter une adaptation.
Compatibilite hebergement
Le module peut être utilisé sur :
- hébergement mutualisé
- VPS
- serveur dédié
- infrastructure cloud
Le niveau de warm-up recommandé dépendra de la puissance disponible.
Prerequis
- PrestaShop 8.0 ou 9.x
- PHP 7.4 ou supérieur
- Extension PHP
zlib - Droits d’écriture sur le dossier
modules/ - HTTPS recommandé pour un fonctionnement optimal
FAQ
Le module est-il compatible avec mon theme PrestaShop ?
Oui, Cache Pro — Full Page Cache with Brotli, Warm-Up & AJAX est compatible avec les thèmes PrestaShop standards ainsi qu’avec la majorité des thèmes tiers. Si votre thème utilise une structure HTML spécifique pour le panier, la zone utilisateur ou d’autres blocs dynamiques, il peut être nécessaire d’adapter les sélecteurs CSS dans la configuration des modules dynamiques.
Le module fonctionne-t-il en multiboutique ?
Oui, le module est compatible avec le mode multiboutique de PrestaShop. Chaque boutique dispose de son propre contexte de cache, de ses propres statistiques et de ses propres réglages selon la configuration utilisée dans le back-office.
Le cache prend-il en compte les langues et les devises ?
Oui, Cache Pro — Full Page Cache with Brotli, Warm-Up & AJAX gère séparément les versions de cache selon la langue, la devise et d’autres paramètres de contexte. Cela permet de servir la bonne page au bon visiteur sans mélange de contenu.
Faut-il vider le cache manuellement après chaque modification ?
Non, dans la plupart des cas, ce n’est pas nécessaire. Le module intègre une logique d’invalidation automatique qui purge les pages concernées lorsqu’un produit, une catégorie, une page CMS ou certaines données essentielles sont modifiés.
Le module est-il compatible avec tous les hébergements ?
Oui, le module fonctionne sur la plupart des hébergements compatibles avec PrestaShop. Sur un hébergement mutualisé, il est conseillé d’utiliser un warm-up prudent. Sur un VPS ou un serveur dédié, vous pouvez utiliser des réglages plus agressifs.
Peut-on garder un panier dynamique avec un cache de page ?
Oui, grâce au chargement AJAX des blocs dynamiques. Le module permet de conserver une page HTML cachée tout en affichant correctement le panier, l’état de connexion et d’autres zones personnalisées.
Comment savoir si le cache fonctionne vraiment ?
Le moyen le plus simple consiste à activer le mode debug puis à vérifier les headers HTTP dans votre navigateur. Vous pouvez aussi consulter le dashboard du module ou vérifier la présence des fichiers cache sur le serveur.
Le module améliore-t-il le SEO ?
Oui, indirectement. En réduisant fortement les temps de chargement et le TTFB, le module améliore l’expérience utilisateur et contribue à de meilleures performances techniques, ce qui peut avoir un impact positif sur le référencement naturel.
Le module est-il compatible avec d’autres modules de cache ?
Il est recommandé de ne pas utiliser plusieurs systèmes de cache de page en même temps. Pour éviter les conflits, il vaut mieux désactiver les autres modules de cache complet avant d’activer Cache Pro — Full Page Cache with Brotli, Warm-Up & AJAX.
Peut-on piloter le cache depuis un outil externe ?
Oui, le module propose une API REST sécurisée par token. Cela permet de déclencher des purges, des warm-up ou des actions ciblées depuis un ERP, un PIM ou un script d’automatisation.
Support
Pour toute question liée à l’installation, à la configuration ou au diagnostic du module, vous pouvez contacter l’équipe WePresta via votre espace client ou par email.
Pour un traitement plus rapide de votre demande, il est recommandé d’indiquer :
- votre version de PrestaShop
- votre version de PHP
- votre thème
- votre type d’hébergement
- une description précise du problème
- des captures d’écran si nécessaire
Changelog
Version 1.0.0
- Version initiale du module
- Mise en place du Full Page Cache
- Gestion des contextes multilingues, multi-devises et multiboutiques
- Invalidation automatique intelligente
- Compression Gzip et Brotli
- Minification HTML
- Dashboard de performance
- Warm-up du cache
- Modules dynamiques en AJAX
- API REST sécurisée