Felix Arntz, membre reconnu du committé de developement du noyau de WordPress et ingénieur des programmes de développement chez Google, a annoncé un plan pour introduire une fonctionnalité de chargement de type lazy loading sur la plateforme. Si les tests se déroulent bien, cette fonctionnalité pourrait être intégrée à WordPress 5.4 en mars.

Le concept de lazy loading permet de rendre une page web sans charger certaines ressources jusqu’à ce qu’elles soient nécessaires. Cela permet d’accélérer le chargement des pages et d’enregistrer les données du côté du visiteur. Le lazy loading est particulièrement utile pour le rendu d’images sur le web.

Le contraire du lazy loading est appelé eager loading, qui charge tout en vrac. Par défaut, c’est ainsi que toutes les images sont chargées sur le web. Cela conduit souvent à de mauvaises performances sur les pages web riches en images, où beaucoup d’images ne sont pas dans la fenêtre de visualisation du visiteur du site lors de la première consultation de la page.

Pendant de nombreuses années, diverses bibliothèques JavaScript ont géré cette fonctionnalité, mais pas toujours avec succès. Une solution native fait peu à peu son chemin dans les navigateurs. Le lazy loading natif fonctionne en ajoutant un attribut de chargement à un élément <img> ou <iframe>. Les navigateurs peuvent alors décider de la manière de charger une ressource en fonction de la valeur de l’attribut. Actuellement, Chrome, Edge et Opera gèrent tous l’attribut de chargement. Une fois que l’attribut sera officiellement intégré dans la spécification HTML, la fonction devrait devenir une norme que tous les navigateurs prennent en charge.

Le nouveau plug-in de la fonction de Lazy Loading est maintenant disponible dans le répertoire des plug-ins de WordPress. Le plug-in ne repose que sur la prise en charge native des navigateurs et n’ajoute pas de JavaScript supplémentaire. L’implémentation ajoute un attribut de chargement aux images dans le contenu des posts, les extraits, les commentaires, les widgets de texte, les avatars et les instances d’utilisation des fonctions d’image de base de WordPress. Par défaut, le plug-in configure toutes les images pour qu’elles se chargent lentement.

Il est rafraîchissant de voir le travail continu des principaux contributeurs sur des solutions d’images plus robustes. En plus de la gestion de la grande taille des images de WordPress 5.3, ces deux fonctionnalités permettront d’obtenir un web généralement plus rapide. Le nombre croissant d’utilisateurs qui chargent des images de haute qualité via leur téléphone portable au cours des dernières années n’a fait qu’exacerber le problème de la lenteur du web. C’est pourquoi il est impératif que WordPress pousse continuellement à l’optimisation des images.

Comment cela affecte les plug-ins existants

Comme tous les navigateurs web ne prennent pas en charge l’attribut de chargement, les utilisateurs peuvent ne pas vouloir abandonner automatiquement leurs plug-ins actuels lorsque la fonctionnalité est intégrée à WordPress. Les utilisateurs peuvent choisir de prendre en charge les navigateurs sans lazy loading natif pendant un certain temps

Le code proposé dans le plug-in Lazy Loading tente de détecter si l’attribut de chargement existe sur une image avant de l’appliquer. Cela signifie que le code doit être compatible avec les plug-ins existants et éviter les conflits dans la plupart des cas.

Les développeurs de plug-ins qui gèrent le lazy loading doivent commencer à tester leurs plug-ins et à les mettre à jour pour WordPress 5.4. Suivez le ticket de l’API Lazy Loading sur le noyau de Trac pour rester informé de l’arrivée de la fonctionnalité et du dépôt GitHub pour contribuer à son développement.