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 sur LightHouse
Et voici pour le détail des performances qu'il sera possible d'améliorer :
- Résultat de PingDom :
La page est vraiment lourde.
- Résultat de WebPageTest :
- Résultat de SecurityHeaders
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/ :
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 sur LightHouse
Et voici la partie performance :
- Résultat de 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 |