La performance est l’un des sujets les plus traités — et les plus mal appliqués — dans l’écosystème Magento. Des dizaines d’extensions “d’optimisation” existent, souvent avec des effets contradictoires. Voici notre approche structurée, issue de centaines d’audits de boutiques Magento en production.
Pourquoi la performance Magento est critique en 2025
Google intègre les Core Web Vitals dans ses critères de ranking depuis 2021. En 2025, LCP (Largest Contentful Paint), CLS (Cumulative Layout Shift) et INP (Interaction to Next Paint) sont des facteurs de ranking actifs.
Concrètement :
- +1s de LCP → -7% de taux de conversion (source : Google/Deloitte, 2023)
- LCP < 2.5s requis pour le label “Good” qui influence le CTR en SERP
- INP > 200ms = expérience utilisateur dégradée, notamment sur mobile
La stack de performance Magento optimale
Niveau infrastructure
PHP 8.2 minimum (PHP 8.3 recommandé pour Magento 2.4.7+) Les gains PHP 8.x vs 7.x sont considérables : +30 à 50% de throughput sur les pages catalogue complexes.
OPcache bien configuré :
; php.ini optimisé pour Magento
opcache.enable=1
opcache.enable_cli=1
opcache.memory_consumption=512
opcache.max_accelerated_files=60000
opcache.revalidate_freq=2
opcache.use_cwd=1
opcache.validate_timestamps=0 ; En production uniquement
opcache.save_comments=1
opcache.enable_file_override=0
Redis pour les sessions et le cache de page :
# bin/app/etc/env.php — configuration Redis recommandée
'cache' => [
'frontend' => [
'default' => [
'backend' => 'Magento\Framework\Cache\Backend\Redis',
'backend_options' => [
'server' => '127.0.0.1',
'database' => '0',
'port' => '6379',
'compress_data' => '1',
'compression_lib' => 'snappy',
],
],
'page_cache' => [
'backend' => 'Magento\Framework\Cache\Backend\Redis',
'backend_options' => [
'server' => '127.0.0.1',
'database' => '1',
'port' => '6379',
'compress_data' => '0',
],
],
],
],
Niveau Magento
Full Page Cache (FPC) en production Varnish est recommandé pour les boutiques > 10k sessions/jour. Pour les boutiques plus petites, le FPC natif Magento suffit.
Lazy loading natif des images
Depuis Magento 2.4.4, les images incluent loading="lazy" nativement. Vérifiez que vos overrides de template ne l’ont pas supprimé.
JavaScript deferring
<!-- view/frontend/layout/default.xml -->
<block class="Magento\Framework\View\Element\Js\Components"
name="head.components"
as="components"
template="Magento_Theme::js/components.phtml"
after="-">
<arguments>
<argument name="attributes" xsi:type="string">defer async</argument>
</arguments>
</block>
Core Web Vitals — actions concrètes
Pour améliorer le LCP :
- Précharger l’image hero avec
<link rel="preload" as="image"> - Servir les images en WebP/AVIF via votre CDN
- S’assurer que l’image LCP n’est pas lazy-loadée (
loading="eager") - Activer HTTP/2 Push pour les ressources critiques
Pour améliorer le CLS :
- Définir explicitement
widthetheightsur toutes les images - Éviter les injections de contenu dynamique au-dessus du fold
- Précharger les fonts critiques pour éviter le FOUT
Pour améliorer l’INP :
- Réduire la taille des bundles JavaScript (auditer avec
webpack-bundle-analyzer) - Éviter les longues tasks JavaScript sur le thread principal
- Utiliser
requestIdleCallbackpour les scripts non-critiques
Les gains rapides (quick wins)
| Action | Effort | Impact LCP |
|---|---|---|
| Activer le FPC Magento | Faible | Très élevé |
| Migrer vers PHP 8.2+ | Moyen | Élevé |
| Configurer Redis | Moyen | Élevé |
| Passer les images en WebP | Faible (CDN) | Moyen |
| Activer la compression Brotli | Faible | Moyen |
| Supprimer les modules inutilisés | Moyen | Moyen |
Les pièges classiques
Ne pas activer le FPC sur les pages avec du contenu personnalisé Si vous avez des blocs personnalisés par segment client, assurez-vous d’utiliser Varnish ESI ou le Hole Punching Magento.
Les extensions de performance qui se contredisent Avoir 3 extensions d’optimisation JavaScript installées simultanément peut aboutir à un résultat pire que sans aucune. Auditez votre stack avant d’ajouter.
L’indexation en “Update on Save” en production Toujours utiliser “Update by Schedule” en production pour éviter les blocages lors des imports produits.
Conclusion
L’optimisation de la performance Magento est un chantier permanent, pas une action one-shot. Elle nécessite une surveillance continue (New Relic, Datadog), des audits réguliers et une équipe qui sait quoi regarder.
Chez Vesora, la surveillance des performances et les optimisations régulières font partie de notre TMA illimitée. Pas besoin de le gérer vous-même.