WebSentinel
E-commerce

PrestaShop lent : les causes du ralentissement et comment retrouver des performances correctes

· Nicolas Pivaut

PrestaShop est un CMS e-commerce costaud. Mais c’est aussi l’un des plus exigeants en matière de maintenance.

Quand il est bien configuré, il tient la route. Quand il est laissé à lui-même, les performances se dégradent petit à petit. Au début c’est imperceptible. Puis un jour vous ouvrez votre back-office et chaque clique met trois secondes à répondre. Vos fiches produits chargent au ralenti. Google vous a fait passer de la page 1 à la page 3.

Un site lent, ce n’est pas qu’une question de confort. C’est du chiffre d’affaires perdu.

Voici ce que j’ai constaté sur les boutiques que j’ai auditées, et ce qui revient le plus souvent.

Le cache Smarty qui recompile en permanence

PrestaShop utilise Smarty pour le rendu des pages. Le principe : compiler les fichiers .tpl en PHP une fois pour toutes, pour éviter de tout recalculer à chaque visite.

Sauf que sur beaucoup de boutiques en production, la recompilation Smarty reste active. Parfois c’est un oubli après un développement. Parfois c’est un réglage qui n’a jamais été touché depuis l’installation.

Résultat : à chaque page visitée, PrestaShop recompile les templates. C’est comme si vous demandiez à un cuisinier de réapprendre la recette avant chaque plat. La boutique ralentit pour rien.

Solution : désactiver la recompilation Smarty en production. Dans les paramètres avancés, section Performance, passez “Recompilation des templates” sur “Ne jamais recompiler”. Videz le cache après.

La combinaison CSS/JS désactivée

PrestaShop propose nativement de combiner et compresser les fichiers CSS et JavaScript. C’est une option qui réduit le nombre de requêtes HTTP et allège le poids des pages.

Cette option reste souvent désactivée. La raison : les modules tiers. Certains modules ne supportent pas bien la combinaison. Un développeur l’a désactivée pour faire fonctionner un module, et personne ne l’a réactivée derrière.

Résultat : votre boutique charge des dizaines de fichiers séparément. Chaque fichier, c’est une requête HTTP supplémentaire. Sur mobile, l’impact est immédiat.

Solution : activer la combinaison et la compression CSS/JS dans le même écran de paramètres. Si un module pose problème, il faut le corriger ou le remplacer. Pas désactiver l’optimisation globale pour un module défectueux.

Les modules plombent tout

C’est le problème le plus fréquent sur les boutiques qui ont plusieurs années.

Quand vous ajoutez un module, il injecte généralement ses propres requêtes SQL, ses scripts JavaScript, ses hooks. Le problème : beaucoup de modules font ça sur toutes les pages, même quand ils ne sont pas utilisés.

Un module de livraison qui charge ses scripts sur la page d’accueil. Un module de paiement qui exécute des requêtes sur les fiches produits. Au bout de vingt modules, le cumul devient lourd.

Solution : auditer les modules. Lesquels sont vraiment utiles ? Lesquels peuvent être déchargés sur les pages où ils ne servent pas ? Certains modules récents permettent de contrôler leur chargement par page.

La base de données s’encrasse

Avec le temps, les tables PrestaShop accumulent les données inutiles : connexions obsolètes, logs d’erreurs, paniers abandonnés, sessions périmées.

Les boutiques avec un gros catalogue (déclinaisons multiples, règles de prix avancées) sollicitent lourdement la base de données. Sans index adaptés, certaines requêtes deviennent très lentes, notamment sur les fiches produits et dans le back-office.

Solution : nettoyer régulièrement les tables (ps_connections, ps_log, ps_cart). Mettre en place un cache Redis ou Memcached pour alléger la charge. Vérifier que les index MySQL sont optimisés pour les requêtes les plus fréquentes.

Migration PrestaShop 9 : le vrai levier de performance

Beaucoup de boutiques que j’audite tournent encore sur PrestaShop 1.6 ou 1.7. Parfois par méconnaissance, parfois parce que la migration fait peur.

Le problème, c’est que ces versions sont mortes. PrestaShop 1.6 n’a plus de mises à jour de sécurité depuis 2021. La 1.7 est en fin de vie. Pas de patches, pas de compatibilité avec les modules récents, pas de support PHP 8.

PrestaShop 8 puis 9 ont changé la donne. L’architecture a été réécrite autour de Symfony. Le cœur utilise PHP 8.x, ce qui apporte un gain de 30 à 45 % de vitesse juste par la version de PHP, sans rien toucher d’autre. Les Core Web Vitals s’améliorent mécaniquement.

Ce qui change concrètement en passant sur PrestaShop 9 :

  • Symfony 6 : le code est plus propre, les performances back-office sont bien meilleures
  • PHP 8.5 : temps d’exécution réduit, meilleure gestion mémoire
  • Hummingbird theme : le thème par défaut est optimisé mobile, plus léger
  • WebP et AVIF natifs : les images sont compressées automatiquement, sans module tiers
  • API moderne : plus facile à intégrer avec des fronts headless (Next.js, Nuxt)

Les boutiques que j’ai vues passer de la 1.7 à la 9 ont gagné entre 35 et 50 % de vitesse de chargement. Certaines en ont profité pour repenser leur site e-commerce à cette occasion. Certaines ont récupéré des positions Google perdues depuis des années.

Ne pas migrer, c’est prendre un risque : votre boutique devient incompatible avec les hébergements récents, les modules que vous voulez installer ne supportent plus votre version, et une faille de sécurité non patchée peut tout faire sauter du jour au lendemain.

La migration n’est pas un projet simple. Il faut prévoir le changement de thème, la compatibilité des modules, la gestion des données, les redirections SEO. Mais une fois faite, vous repartez sur des bases saines, avec une boutique qui tient la route pour plusieurs années.

Mesurer avant d’agir

Chaque boutique est différente. Ce qui ralentit l’une n’aura peut-être pas d’effet sur l’autre.

Avant de toucher à quoi que ce soit, mesurez. Lighthouse, GTmetrix, WebPageTest : ces outils vous donnent des indicateurs concrets. Temps de chargement, nombre de requêtes, poids des pages, Core Web Vitals.

Sans mesures, vous intervenez dans le vide. Avec des chiffres, vous savez précisément ce qui coince et ce qui s’améliore après chaque correction.

Ce qu’on gagne à optimiser

Sur les boutiques PrestaShop que j’ai optimisées, les résultats sont constants : les temps de chargement baissent significativement, les scores PageSpeed montent, le back-office redevient fluide.

Ces gains ne sont pas que techniques. Ils se voient dans le taux de conversion, surtout sur mobile. Google récompense la vitesse dans son classement, les clients aussi.

La performance ne s’arrête jamais

Une boutique optimisée aujourd’hui ne le sera pas dans six mois. Chaque mise à jour, chaque nouveau module, chaque évolution du catalogue peut introduire des lenteurs.

C’est pour ça que la maintenance régulière est la seule solution durable. Vérifier les performances, surveiller les temps de réponse, nettoyer la base, mettre à jour dans les règles. Pas une fois, mais en continu.

Vous avez une boutique PrestaShop qui rame et vous ne savez pas par où commencer ? Faites le point. C’est souvent plus simple qu’on ne le croit.

Aller plus loin

Les problèmes de performance sont souvent les mêmes d’un CMS à l’autre. Pour une vision d’ensemble de l’e-commerce, consultez notre guide complet e-commerce pour TPE et PME. Notre guide sur la lenteur de WooCommerce vous donnera des pistes si vous hésitez entre les deux solutions. Et si vous envisagez de migrer, lisez notre article sur la migration PrestaShop vers WooCommerce pour comparer les performances.

Articles similaires