Comment accélérer PrestaShop : 15 astuces pour un score PageSpeed de 90+

Une boutique lente perd ses clients avant même qu'ils voient le premier produit. Si vous vous demandez comment accélérer PrestaShop, la réponse courte est : désactivez le mode debug, activez le cache Smarty et la concaténation CSS/JS, passez à PHP 8 avec OPcache, servez les images en WebP et supprimez les modules inutiles. Ces étapes font généralement gagner plusieurs dizaines de points au score PageSpeed. Vous trouverez ci-dessous les 15 méthodes, l'ordre dans lequel les appliquer et les pièges les plus fréquents.

Comment mesurer la vitesse d'une boutique PrestaShop ?

Mesurez le point de départ avant de modifier quoi que ce soit. Sinon, vous ne saurez pas quel changement a aidé et lequel a nui.

  • PageSpeed Insights (pagespeed.web.dev) donne un score de 0 à 100 pour mobile et ordinateur ainsi qu'une liste de problèmes précis. Le score mobile compte le plus, car c'est la version que Google utilise pour évaluer vos pages.
  • Les Core Web Vitals sont trois indicateurs issus de vraies visites : LCP (affichage du plus grand élément, objectif sous 2,5 s), INP (réaction à un clic, sous 200 ms) et CLS (décalages de mise en page, sous 0,1). Vous les trouverez dans PageSpeed Insights et Google Search Console.
  • Le TTFB est le temps de réponse du serveur. S'il dépasse 0,8 s, le problème vient du serveur, de PHP ou des modules, pas des images.

Testez au moins trois types de pages : l'accueil, une catégorie et une fiche produit. Chacune charge des modules différents et sollicite la base de données différemment.

Pourquoi PrestaShop est-il lent ?

Les causes que nous rencontrons le plus souvent chez nos clients :

  • le mode debug laissé actif en production,
  • le cache des templates désactivé et aucune concaténation CSS/JS,
  • une ancienne version de PHP sans OPcache,
  • des images JPG et PNG lourdes au lieu du WebP,
  • des dizaines de modules greffés sur chaque page, dont certains ne servent plus,
  • des scripts tiers : chat en direct, pixels publicitaires, widgets d'avis,
  • des tables de statistiques qui grossissent depuis des années,
  • un hébergement mutualisé bon marché avec des disques lents et un CPU limité.

La bonne nouvelle : la plupart de ces problèmes se règlent dans le back-office, sans écrire de code.

15 méthodes pour accélérer votre boutique PrestaShop

Avant de commencer : sauvegardez les fichiers et la base de données, et testez chaque changement d'abord sur une copie de la boutique. Certains réglages (surtout la concaténation JavaScript) peuvent casser des modules écrits de façon inhabituelle.

1. Désactivez le mode debug

Le mode debug désactive une partie du cache et affiche des informations supplémentaires. Il doit toujours être désactivé en production : Paramètres avancés > Performances > Mode debug : Non.

2. Activez le cache des templates Smarty

Sur la même page, réglez Compilation des templates : Ne jamais recompiler les fichiers de templates et Cache : Oui. Videz le cache avec le bouton « Vider le cache » après chaque modification du thème.

3. Concaténez et compressez CSS et JavaScript (CCC)

La section CCC (Combine, Compress and Cache) regroupe les feuilles de style et les scripts en quelques fichiers plus gros. Le navigateur télécharge moins de fichiers et la page s'affiche plus vite. Testez le panier, la connexion et le paiement après l'activation.

4. Utilisez un PHP récent avec OPcache

PrestaShop 8 et 9 fonctionnent avec PHP 8.1 et plus, nettement plus rapide que PHP 7. Vérifiez qu'OPcache est activé sur le serveur avec assez de mémoire (256 Mo suffisent en général). C'est un seul réglage dans le panneau d'hébergement, et il peut réduire de moitié le temps de réponse du serveur. Si votre boutique tourne encore sous PrestaShop 1.7, un PHP plus récent passe généralement d'abord par une mise à jour de PrestaShop.

5. Activez le cache côté serveur

PrestaShop peut stocker les résultats des requêtes dans Memcached ou APCu (Paramètres avancés > Performances > Mise en cache). C'est surtout utile avec un gros catalogue et beaucoup de visiteurs simultanés. Demandez à votre hébergeur quelle extension est disponible.

6. Compression gzip ou Brotli et HTTP/2

Le serveur doit compresser les fichiers texte (HTML, CSS, JS) et prendre en charge HTTP/2 ou HTTP/3. Sous Apache, l'option Optimisation Apache de la page Performances aide ; sous nginx et LiteSpeed, c'est l'administrateur du serveur qui s'en charge.

7. Images WebP ou AVIF et bonnes tailles de miniatures

Les images représentent souvent plus de la moitié du poids d'une page. Dans PrestaShop 8 et 9, Apparence > Images permet d'ajouter les formats WebP et AVIF, souvent 30 à 50 % plus légers que le JPG. Vérifiez aussi que les tailles des miniatures correspondent au thème et régénérez-les après une modification.

8. Chargement différé des images, sauf la plus importante

Les images situées sous le premier écran doivent avoir l'attribut loading="lazy". L'exception est l'image principale (slider, photo produit) : elle détermine le LCP et doit se charger immédiatement, idéalement avec fetchpriority="high".

9. Hébergez vos polices vous-même

Les polices téléchargées depuis des serveurs tiers retardent l'affichage du texte. Hébergez-les en WOFF2, ajoutez font-display: swap et gardez uniquement les graisses réellement utilisées.

10. Passez en revue les modules et leurs greffes

Chaque module actif ajoute du code à la page. Dans Modules > Gestionnaire de modules, désactivez et désinstallez ce qui ne sert pas, et dans Apparence > Positions, vérifiez que les modules ne se chargent pas sur des pages où ils sont inutiles. Un seul module mal écrit peut ralentir toute la boutique. Pensez aussi à vérifier les failles connues des modules ; en cas de doute, un audit de sécurité de la boutique vous aidera.

11. Limitez les scripts tiers

Chat en direct, pixels publicitaires, cartes de chaleur et widgets sociaux ajoutent chacun des centaines de kilo-octets de JavaScript et dégradent fortement l'INP. Gardez uniquement ce que vous utilisez vraiment et chargez-le après le consentement aux cookies.

12. Nettoyez la base de données

Les tables de statistiques (ps_connections, ps_connections_source, ps_guest), les journaux et les vieux paniers atteignent des millions de lignes au fil des ans. Après une sauvegarde, supprimez les anciens enregistrements et envisagez de désactiver les statistiques intégrées si vous utilisez Google Analytics.

13. Soignez les filtres et la recherche

Le module de navigation à facettes peut être l'élément le plus lourd d'une page catégorie. Activez son cache, reconstruisez les index après un import de produits et rafraîchissez-les par tâche CRON plutôt qu'à chaque modification.

14. Choisissez un hébergement adapté à PrestaShop

Un disque NVMe rapide, PHP-FPM, MySQL ou MariaDB bien réglé (un buffer InnoDB à la taille de la base) et un serveur proche de vos clients. Si le TTFB dépasse encore une seconde après tous ces réglages, c'est l'hébergement qui freine.

15. Un CDN pour les images et les fichiers statiques

Quand vos clients sont dans plusieurs pays, un CDN sert les images et les fichiers depuis le serveur le plus proche de chaque visiteur. PrestaShop permet de saisir les adresses des serveurs de médias sur la page Performances.

Par où commencer ?

Inutile de tout faire d'un coup. Commencez par les changements qui rapportent le plus pour le moins de risque :

Étape Impact sur la vitesse Difficulté
Mode debug, cache Smarty, CCC fort facile, back-office
PHP 8 et OPcache fort facile, panneau d'hébergement
Images WebP/AVIF et miniatures fort moyenne
Revue des modules et scripts tiers moyen à fort moyenne
Base de données, filtres, cache serveur moyen demande de l'expérience
Nouvel hébergement, CDN selon la boutique demande un plan

Mesurez à nouveau après chaque étape et notez le score, pour savoir ce qui a vraiment aidé.

Les erreurs fréquentes quand on accélère PrestaShop

  • Optimiser uniquement pour le score. Un 100 sur une page de test vide ne veut rien dire ; ce sont les Core Web Vitals des vraies visites qui comptent.
  • Encore un module « d'accélération ». Il fait souvent doublon avec ce que PrestaShop sait déjà faire et ajoute son propre code.
  • Des changements sans sauvegarde. Un mauvais réglage peut casser le panier ; sauvegardez les fichiers et la base avant toute modification. Si une page blanche apparaît après un changement, consultez notre guide sur l'erreur 500 de PrestaShop.
  • Aucune commande de test. Après chaque changement, refaites tout le parcours : ajout au panier, connexion, paiement.

Questions fréquentes

Quel est un bon score PageSpeed pour une boutique PrestaShop ?

Google considère 90 et plus comme bon, et 50 à 89 comme à améliorer. Pour une boutique riche en photos, un objectif réaliste sur mobile est de 70 à 90, mais réussir les Core Web Vitals compte davantage que le score : LCP sous 2,5 s, INP sous 200 ms et CLS sous 0,1.

Pourquoi le score mobile est-il bien plus bas que sur ordinateur ?

PageSpeed teste la version mobile avec un processeur et une connexion simulés plus lents. Le JavaScript lourd et les grandes images y pèsent beaucoup plus, un écart de 20 à 40 points est donc normal.

Activer le CCC peut-il casser ma boutique ?

Oui, si un module contient du JavaScript mal écrit. Après l'activation, vérifiez le panier, la connexion et le paiement. Si quelque chose ne fonctionne plus, désactivez la concaténation JavaScript, gardez celle du CSS et signalez le problème à l'auteur du module.

Combien coûte l'accélération d'une boutique PrestaShop ?

Vous pouvez appliquer vous-même et gratuitement les réglages de base de ce guide. Une optimisation plus poussée (modules, base de données, serveur) demande en général de quelques heures à une quinzaine d'heures de développement, selon la taille de la boutique et le nombre de modules.

Une question sur votre boutique ? Contactez-nous, nous vous dirons par où commencer.

Produits de cet article

Retour : Blog

Chargement...
Retour en haut