8 astuces pour rendre Magento plus rapide !
Vous êtes e-commerçant et vous souhaitez rendre votre site Magento ou Adobe Commerce plus performant ?
Découvrez notre tutoriel en 8 étapes pour optimiser le temps de chargement de votre site. Vous pourrez ensuite mesurer le résultat grâce aux Cores Web Vitals.
Assurez-vous d'avoir un hébergement adapté
L'hébergement de votre site e-commerce, c'est comme l'emplacement d'un magasin, il doit avoir un emplacement et un agencement adapté pour accueillir un maximum de visiteur. Une fois qu'on a compris ce point, on comprend vite qu'il n'est pas possible de se contenter d'un hébergement mutualisé. L'hébergement d'un site Magento, ce sont avant tout des risques à contrôler, car on est sur un site qui stoque des données personnelles, et doit être performant. Nous recommandons donc l'investissement dans un hébergement avec une offre d'infogérance, comme un serveur dédié ou des machines virtuelles. Pour le dimensionnement, faites-vous accompagner de votre agence Magento ou directement par l'hébergeur.
Mettre en place Varnish
Varnish est un systeme de cache côté serveur. Son rôle est de stocker les pages de votre site une fois générée pour les re-servir plus rapidement au prochain visiteur. Comment ça marche ? Chaque fois qu'un visiteur vient sur l'un de vos pages, votre CMS favoris va compiler toutes les données dans la code et la base de données pour préparer le HTML. Cette consolidation peut prendre du temps, mais elle n'a pas de raison de changer à chaque affichage, elle reste probablement valide pendant plusieurs minutes voir heure voir jours selon les cas. Sur un site e-commerce, les stocks sont la donnée qui change le plus souvent, viennent ensuite les prix, puis les autres informations. Pour cela il n'est pas nécessaire de recherche l'ensemble des attributs. Certaines zones de la page peuvent être exclues de ces pages (comme le panier par exemple) grâce à ce qu'on appelle des ESI (Edge Side Include). C'est grâce à varnish que vous pourrez viser un TTFB inférieur à 100 ms par exemple. Le TTFB est d'ailleurs la valeur de performance qui a le plus d'impact sur le référencement de votre site Magento.
Avoir une préchauffe des caches
Nous venons de le voir, les caches ont une importance cruciale pour le temps de chargement. Mais pour être efficace, il ne faut pas que ce soit Google ou vos visiteurs qui s'occupent de la première génération stockée dans Varnish. Pour cela, on va donc utiliser un mécanisme de préchauffe des caches. L'idée est de confier à un robot (un module magento ou externe) le soin d'aller consulter les pages de manière récurrente pour s'assurer qu'elles soient bien toujours en cache.
Limiter la taille des images
Ca parait trivial comme conseil, mais avec la démocratisation des appareils photo en mégapixels y compris sur les smartphones, tous les vendeurs ont tendance à intégrer des photos produit ou de carrousel avec une taille bien trop grosse. Et plus la taille du fichier est grosse, plus elle prend de temps à télécharger.
Pour cela, pensez à compresser vos images à l'aide de format comme le jpg, le png ou même mieux le webp etc. L'essentiel à la base étant de 'assurer que si elles vont dans un emplacement, par exemple de 600 pixels de large, elles ne fassent que 600 pixels de large.
Attentions aux traitements d'arrière-plans
On mesure souvent la webperf en pleine journée pendant nos heures de travail. Mais notre serveur (et Google) travaillent eux 24h sur 24 7j sur 7. Il est donc essentiel de s'assurer qu'il n'y a pas de traitement en arrière (synchronisation de produit, de commande, etc) qui peuvent ralentir le serveur à des moments stratégiques. Pour cela, on utilisera la méthode d'un serveur annexe pour ces traitement ou simple en dé priorisant les traitements avec des commandes linux comme "nice" qui permettent de laisser la priorité aux instructions d'affichage du site avant les traitements de back office. Il est d'ailleurs de rendre un maximum de traitements asynchrone et de les cadencer avec un message broker de type RabbitMQ. (Magento possède d'ailleurs un connecteur Rabbit MQ en natif)
Désactiver les modules inutiles
Magento est livré avec de nombreux modules en natif, comme, par exemple, les modules de paiement et de livraison. Vous n'avez peut-être pas besoin de l'ensemble, n'hésitez pas à en faire l'inventaire avec votre agence et vous assurez que ceux qui ne vous servent à rien soit désactivé pour alléger le fonctionnement d'ensemble.
Attention aux ressources externes
Les e-commerçant adorent rajouter plein de fonctionnalités issues de solutions externes, souvent en SAAS. Il faut cependant s'assurer que celles-ci chargent toujours rapidement. Elles sont souvent appelées en externe, voir en JS, et peuvent ralentir l'affichage final de la page et l'interaction avec l'utilisateur.
Accélérer le back office grâce à Redis !
Y'a pas que le front et les visiteurs dans la vie, il faut aussi penser aux utilisateurs en back office, mais également à toute la préparation en amont de Varnish. Pour cela il est pertinent d'installer Redis qui va jouer un rôle de cache supplémentaire d'arrière-plan. L'impact de Redis sera plus sur le back office. Il joue en plus un rôle de remplacement du stockage fichier en termes de cache.
Et vous, quel est votre bilan web perf ?
Vous avez identifié des points à améliorer ? n'hésitez pas à contacter l'une des agences citées sur notre site pour vous accompagner !
PS: Merci à Vincent Jacquemin pour sa relecture.