Une boutique PrestaShop qui met plusieurs secondes à afficher une page ne souffre pas nécessairement d'un seul problème.
Dans la majorité des cas, la lenteur résulte d'une accumulation : thème lourd, modules trop nombreux, images mal optimisées, base de données encombrée, scripts externes et hébergement insuffisant.
Le site finit par fonctionner, mais chaque page demande trop de calculs, trop de fichiers et trop de requêtes avant de devenir visible.
Identifier la cause réelle nécessite donc un diagnostic plutôt qu'une simple activation du cache.
Six secondes, est-ce vraiment trop long ?
Oui, surtout sur mobile.
Un visiteur qui attend devant une page blanche ou un chargement incomplet peut quitter la boutique avant même d'avoir vu le produit.
La lenteur influence notamment :
- le confort de navigation ;
- le taux d'abandon ;
- le nombre de pages consultées ;
- la conversion ;
- le référencement naturel ;
- la perception de fiabilité du site.
Une boutique peut proposer de bons produits et des prix compétitifs tout en perdre des ventes à cause de ses performances.
Mesurer avant de modifier
Avant de désactiver des modules ou de changer d'hébergement, il faut déterminer où le temps est réellement perdu.
Une page lente peut attendre longtemps avant que le serveur réponde, ou recevoir une réponse rapide puis rester bloquée par des images et du JavaScript.
Ce ne sont pas les mêmes problèmes.
Il faut notamment examiner :
- le temps de réponse du serveur ;
- le poids total de la page ;
- le nombre de requêtes HTTP ;
- les fichiers JavaScript bloquants ;
- les feuilles de style ;
- le poids des images ;
- les appels vers des services externes ;
- les requêtes SQL lentes.
Un audit permet ensuite de traiter les problèmes dans le bon ordre.
Le temps de réponse du serveur
Avant d'afficher une page, PrestaShop doit exécuter du code PHP, interroger la base de données et construire le contenu HTML.
Si cette étape prend déjà plusieurs secondes, le navigateur ne peut rien afficher pendant ce temps.
Un temps de réponse serveur élevé peut être lié à :
- un hébergement sous-dimensionné ;
- un processeur partagé et saturé ;
- une version de PHP ancienne ou mal configurée ;
- des requêtes SQL lentes ;
- un module exécutant trop de traitements ;
- des appels vers une API externe ;
- un cache absent ou inefficace.
Dans ce cas, compresser les images ne suffira pas. Le problème se situe avant leur téléchargement.
L'hébergement peut-il être responsable ?
Oui, mais changer de serveur n'est pas toujours la première solution.
Un hébergement mutualisé peut convenir à une petite boutique correctement optimisée.
En revanche, il peut devenir insuffisant lorsque le catalogue, le trafic, les tâches automatiques et les connexions avec d'autres logiciels augmentent.
Il faut notamment vérifier :
- la puissance CPU réellement disponible ;
- la mémoire allouée à PHP ;
- la version de PHP ;
- la configuration du serveur web ;
- les limites de processus ;
- la vitesse du stockage ;
- la proximité géographique du serveur.
Mais un site mal développé restera lent sur un serveur plus puissant. Le changement d'hébergement peut masquer le problème sans le résoudre.
Le thème PrestaShop peut alourdir chaque page
Un thème ne se limite pas à son apparence.
Il détermine également la quantité de HTML, CSS, JavaScript, polices et images chargée par le navigateur.
Certains thèmes multiplient les composants :
- sliders ;
- animations ;
- menus complexes ;
- carrousels ;
- constructeurs de pages ;
- effets visuels ;
- variantes de styles inutilisées.
Même lorsqu'une fonction n'est pas visible sur la page, ses fichiers peuvent encore être chargés.
Le thème peut ainsi ajouter plusieurs centaines de kilo-octets, voire plusieurs mégaoctets, avant même les images produits.
Les modules sont souvent une cause majeure
Chaque module peut ajouter du code exécuté côté serveur et des fichiers chargés dans le navigateur.
Un module peut également intervenir sur plusieurs hooks et donc être exécuté sur presque toutes les pages.
Les modules les plus coûteux sont souvent ceux qui :
- appellent une API externe ;
- calculent des prix complexes ;
- chargent des recommandations ;
- ajoutent un chat ;
- injectent des outils marketing ;
- gèrent des recherches avancées ;
- analysent le comportement des visiteurs ;
- effectuent des synchronisations en temps réel.
Il ne suffit pas de compter les modules installés.
Un seul module mal conçu peut ralentir davantage le site que vingt modules correctement développés.
Désinstaller n'est pas toujours suffisant
Un module désactivé ne devrait plus intervenir dans le fonctionnement normal du site.
Mais il peut avoir laissé :
- des tables dans la base de données ;
- des fichiers ;
- des tâches automatiques ;
- des lignes de configuration ;
- des surcharges de classes ;
- des données historiques volumineuses.
Un nettoyage doit donc être réalisé avec prudence, en vérifiant ce qui est encore utilisé.
Les images produits sont trop lourdes
C'est l'un des problèmes les plus visibles sur une boutique en ligne.
Une photographie produit envoyée directement depuis un appareil peut peser plusieurs mégaoctets.
Si le navigateur télécharge plusieurs images de cette taille sur une page catégorie, le chargement devient rapidement très lent.
Il faut agir sur plusieurs niveaux :
- redimensionner les images selon leur usage réel ;
- ajuster la qualité de compression ;
- utiliser des formats modernes lorsque l'environnement le permet ;
- générer des tailles adaptées aux différents affichages ;
- charger progressivement les images hors écran.
Afficher une image de 2500 pixels dans une vignette de 300 pixels constitue un gaspillage de bande passante.
Le lazy loading doit être utilisé correctement
Le chargement différé permet de ne télécharger certaines images que lorsqu'elles approchent de la zone visible.
C'est utile pour les longues pages catégories ou les listes de produits.
Mais il ne faut pas retarder l'image principale située immédiatement en haut de la page.
Une mauvaise configuration peut ralentir l'affichage du contenu le plus important au lieu de l'améliorer.
Les scripts externes peuvent bloquer le site
Une boutique charge souvent des ressources provenant de nombreux services externes.
Par exemple :
- statistiques ;
- publicité ;
- chat ;
- avis clients ;
- personnalisation ;
- comparateurs ;
- réseaux sociaux ;
- gestion du consentement ;
- solutions de paiement.
Chaque service ajoute des requêtes et dépend de la disponibilité d'un serveur extérieur.
Lorsque plusieurs scripts se chargent au démarrage, ils peuvent retarder l'affichage ou bloquer le fil principal du navigateur.
Il faut donc vérifier quels outils sont réellement utiles et à quel moment ils doivent être chargés.
Le gestionnaire de consentement peut aussi ralentir la page
Les outils de gestion des cookies exécutent parfois une quantité importante de JavaScript avant d'afficher leur bannière.
Ils peuvent également scanner ou bloquer d'autres scripts.
Cette fonction est nécessaire pour respecter les choix de l'utilisateur, mais sa mise en œuvre doit rester performante.
Un outil de consentement trop lourd peut dégrader toutes les pages du site.
La base de données peut devenir encombrée
Au fil des années, une boutique PrestaShop accumule beaucoup d'informations.
Parmi elles :
- paniers abandonnés ;
- connexions ;
- journaux techniques ;
- recherches internes ;
- statistiques ;
- messages ;
- données de modules ;
- anciennes configurations.
Certaines tables peuvent devenir très volumineuses.
Si les requêtes ne disposent pas des bons index ou parcourent inutilement des millions de lignes, le temps de génération des pages augmente.
Il faut donc examiner les requêtes lentes avant de supprimer des données au hasard.
Les statistiques natives ou historiques
Certains modules de statistiques enregistrent de nombreux événements directement dans la base PrestaShop.
Sur une boutique active depuis plusieurs années, ces données peuvent représenter un volume important.
Il faut vérifier si elles sont encore utilisées et si leur conservation complète est réellement nécessaire.
Tout nettoyage doit être précédé d'une sauvegarde.
Le cache n'est pas une solution magique
Le cache permet d'éviter de recalculer certaines données à chaque visite.
Il peut améliorer fortement les performances, mais il ne corrige pas un module qui effectue des requêtes inutiles ou une page chargée de scripts.
Plusieurs niveaux de cache peuvent intervenir :
- cache de templates ;
- cache applicatif ;
- OPcache PHP ;
- cache serveur ;
- cache navigateur ;
- CDN.
Leur configuration doit rester compatible avec les prix, les stocks, les comptes clients et les contenus personnalisés.
Le mode debug ne doit pas rester actif en production
Le mode debug est utile pour identifier des erreurs pendant le développement.
En production, il peut ajouter des traitements, afficher des informations sensibles et dégrader les performances.
Il doit donc être désactivé une fois le diagnostic terminé.
Les appels API ralentissent parfois la navigation
Une boutique peut être connectée à un ERP, un transporteur, une marketplace ou un service de paiement.
Si PrestaShop attend la réponse d'un service externe avant d'afficher la page, la lenteur de ce service devient celle de la boutique.
Les échanges non indispensables à l'affichage immédiat devraient souvent être traités de manière différée.
Par exemple, une synchronisation de stock peut être réalisée par tâche automatique plutôt que pendant la consultation d'une fiche produit.
Les surcharges et développements spécifiques
PrestaShop permet de modifier certains comportements grâce aux modules et aux surcharges.
Ces mécanismes sont utiles, mais des développements anciens ou accumulés peuvent ralentir l'application.
Il faut notamment rechercher :
- des boucles inutiles ;
- des requêtes SQL répétées ;
- des appels réseau synchrones ;
- des calculs effectués à chaque affichage ;
- des hooks exécutés sur trop de pages ;
- des fonctions obsolètes ;
- des erreurs silencieuses.
Un audit du code spécifique est indispensable lorsqu'une boutique a été modifiée par plusieurs prestataires.
Les polices et icônes peuvent aussi peser lourd
Un thème peut charger plusieurs familles de polices, avec différentes graisses et styles.
Des bibliothèques d'icônes complètes peuvent également être téléchargées alors que seules quelques icônes sont utilisées.
Il est préférable de limiter les variantes et de ne charger que les ressources réellement nécessaires.
Le CDN est-il utile ?
Un CDN distribue les fichiers statiques depuis des serveurs proches des visiteurs.
Il peut améliorer le chargement des images, feuilles de style et scripts, surtout lorsque les clients sont géographiquement éloignés du serveur principal.
Mais il ne réduit pas automatiquement le temps nécessaire à PrestaShop pour générer la page.
Si le serveur met quatre secondes à produire le HTML, le CDN ne supprimera pas cette attente.
Les Core Web Vitals
Les Core Web Vitals permettent d'évaluer plusieurs aspects de l'expérience utilisateur.
Parmi les principaux indicateurs :
- LCP mesure la rapidité d'affichage du contenu principal ;
- CLS mesure les déplacements inattendus de la mise en page ;
- INP mesure la réactivité du site aux interactions.
Une boutique peut afficher sa première structure rapidement tout en restant difficile à utiliser à cause d'un JavaScript trop lourd.
Il faut donc analyser plusieurs indicateurs plutôt qu'un seul score global.
Pourquoi le résultat diffère-t-il entre les outils de test ?
Les outils de mesure n'utilisent pas toujours la même connexion, le même appareil ou le même emplacement géographique.
Un test peut également être influencé par :
- le cache ;
- la charge du serveur ;
- les scripts externes ;
- la page testée ;
- le moment de la journée ;
- les paramètres de simulation mobile.
Il est donc préférable de répéter les tests et d'observer les données réelles des utilisateurs lorsque celles-ci sont disponibles.
Dans quel ordre optimiser une boutique PrestaShop ?
Une optimisation efficace commence généralement par les problèmes les plus structurants.
1. Mesurer le temps de réponse serveur
Déterminer si le retard vient du backend ou du navigateur.
2. Identifier les modules et requêtes coûteuses
Repérer ce qui est exécuté sur chaque page et ce qui peut être supprimé, corrigé ou différé.
3. Optimiser les images
Réduire les dimensions, le poids et le nombre de ressources téléchargées.
4. Réduire les scripts et styles inutiles
Limiter le thème, les outils marketing et les bibliothèques chargées partout.
5. Configurer les caches
Mettre en place les niveaux de cache adaptés sans casser les contenus dynamiques.
6. Vérifier l'hébergement
Adapter les ressources lorsque le site optimisé dépasse réellement les capacités du serveur.
Faut-il refaire complètement la boutique ?
Pas toujours.
Une boutique lente peut parfois être améliorée en corrigeant quelques problèmes précis.
Une refonte devient plus pertinente lorsque :
- le thème est ancien et difficile à alléger ;
- de nombreux modules ne sont plus maintenus ;
- la version de PrestaShop est obsolète ;
- les développements spécifiques sont devenus instables ;
- la structure SEO doit également être revue ;
- le coût des corrections approche celui d'une reconstruction propre.
La décision doit être prise après un audit technique, pas uniquement à partir d'un score de performance.
Une boutique rapide est le résultat d'un ensemble cohérent
Il n'existe pas de bouton unique capable de transformer une boutique PrestaShop lente en site performant.
Les résultats viennent d'un ensemble de choix cohérents : hébergement adapté, thème maîtrisé, modules utiles, images optimisées, base entretenue et code spécifique correctement structuré.
Chez Prestacode, nous intervenons sur des boutiques PrestaShop existantes pour identifier les causes de lenteur, corriger les développements problématiques et préparer les refontes lorsque l'architecture actuelle ne permet plus d'évoluer correctement.
L'objectif n'est pas seulement d'améliorer un score, mais de rendre la boutique plus rapide, plus stable et plus simple à maintenir.