Performance Revolution : installation et aide

Démarrage rapide

  1. Téléversez et installez le ZIP dans Modules > "Module Manager", puis ouvrez Performances > Paramètres.
  2. Choisissez Backend de cache et vérifiez le point de connexion Redis effectif ou un autre adaptateur disponible.
  3. Vérifiez Cache global et Front-Office dans "Cache" > Aperçu.
  4. Examinez Mise en cache de fragments, Cache de requêtes, Optimisation des ressources et "Images", puis enregistrez la configuration initiale.
  5. Si vous utilisez le cache de page complète, activez Activer le cache de pages d'origine et examinez En-tête de diagnostic sur une URL anonyme sans état particulier.
  6. Demandez la page deux fois, puis vérifiez dans des sessions distinctes que le panier, la connexion, le compte et la commande contournent le HTML anonyme partagé.
  7. Configurez séparément le CDN et le préchauffage planifié si nécessaire, et vérifiez leur état de configuration et les résultats de l'exécuteur.

Nécessite PrestaShop 1.6.1 ou ultérieur et PHP 7.1 ou ultérieur.

Manuel de configuration

Installer et établir une référence

Téléversez le ZIP dans Modules > "Module Manager", installez-le et cliquez sur "Configure". Le menu du back-office est Performances, avec Tableau de bord, "Cache", Ressources, Requêtes, Sauvegarde, Paramètres et Vérification système.

Avant d'activer d'autres couches, relevez le comportement de l'accueil, des catégories, produits, panier, compte et commande. Testez dans un navigateur client et un navigateur employé. Sélectionnez la boutique voulue et sauvegardez la configuration avant de modifier le cache du cœur ou les règles CDN.

Commencez dans Paramètres > Backend de cache. Le processus PHP doit pouvoir écrire dans les répertoires du cache PrestaShop et des ressources générées. L'installation du cache d'objets Redis de PrestaShop nécessite aussi l'accès à la classe de cache du cœur et aux fichiers de configuration concernés. Les actions Cloudflare nécessitent un jeton autorisé pour la zone sélectionnée et les opérations demandées.

Choisir le backend et les périmètres du cache

Paramètre Valeur par défaut Votre configuration
Backend de cache auto Sélectionnez "Auto", Redis, APCu ou "File" pour le gestionnaire de cache du module. "Auto" choisit un backend disponible et pris en charge.
TTL du cache par défaut 3600 secondes Durée de vie par défaut des entrées du module.
Hôte Redis 127.0.0.1 Valeur portable du module. La configuration Redis existante de PrestaShop peut influencer le point de connexion effectif ; examinez sa source affichée.
Port Redis 6379 Port TCP Redis.
Mot de passe Redis Vide Mot de passe d'authentification si nécessaire.
Base de données Redis 0 Index de la base de données.
Préfixe Redis mpr_perf: Préfixe des clés du module.
Délai de connexion Redis 0.25 seconde Délai de connexion.
Délai de lecture Redis 0.5 seconde Délai de lecture.
Cache objet PrestaShop (Redis) Paramètre existant du cœur Commande distincte du cache d'objets du cœur PrestaShop via MPRCacheRedis. Lit la configuration du cœur plutôt qu'une valeur fixe du module.

Enregistrez et vérifiez l'adaptateur sélectionné sur Tableau de bord. Si Redis ne se connecte pas, vérifiez l'hôte, le port, l'authentification, la base et la prise en charge Redis par PHP. Le choix du backend du module n'active pas nécessairement le cache d'objets du cœur.

Ouvrez "Cache" > Aperçu pour les interrupteurs Cache global, Front-Office, Administration et "Webservice". Ils sont activés par défaut dans le module. L'interrupteur global contrôle l'utilisation du cache du module et ceux des périmètres limitent les contextes de requête correspondants.

Utilisez "Cache" > Couches pour gérer les couches, Navigateur pour examiner les entrées, "Pages" pour les données du cache de pages et Préréglages pour consulter les préréglages disponibles. Lisez un préréglage avant de l'appliquer, car il modifie plusieurs paramètres ensemble.

Configurer les fragments et les requêtes

Ouvrez Paramètres > Mise en cache de fragments.

Paramètre Valeur par défaut Effet
Activer le cache des fragments Activé Active les fragments Smarty explicitement marqués. N'englobe pas automatiquement chaque section du thème.
TTL par défaut 3600 secondes Durée de vie lorsqu'un fragment ne fournit pas sa propre TTL.

Un développeur peut mettre en cache un fragment de catégorie en incluant l'identité de celle-ci :

{mpr_cache id="category_products" ttl=3600 tags=["product","category"] vary=["category" => $category.id]}
  {foreach from=$products item=product}
    {include file='catalog/_partials/miniatures/product.tpl' product=$product}
  {/foreach}
{/mpr_cache}

La clé de cache inclut la langue, la boutique, la devise et le groupe client par défaut, sauf si l'inclusion du contexte est désactivée. Ajoutez à vary toute autre valeur influençant le fragment. Ne placez pas de balisage propre à un client dans un fragment partagé sans variation adaptée ou remplacement dynamique.

Utilisez des espaces réservés dynamiques pour les valeurs prises en charge de la requête courante :

<span class="cart-count">{mpr_dynamic name="cart_count"}</span>
<span class="cart-total">{mpr_dynamic name="cart_total"}</span>
<span class="customer-name">{mpr_dynamic name="customer_name" default=""}</span>
<span class="csrf-token">{mpr_dynamic name="csrf_token"}</span>

Les noms pris en charge couvrent aussi les valeurs du client, de la langue, de la devise et de la boutique. Un fournisseur personnalisé peut utiliser actionMPRDynamicContent :

public function hookActionMPRDynamicContent($params)
{
    if (($params['name'] ?? '') === 'loyalty_points') {
        return (string) $this->getCurrentCustomerPoints();
    }
    return $params['default'] ?? '';
}

Ouvrez Paramètres > Cache de requêtes.

Paramètre Valeur par défaut Effet
Activer le cache des requêtes Activé Active la mise en cache des résultats de requêtes prise en charge.
Préchargement des requêtes SQL Désactivé Mode optionnel de préchargement des requêtes. Laissez-le désactivé à la première configuration ; vérifiez le mode choisi avec votre charge de requêtes.
Activer le profilage des requêtes Désactivé Collecte les durées d'exécution des requêtes.
Seuil de requête lente 0.1 seconde Seuil de signalement des requêtes lentes.
TTL du cache des requêtes 300 secondes Durée de vie des résultats de requêtes en cache.

Utilisez Requêtes pour examiner les requêtes collectées. Activez le profilage pendant un diagnostic, puis évaluez son surcoût avant de le conserver.

Configurer les ressources et le CSS hors ligne

Ouvrez Paramètres > Optimisation des ressources. Activez et testez une modification à la fois sur votre thème.

Paramètre Valeur par défaut Effet
Activer l'optimisation des ressources Activé Interrupteur principal du traitement des ressources.
Regroupement des ressources Désactivé Remplace les ressources d'origine par des bundles optimisés.
Report intelligent des ressources Désactivé Diffère les ressources des modules pris en charge selon les besoins de la page et des interactions.
Minification CSS Activé Minifie le CSS.
Minification JS Activé Minifie le JavaScript.
Combinateur CSS intégré Désactivé Utilise le combineur du module plutôt que le seul CCC natif.
Supprimer le CSS inutilisé Désactivé Supprime les sélecteurs absents des templates et scripts collectés. Vérifiez ensuite les composants dynamiques.
"Resource Hints" Activé Ajoute les indications preload, prefetch, preconnect et DNS-prefetch prises en charge.
CSS par type de page Désactivé Utilise des variantes de feuilles de style construites hors ligne pour les types de pages pris en charge. Si une variante manque ou est périmée, la feuille complète est utilisée.
CSS initial généré Désactivé Insère en ligne le CSS initial validé produit par le worker hors ligne. C'est le libellé actuel de l'ancienne description "Critical CSS".
Pages avec CSS initial auto Cible automatiquement l'accueil, les catégories principales, les meilleurs produits et les pages CMS clés par langue, ou fournit des URL cibles explicites.
Budget du CSS initial 51200 octets Budget d'insertion en ligne, de 8192 à 51200 octets. Une page exigeant davantage conserve ses feuilles complètes.
JS différé au repos Désactivé Charge plus tard le JavaScript de modules sélectionnés par le mécanisme de report au repos.
Modules différés Aucun Choisissez les ressources des modules à reporter au repos. Testez les fonctions interactives qui en dépendent.

Activer le CSS généré ne lance pas de navigateur pendant une requête de la boutique. Construisez-le avec les workers distincts. État du CSS initial généré indique sa disponibilité. Le worker "Critical CSS" nécessite Node 22.12 ou ultérieur et son environnement de navigateur configuré. Suivez ses instructions fournies pour la génération et le déploiement.

Ces commandes CLI examinent ou initialisent son travail ; elles ne réalisent pas elles-mêmes toute la génération par navigateur :

php modules/mprperformancerevolution/cli/critical-css.php --targets
php modules/mprperformancerevolution/cli/critical-css.php --seed
php modules/mprperformancerevolution/cli/critical-css.php --status
php modules/mprperformancerevolution/cli/page-type-css.php --status

Reconstruisez les données CSS hors ligne après des modifications pertinentes des feuilles de style, templates, scripts ou contenus. Si les données générées sont absentes ou invalides, le module revient aux feuilles complètes.

Configurer le préchargement de navigation et les images

Ouvrez Paramètres > Navigation instantanée.

Paramètre Valeur par défaut Effet
Charger les pages à l'avance Activé Publie les règles de spéculation navigateur prises en charge. Les navigateurs non compatibles les ignorent.
Que charger à l'avance "Prefetch" "Prefetch" télécharge seulement. "Prerender" effectue aussi le rendu et exécute les scripts avant la navigation : vérifiez chaque intégration de suivi avant de le choisir.
Quand commencer : visiteurs servis par le cache "Moderate" Commence après un bref survol.
Quand commencer : autres visiteurs "Conservative" Commence au clic/toucher pour limiter le travail sans cache.
Ne jamais charger à l'avance Vide Ajoutez des chemins ou globs, un par ligne. Les exclusions intégrées des parties privées/actions restent actives.

La politique intégrée exclut panier, commande, compte, connexion, liens avec paramètres de requête, fichiers, liens nofollow et outils du module. Le serveur valide également les requêtes spéculatives.

Ouvrez Paramètres > "Images".

Paramètre Valeur par défaut Effet
Chargement différé Activé Ajoute le chargement différé natif des images là où l'optimiseur intervient.
Conversion WebP Désactivé Génère du WebP si le serveur le permet.
Conversion AVIF Désactivé Génère de l'AVIF avec un encodeur disponible et pris en charge.

L'encodage AVIF à l'exécution peut utiliser GD imageavif ou Imagick avec prise en charge AVIF. GD AVIF nécessite généralement PHP 8.1 ou ultérieur. La génération par lots peut aussi utiliser le backend Python fourni si Python, Pillow, pillow_avif et l'exécution de processus sont disponibles. WebP utilise les fonctions GD prises en charge.

Des valeurs internes supplémentaires s’appliquent aux images des listes : le filtre de types d'images est désactivé par défaut, et la liste est default_sm,default_md,default_lg,home_default,product_main,product_main_2x. Ce ne sont pas des champs visibles distincts dans le formulaire standard "Images". De même, le taux d'échantillonnage RUM interne est 0.1.

Pour un lot contrôlé, exécutez depuis la boutique installée :

php modules/mprperformancerevolution/scripts/generate-images-cli.php --quality=50 --webp-quality=80 --webp --limit=100

Utilisez --path=PATH, répétable, pour limiter le travail à l'intérieur de la racine de la boutique. --force régénère les variantes existantes. Examinez les nombres de conversions, d'éléments ignorés et d'erreurs avant un lot plus important.

Configurer le cache de pages d'origine

Ouvrez Paramètres > Cache de pages d'origine.

Paramètre Valeur par défaut Effet
Activer le cache de pages d'origine Désactivé Stocke et sert le HTML anonyme validé avant l'exécution normale du contrôleur.
TTL du cache de pages d'origine 86400 secondes Plage autorisée : 60 à 2592000 secondes.
URL exclues supplémentaires Vide Ajoutez des chemins ou globs, un par ligne. Les exclusions intégrées des routes privées et sessions restent actives.
En-tête de diagnostic Activé Émet X-MPR-PageCache avec un hit, un miss ou une raison structurelle de contournement.

Il s'agit d'un véritable cache de page complète à l'origine utilisant le gestionnaire du module. Il est distinct du cache HTML CDN et des fragments Smarty. Panier, compte, commande, administration, AJAX, cookies de session non sûrs et requêtes inconnues le contournent selon la politique d'exécution.

Activez-le après avoir vérifié une page anonyme sans état particulier et les cas de contournement requis. Demandez deux fois la même URL anonyme et examinez X-MPR-PageCache. Testez ensuite connexion, création de panier, changements de devise/langue et pages privées dans des sessions de navigateur distinctes.

Configurer le préchauffage et les tâches planifiées

Ouvrez Paramètres > Préchauffage du cache.

Paramètre Valeur par défaut Effet
Activer le préchauffage du cache d'origine Désactivé Active les passages planifiés à l'origine.
Autoriser le préchauffage CLI après déploiement Activé Autorise un passage CLI complet après déploiement.
Simultanéité 1 Requêtes simultanées à l'origine.
Durée d'exécution maximale 120 secondes Limite un passage normal.
Ensemble d'URL all Choisissez Critique, "Manifest", "Sitemap" ou Tous.
IP de résolution de l'origine 127.0.0.1 Résout le nom d'hôte de la boutique vers cette IP pour le préchauffage d'origine.
Limite après un préchauffage récent 12 heures Ignore les URL récemment préchauffées lors des passages normaux.
Pause entre les requêtes 500 ms Espace les requêtes.
Arrêt au-delà de la charge du serveur 100 pour cent Suspend lorsque la charge normalisée de l'hôte atteint la limite configurée.
Activer le préchauffage de l'edge Cloudflare Désactivé Préchauffe les URL publiques via l'Edge.
Intervalle de préchauffage de l'edge 6 heures Limitation après un préchauffage Edge récent.
Rendus de préchauffage par heure 6 Budget partagé de rendus planifiés.
Temps de requêtes de préchauffage par heure 60 secondes Budget partagé de durée des requêtes planifiées.
Début calme de chaque tranche de 10 minutes 30 secondes Réserve le début de chaque bloc aux autres tâches planifiées.

Copiez le jeton réellement généré dans le planificateur du serveur. Commande typique de l'exécuteur :

* * * * * php /var/www/html/modules/mprperformancerevolution/cron.php --token=YOUR_TOKEN --max-tasks=20 --max-seconds=55 --context=cron

Adaptez les chemins PHP et boutique. L'exécuteur gère aussi les nettoyages déclarés, invalidations/purges en attente, traitements d'images et maintenance CSS selon l'état des tâches. L'activation d'une fonction et la planification de sa tâche se vérifient séparément.

Un passage manuel après déploiement peut utiliser :

php modules/mprperformancerevolution/cli/warm-cache.php --full --both --url-set=all --concurrency=1 --resolve-ip=127.0.0.1 --max-seconds=120

Utilisez --edge pour l'Edge seul, --cron pour le mode cron et --help pour les arguments pris en charge. Lisez le résumé des états désactivés, échoués ou d'écriture externe bloquée. Un passage suspendu ou limité par le budget peut être normal avec les valeurs prudentes par défaut.

Surveiller, déboguer et vérifier

Ouvrez Paramètres > Suivi. Activer la collecte des métriques est activé par défaut, Conservation des métriques vaut 30 jours et Métriques des visiteurs réels est activé. Le taux interne d'échantillonnage RUM est de 10 pour cent. Les métriques du tableau de bord incluent état de l'adaptateur, hits, misses, taux de hits, mémoire, requêtes lentes et mesures TTFB, FCP, LCP, CLS et INP disponibles.

Ouvrez Paramètres > Mode dev pour suspendre temporairement les paramètres de cache. Mode dev est initialement inactif, sauvegarde la configuration précédente et la restaure à la désactivation ou à l'expiration. Mode debug employé est initialement désactivé et active les sorties de développement PrestaShop uniquement pour les employés reconnus disposant du cookie de débogage validé du module.

Dans Paramètres > Débogage, Superposition de débogage, Activer le panneau de débogage et Panneau du profileur sont désactivés par défaut. Adresses IP autorisées et ID des employés autorisés sont initialement vides. Profileur : employés uniquement est activé par défaut. Limitez l'accès aux diagnostics pendant les tests et désactivez-les ensuite.

Des fichiers optionnels du profileur existent dans optional-overrides/classes/Hook.php et optional-overrides/classes/db/Db.php. Utilisez le processus sécurisé d'installation des overrides du profileur pour vérifier les overrides existants. Effacez l'état des classes/caches PrestaShop selon ses instructions. N'écrasez pas d'autres overrides par une copie inconditionnelle. Retirez les overrides optionnels du profileur par le même processus lorsqu'ils deviennent inutiles.

Après chaque changement de configuration, vérifiez accueil, liste, produit, panier et commande, puis les en-têtes de cache et raisons de contournement dans des sessions client distinctes. Les hooks du catalogue, stock, prix et contenu invalident les tags de cache pris en charge, mais les modifications de thème, intégration et règles CDN peuvent nécessiter un vidage explicite.

Dépanner et désinstaller

Si l'adaptateur diffère de votre choix, examinez la disponibilité du backend et la résolution du point de connexion Redis. Si une page contourne le cache, lisez sa raison de diagnostic avant d'augmenter les limites ou de modifier la politique de cookies. Pour du HTML périmé, vérifiez séparément l'origine et l'Edge et confirmez la fin de l'invalidation.

Si le regroupement, le report ou une modification CSS casse un composant, désactivez le paramètre concerné, videz ses fichiers générés ou son cache et retestez. Pour le CSS généré, examinez l'état et le journal du worker. Pour les erreurs d'images, vérifiez les encodeurs et droits d'écriture. Pour un préchauffage en attente, examinez exécuteur, interrupteur de fonction, charge et budgets.

Avant de désinstaller, retirez les overrides optionnels du profileur installés et examinez les règles CDN actives. Désactivez ou retirez les règles Edge du module via le processus CDN pour éviter que la zone continue à cacher des routes privées sans la protection d'origine prévue. Sauvegardez la configuration et les données générées nécessaires.

La désinstallation retire tâches planifiées, amorçage du débogage employé, classe de cache Redis installée, menus et tables du module. Vérifiez ensuite la configuration du cache du cœur PrestaShop et toute configuration CDN externe ; ne supposez pas que Module Manager annule toute configuration distante.

Compatibilité

Nécessite PrestaShop 1.6.1 ou ultérieur et PHP 7.1 ou ultérieur.

Questions

Pas encore de questions sur ce module

Posez vos questions sur l'installation, la compatibilité ou la configuration. Les réponses apparaissent ici.

Problèmes connus

27

Les pages en cache ne restent pas distinctes à pleine capacité

RésoluMis à jour :
Corrigé dans : 1.26.9
La gestion de la capacité du cache de pages pouvait ne pas conserver une entrée de cache distincte pour chaque page.

Les pages supprimées occupent encore le cache

RésoluMis à jour :
Corrigé dans : 1.26.9
Les pages purgées pouvaient continuer à compter dans la capacité du cache et empêcher la réutilisation correcte de l'espace.

Le vidage du cache peut laisser du contenu régénéré obsolète

RésoluMis à jour :
Corrigé dans : 1.26.9
Une purge supplémentaire du cache pouvait s'exécuter trop tôt après un vidage, laissant obsolète le contenu régénéré pendant ce vidage.

Le carrousel du pied de page échoue si son script de démarrage est différé

RésoluMis à jour :
Corrigé dans : 1.26.9
Le démarrage du carrousel du pied de page pouvait être différé séparément de son contrôleur et empêcher son initialisation.

Des pages de catalogue absentes reçoivent une politique de cache partagé

RésoluMis à jour :
Corrigé dans : 1.26.9
Une requête de catalogue aboutissant à une page introuvable pouvait tout de même recevoir la politique de cache partagé d'une liste valide.

Des pages incomplètes entrent dans le cache de pages

RésoluMis à jour :
Corrigé dans : 1.26.9
Une page partiellement générée pouvait être stockée puis présentée aux visiteurs comme une page complète.

Google One Tap empêche la mise en cache de pages publiques

RésoluMis à jour :
Corrigé dans : 1.26.9
La présence d'un état Google One Tap pouvait exclure inutilement un visiteur anonyme du cache de pages.

Les visiteurs anonymes restent hors cache après avoir vidé leur panier

RésoluMis à jour :
Corrigé dans : 1.26.9
Après avoir vidé son panier, un visiteur anonyme pouvait rester inutilement exclu du cache de pages.

Les scripts regroupés différés ne s'initialisent pas

RésoluMis à jour :
Corrigé dans : 1.20.1
Le chargement différé des scripts regroupés pouvait séparer un script d'une dépendance requise ou le fournir sans le chargeur nécessaire.

La page de gestion des ressources ne s'ouvre pas

RésoluMis à jour :
Corrigé dans : 1.20.1
La page de gestion des ressources pouvait échouer en tentant d'afficher une action de purge indisponible.

La redirection vers la connexion du back-office échoue sous PrestaShop 9

RésoluMis à jour :
Corrigé dans : 1.18.1
L'ouverture d'une page protégée d'administration du module sans être connecté pouvait produire une erreur au lieu de rediriger vers la connexion du back-office.

Le vidage ciblé du cache ne retrouve pas les produits sélectionnés

RésoluMis à jour :
Corrigé dans : 1.18.1
Le vidage du cache pour des éléments du catalogue sélectionnés pouvait ne pas s'appliquer aux éléments choisis.

Les données manquantes en cache affectent les prix de groupe

RésoluMis à jour :
Corrigé dans : 1.18.1
La mise en cache d'un prix de groupe absent pouvait modifier le calcul des prix de groupe lors des requêtes suivantes.

Les moyennes de performance des visiteurs sont trompeuses

RésoluMis à jour :
Corrigé dans : 1.18.1
Les mesures de performance pouvaient inclure des pages prérendues non vues, et les mesures indisponibles du navigateur pouvaient être comptées comme zéro.

Les pages filtrées du catalogue affichent un autre résultat

RésoluMis à jour :
Corrigé dans : 1.18.1
Des requêtes de pages filtrées différentes pouvaient partager à tort le même contenu en cache au lieu de rester distinctes.

Les commandes chargées dynamiquement perdent leur style

RésoluMis à jour :
Corrigé dans : 1.18.1
Le nettoyage des feuilles de style pouvait supprimer des styles requis par des commandes de la boutique apparaissant après le chargement initial de la page.

La lightbox des images de contenu ne s'ouvre pas rapidement

RésoluMis à jour :
Corrigé dans : 1.18.1
Le chargement différé des ressources de galerie requises pouvait empêcher l'ouverture immédiate des images de contenu dans la lightbox.

Le diaporama principal de l'accueil démarre trop tard

RésoluMis à jour :
Corrigé dans : 1.18.1
Le chargement différé des ressources essentielles du diaporama pouvait retarder ou empêcher le fonctionnement du diaporama principal de l'accueil.

Des variantes d'image modernes manquent ou sont obsolètes

RésoluMis à jour :
Corrigé dans : 1.18.1
Les images AVIF et WebP optimisées pouvaient utiliser des noms incorrects ou rester obsolètes après une modification de l'image d'origine.

Le vidage du cache ignore des pages traduites du catalogue

RésoluMis à jour :
Corrigé dans : 1.18.1
Le vidage des caches du catalogue pouvait laisser des versions obsolètes des mêmes pages dans d'autres langues de la boutique.

Renforcement de la sécurité

RésoluMis à jour :
Corrigé dans : 1.18.1
Renforcement de la sécurité.

La gestion du cache ne s'ouvre pas ou ne supprime pas les entrées

RésoluMis à jour :
Corrigé dans : 1.18.1
Le navigateur de cache pouvait ne pas s'ouvrir, et les commandes de gestion du cache pouvaient échouer au lieu de supprimer les entrées sélectionnées.

Le contenu des paniers anonymes est perdu avec le cache de pages

RésoluMis à jour :
Corrigé dans : 1.5.8
L'ajout de produits via des requêtes de la boutique pouvait ne pas enregistrer durablement un panier anonyme lorsque le cache de pages était activé.

Les menus déroulants s'affichent brièvement ouverts au chargement

RésoluMis à jour :
Corrigé dans : 1.5.8
Les menus déroulants pouvaient apparaître brièvement ouverts avant la fin du chargement de la feuille de style complète.

Les aperçus signés affichent le contenu public en cache

RésoluMis à jour :
Corrigé dans : 1.5.8
Les requêtes d'aperçu signées pouvaient utiliser à tort le cache public des pages au lieu de générer l'aperçu.

L'optimisation des images différées endommage les scripts

RésoluMis à jour :
Corrigé dans : 1.5.8
L'optimisation des images pouvait modifier les scripts intégrés et perturber le fonctionnement de la boutique.

Les boutons de paiement express ne fonctionnent plus

RésoluMis à jour :
Corrigé dans : 1.5.8
L'optimisation des ressources pouvait supprimer les scripts de paiement de pages affichant encore des boutons de paiement express.

Demandes de fonctionnalités

17

Implémenté

Préchauffage planifié des caches d’origine et Cloudflare

Implémenté
Des tâches planifiées préchargent les pages de la boutique pouvant être mises en cache dans le cache de pages du serveur d’origine et le cache de périphérie Cloudflare. Les deux modes de préchauffage peuvent être activés séparément.

Cache de pages complètes Cloudflare

Implémenté
Servez les pages publiques admissibles depuis Cloudflare tout en conservant la prise en charge des sessions de PrestaShop 9.

Génération des styles critiques

Implémenté
Générez les styles nécessaires à l’affichage initial de la page pour réduire les délais de rendu.

Images AVIF et ressources différées

Implémenté
Générez des variantes d’images AVIF et différez les ressources sélectionnées jusqu’à ce qu’elles soient nécessaires.

Préchargement de navigation

Implémenté
Commencez à charger une page liée lorsqu’un visiteur pointe sur son lien.

Conservation des ressources générées

Implémenté
Gardez les ressources générées disponibles même après les vidages du cache.

Mises à jour du module en un clic

Implémenté
Installez les mises à jour disponibles du module depuis le back-office.

Instant Navigation et indications précoces de ressources

Implémenté
Configurez le préchargement ou le prérendu des pages pour les navigateurs compatibles et fournissez plus tôt des indications de chargement des ressources.

Préchauffage automatique du cache

Implémenté
Préchauffez les pages publiques dans la boutique et sur Cloudflare, à un rythme qui se met en pause en cas de forte charge ou de pics de trafic.

Mise en cache des pages de contenu

Implémenté
Mettez en cache les pages de blog, de base de connaissances et de FAQ prises en charge.

Exceptions aux ressources différées

Implémenté
Choisissez les fichiers à charger immédiatement même lorsque le chargement des autres ressources est différé.

Expiration du cache selon les publications programmées

Implémenté
Faites expirer les pages en cache à l’heure de la prochaine publication programmée du blog.

Cache de pages publiques pour le personnel

Implémenté
Permettez au personnel connecté de réutiliser les entrées admissibles du cache de pages anonymes.

Préchauffage du cache priorisé par les données

Implémenté
Donnez la priorité aux pages selon les visites humaines, le trafic de recherche et les commandes, en partageant un budget de préchauffage contrôlé.

Diagnostic des absences du cache

Implémenté
Examinez pourquoi une page est exclue du cache et quel état du visiteur influence cette décision.

Protection contre la charge de rendu des pages

Implémenté
Limitez le rendu excessif des pages publiques et servez une page en cache ou une réponse temporaire invitant à réessayer, tout en préservant les sessions d’achat.

Préchargement facultatif des données de page

Implémenté
Activez une optimisation facultative qui prépare des données de page réutilisables pour réduire le travail de la base de données lors du chargement.

Journal des modifications

v1.5.152026-05-27

  • AddedFinalize performance endpoint SEO cleanup
  • AddedRetain generated assets across cache clears
  • AddedFlip CDN cache from whitelist to blacklist — cache all pages by default
  • AddedHover prefetch for perceived-instant navigation
  • AddedStrip tracking query params (srsltid, fbclid, gclid) to prevent CDN cache fragmentation
  • Addedcomplete FR/DE/ES/IT/PL translations
  • ImprovedDelay full listing stylesheet load
  • ImprovedInline critical listing render assets
  • ImprovedServe compact category intro images
  • FixedKeep listing image optimization theme-safe
  • FixedMigrate module state to MPR config
  • FixedPurge localized catalog urls
  • FixedCache knowledge base pages at edge
Versions précédentes

v1.3.02026-04-20

  • AddedOrganize config form via getTabsDefinition() and adopt masked_key
  • AddedFix CDN cache bypass for pages with session init during rendering
  • AddedLicense management tab with key management and renewal options
  • Addedself-healing integrity checks for automatic diagnostics and repair
  • Addedcomplete FR/DE/ES/IT/PL translations
  • Improvedadmin list columns with visual badge indicators and multiselect filters
  • FixedAddLazyLoading regex no longer corrupts inline script blocks
  • FixedStop stripping checkout JS on pages with express checkout buttons
  • Fixedadmin list filters — sorting, searching, and filtering now work correctly on all columns

v1.1.02026-03-12

  • Addedlazy-loading fallback polyfill for Safari 14 and older iOS devices
  • AddedCSS/JS minification toggle per asset type (theme / module)
  • ImprovedRedis connection pooling — module reuses existing PS Redis instance
  • FixedOPcache invalidation race condition after module config save

v1.0.02026-02-20

  • Initialrelease: comprehensive performance suite for PrestaShop
  • InitialRedis full-page caching with automatic tag-based invalidation
  • InitialNative image optimisation pipeline with WebP output
  • InitialCSS/JS minification and CDN origin rewrite
  • InitialCompatible with PS 1.7.x and PS 8.x

v1.2.02026-01-14

  • AddedPS 9 / Hummingbird theme compatibility and Symfony cache layer hooks
  • Addedper-route Redis cache TTL override for high-churn category pages
  • ImprovedWebP conversion quality slider in back-office image settings
  • Optimized DB query cache: deduplicated redundant JOIN patterns in heavy-load scenarios
  • FixedCDN rewrite not applying to srcset attributes in product gallery

Demo

Testez le module complet avant d'acheter

Achetez la licence plus tard et gardez vos réglages.

  • Votre démo de 30 jours Testez-le sur votre propre boutique pendant 30 jours à partir de la première installation.
  • Boutique de démo prête Découvrez une boutique de démo prête dans votre navigateur.
  • Sans inscription Ni compte, ni e-mail, ni domaine de boutique requis.
Lancer la boutique de démo

En téléchargeant, vous acceptez les conditions de la démo et la politique de confidentialité.

En ouvrant cette démo, vous acceptez les conditions de la démo et la politique de confidentialité.

Chargement...
Retour en haut