L'obsession de l'optimisation (2)
Last updated on:
This note is also available in English.
J'écrivais dans une note précédente : L'obsession de l'optimisation. Aujourd'hui, j'en fais un update.
Alors je suis obsédé par les performances de mon site segbedji.com. Obsédé par sa vitesse, son ranking dans les principaux SERP, sa sécurité, etc...
C'est pour moi une affaire personnelle. Très personnelle. Je me présente comme un talentueux développeur WordPress. Il va de soi que mon site, construit avec ce CMS soit un exemple crédible de ce que je prétends offrir!
Je vais aborder aujourd'hui (dans le numéro 50 de mes #DailyNotes ??) les différentes choses que j'ai eu à faire, et que je continue de faire sur le site.
N°51 maintenant. Puisqu'hier j'ai eu la flemme de pousser cet article en ligne. Voir En attendant demain pour plus de détails.
Vitesse
Comme j'ai dit plus haut, mon site doit être rapide. Très rapide. Excessivement rapide (enfin dans les limites du possible). Il me fallait donc opter pour un thème WordPress lite que je pourrai booster à coups de petites astuces à ma sauce.
L'occasion était trop parfaite avec 2020, le nouveau thème par défaut officiel de WordPress, venu avec 5.3 (version pour laquelle j'ai fait partie de l'équipe de la mise à jour, en coordonnant la documentation technique).
2020 a été désigné par l'excellent Anders Norén, et son développement a été coordonné par Ian Belanger. J'ai moi même apporté quelques correctifs au thème lors des premières phases de son développement.
Donc je suis parti sur un thème enfant de 2020 dont le code source est actuellement hébergé sur mon compte GitHub.
Les images, c'est en général l'une des ressources les plus gourmandes sur un site. Je fais donc attention à n'uploader que des images au préalable optimisées (taille, poids). J'étais donc plus que ravi quand la fonctionnalité du dimensionnement automatique des grandes images est venue avec WordPress 5.3 (kudos à notre très cher Andrew pour le travail fait à ce niveau).
Les images sont aussi converties au format WebP pour plus d'optimisation. Aussi, je n'en utilise maintenant que quand c'est strictement nécessaire.
À côté, j'ai l'excellent, l'incontournable WP Rocket ? pour l'optimisation du site. En gros, cache, pré-chargement du cache, minification et compression des fichiers de script et style sont assurés.
J'ai testé pendant quelques semaines la fonctionnalité de preloading des images, que j'ai ensuite laissé. Cela parce que WP Rocket ajoute un script sur le site pour la gérer. Un script de moins à charger, qui allait s'en priver ?. Pas moi, c'est sûr. Aussi, Chrome supporte nativement le preloading depuis quelques semaines. Donc dès que j'aurai un bout de temps, je vais contribuer au ticket ouvert par Morten sur le Core Trac pour l'intégrer à WordPress.
Autre aspect, les extensions. La croyance populaire veut que plus on a d'extensions actives sur un site WordPress, plus celui ci est lent. Ce n'est pas exactement ça. Un site avec 30 extensions actives peut être plus rapide et performant qu'un autre avec 3.
J'ai limité au strict minimum les extensions actives sur le site. La liste se trouve sur ma page de mentions légales.
J'ai aussi désactivé les commentaires sur le site. Donc plus de scripts de commentaire à charger (bien que ce ne soit pas la raison première de cette action).
<figure>
<figcaption>
Test sur GTmetrix
</figcaption>
</figure>
<figure>
<figcaption>
WebPage Test
</figcaption>
</figure>
<figure>
<figcaption>
Pingdom test
</figcaption>
</figure>
<figure>
<figcaption>
PageSpeed Insights
</figcaption>
</figure>
<figure>
<figcaption>
PageSpeed Insights
</figcaption>
</figure>
PS : J'ai remarqué que certains émojis sont chargés en SVG depuis les serveurs de w.org, et qu'un script est ajouté sur toutes pages, même celles qui ne contiennent pas d'émojis. À explorer pour plus tard.
Ah, il commence par devenir trop long ce post. Eh bien, on va s'arrêter là pour aujourd'hui. Demain je parlerai de comment je gère le référencement sur mon site.