Optimisation du site enrouteversailleurs.com

Posté le mer. 25 août 2021 dans greenIT

État initial

Après une mise à jour de PHP, de WordPress, et de ses thèmes et plugins, voici les scores obtenus sur les différents outils d'analyse en ligne pour la page principale :

Résultat de l'analyse de LightHouse

Et voici pour le détail des performances qu'il sera possible d'améliorer :

Détails des performances

Résultat sur PingDom

La page est vraiment lourde.

Résultat de WebPageTest

Résultat de SecurityHeaders.com

Sécurisation des entêtes HTTP

Commencons par rajouter ces entêtes HTTP :

Header always set X-Frame-Options "SAMEORIGIN"
Header always set X-Content-Type-Options "nosniff"
Header always set Referrer-Policy "strict-origin-when-cross-origin"
Header always set Feature-Policy "microphone 'none'"
Header always set Permissions-Policy: "microphone=()"
Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains"

Ce qui donne un bien meilleur score sur https://SecurityHeaders.com/ :

Résultat sur SecurityHeaders.com

Nous configurerons l'entête Content-Security-Policy plus tard, lorsque les autres modifications sur le site seront terminées.

Suppression des plugins inutiles

De nombreux plugins inutiles ont été supprimés, afin d'alléger au maximum le nombre de scripts chargés et réduire les fonctionalités au strict nécessaire.

Encodage des images au format WebP

Mon extension préférée pour cette tache est WebP Converter for Media. Elle permet de convertir les images existantes, et de convertir à la volée les images rajoutée via la bibliothèque de média de WordPress. Elle est simple et rapide à utiliser : il faut simplement cocher les répertoires contenant des images à convertir, choisir une qualité (j'ai choisi 75%, que je trouve bien suffisant), et lancer la régénération des images. Il a été possible de gagner plusieurs Giga de stockage, et d'alléger considérablement la page d'accueil.

Il reste cependant un point à améliorer plus tard : l'image de fond panorama-gibralfaro.jpg fait 5321×1300 pixels. L'extension considère que l'image est trop grande pour être convertie. Il va donc falloir la convertir à la main.

Activation du cache

Pour le cache, j'utiliser habituellement l'extension WP Fastest Cache, mais pour cette fois, j'essaye l'extension WP-Optimize car elle possèdent des fonctionnalités de nettoyage de la base de données. C'est toujours utile pour un site assez ancien avec beaucoup d'historique qui l'alourdit.

WP-Optimize permet de nettoyer la base de données réguilèrement, d'activer la mise en cache des pages, d'activer la compression gzip, et bien plus.

Résultats

À cette étape, le site a déjà perdu beaucoup de poids, comme l'atteste les résultats suivants :

Résultat de l'analyse de LightHouse

Et voici la partie performance :

Détails des performances

Résultat sur PingDom

Le poids est passé de 9 Mo à 3,9 Mo.

Résultat de WebPageTest

  • Tableau de comparaison
Métrique Avant Après
Score de performance de LightHouse 41 63
Score de performance de PingDom C (77) B (87)
Poids de la page d'après LightHouse 12,6 Mio 1,7 Mio
Poids de la page d'après PingDom 9,0 Mio 3,9 Mio
Nombre de requêtes d'après LightHouse > 62 27
Nombre de requêtes d'après PingDom 93 31
Temps de chargement d'après PingDom 4,02 s 1,14 s