Optimiser les performances PrestaShop — Guide technique

Une boutique PrestaShop lente perd des clients et du positionnement Google. Après avoir optimisé de nombreuses boutiques (dont 4 ans d'optimisation chez levapoteur-discount.fr), voici les techniques qui font vraiment la différence.

Mesurer avant d'optimiser

Avant de toucher quoi que ce soit, mesurez :

  • Google PageSpeed Insights : score mobile et desktop, Core Web Vitals (LCP, FID/INP, CLS)
  • GTmetrix : waterfall détaillé, TTFB
  • WebPageTest : first byte, speed index, visual complete
  • Chrome DevTools : onglet Performance pour le profiling détaillé

Notez ces métriques — vous les comparerez après optimisation.

Optimisation serveur

PHP

  • Version : utilisez PHP 8.2 ou 8.3 minimum. Chaque version majeure apporte 10-20% de performance
  • OPcache : activé avec opcache.memory_consumption=256, opcache.max_accelerated_files=20000
  • memory_limit : 256M minimum (512M recommandé pour les gros catalogues)

MySQL

  • innodb_buffer_pool_size : 70% de la RAM disponible pour le serveur dédié, ou au moins 1G
  • query_cache : désactivé sur MySQL 8+ (remplacé par le cache applicatif)
  • Slow query log : activez-le pour identifier les requêtes lentes (long_query_time=1)

Cache applicatif

Remplacez le cache fichier par Redis ou Memcached :

  • Sessions PHP : stockage Redis plutôt que fichiers
  • Cache PrestaShop : Redis via la configuration dans parameters.php
  • Impact typique : -30 à -50% sur le TTFB

Optimisation base de données

Identifier les requêtes lentes

Activez le slow query log MySQL et analysez les requêtes qui dépassent 1 seconde. Les coupables habituels :

  • Requêtes de filtre/recherche sans index appropriés
  • JOINs complexes sur les tables de stock et d'attributs
  • Requêtes de comptage sur les catégories avec beaucoup de produits

Nettoyage régulier

  • bd_log / ps_log : peut atteindre des millions de lignes → purgez régulièrement
  • Paniers abandonnés : supprimez ceux de plus de 3 mois
  • Stats : les tables de statistiques grossissent vite → purgez ou désactivez si non utilisées
  • Connexions clients : la table guest et connections peut devenir énorme

Optimisation front-end

Images

  • Format WebP/AVIF : 25-50% plus léger que JPEG à qualité égale
  • Lazy loading : les images sous la ligne de flottaison ne se chargent qu'au scroll
  • Dimensions exactes : servez les images à la taille d'affichage, pas en pleine résolution
  • CDN images : déchargez le serveur principal

CSS & JavaScript

  • Minification : activée dans le BO PrestaShop (Performances)
  • Critical CSS : inlinez le CSS au-dessus de la ligne de flottaison
  • Defer/async : chargez les scripts non critiques en différé
  • Supprimez les modules inutiles : chaque module ajoute du CSS/JS même s'il n'est pas visible

Les modules qui ralentissent

Certains types de modules sont particulièrement gourmands :

  • Modules de statistiques (tracking lourd sur chaque page)
  • Modules de chat en direct (scripts JS externes)
  • Modules de filtres mal optimisés (requêtes SQL non indexées)
  • Modules « tout-en-un » SEO/performance (ironie : ils ralentissent souvent le site)

Technique pour identifier le coupable : désactivez les modules un par un et mesurez le TTFB après chaque désactivation.

Core Web Vitals — Les métriques qui comptent

  • LCP (Largest Contentful Paint) < 2.5s : l'image ou le texte principal doit s'afficher en moins de 2.5 secondes
  • INP (Interaction to Next Paint) < 200ms : le site doit réagir rapidement aux clics
  • CLS (Cumulative Layout Shift) < 0.1 : pas de saut de contenu pendant le chargement

Ces métriques sont des critères de positionnement Google depuis 2021.

Résultats que j'obtiens

Sur mes interventions d'optimisation, les résultats typiques :

  • TTFB : de 800ms+ à moins de 200ms
  • LCP : de 4s+ à moins de 2.5s
  • PageSpeed mobile : de 30-50 à 80-95+
  • Taux de conversion : +10 à +20% dans les semaines qui suivent

Votre boutique est lente ? En savoir plus sur mes prestations d'optimisation →

Chargement...
Retour en haut