PageSpeed Insights utilise désormais Lighthouse 13.6.0, sorti le 27 octobre. Cette version de Lighthouse modifie la façon dont elle simule le temps de chargement d’une page.
Barry Pollard, défenseur des performances Web de Chrome, a déclaré sur Bluesky que la version mise à jour de PageSpeed Insights avec Lighthouse 13.6.0 est désormais disponible. Il a déclaré que cela améliore le FCP (First Contentful Paint) simulé et le LCP (Largest Contentful Paint) simulé, qui, selon Pollard, seront tous deux plus précis qu’avant et entraîneront généralement des scores plus élevés.
Une page peut recevoir un score PageSpeed Insights différent sans que rien ne change, en raison du changement intervenu dans le test. Pollard a également déclaré que les sites Web fortement dépendants de JavaScript seraient plus susceptibles de constater un impact du test mis à jour.
Pollard pointe vers des sites à forte teneur en JavaScript
Pollard a cité un développeur qui avait expliqué comment les applications à page unique (SPA) avaient vu leurs résultats s’améliorer considérablement depuis la mise à jour de Lighthouse, citant React.dev. Il a ouvert son message en disant « Vrai ! », puis a ajouté :
« Notez que ceci n’est pas spécifique au SPA (et n’a aucun rapport avec d’autres éléments SPA sur lesquels nous avons travaillé), mais est plus susceptible d’avoir un impact sur les sites utilisant beaucoup de JS. »
Les métriques expérimentales de navigation logicielle dans Chrome dont j’ai parlé en octobre sont une manière distincte de mesurer l’expérience utilisateur. Les données proviennent de vrais utilisateurs de Chrome via le rapport d’expérience utilisateur Chrome (CrUX) et Lighthouse utilise un test simulé.
Ce qui a changé dans la simulation
Par défaut, Lighthouse chargera une page à pleine vitesse, puis estimera comment elle se chargerait avec une connexion plus lente. Les documents de limitation indiquent que cette limitation simulée correspond à la configuration de PageSpeed Insights.
Les notes de publication de la version 13.6.0 de Lighthouse répertorient plusieurs modifications apportées à Lantern, qui est la simulation derrière ces estimations, visant à améliorer sa précision.
Lighthouse 13.5 a utilisé la priorité d’extraction de chaque requête pour décider si elle bloquait ou non le rendu. Dans la version 13.6, Lantern utilise la propre étiquette de blocage de rendu de Chrome pour chaque requête (et revient à utiliser la priorité uniquement lorsque cette étiquette est manquante).
Un deuxième changement s’applique lorsque l’élément LCP est un texte qui apparaît dans le même cadre que le premier contenu de la page. Lantern estime désormais que LCP à partir des mêmes requêtes et tâches de page qu’il utilise pour FCP au lieu d’un ensemble pouvant inclure toutes les requêtes effectuées avant LCP.
Ivan Akulov a montré dans un numéro de GitHub comment l’ancienne simulation gérait une page de test créée avec Framer dont le seul contenu au-dessus de la ligne de flottaison était du texte, donc un élément comptait à la fois comme FCP et LCP. Lighthouse a signalé LCP beaucoup plus tard que FCP pour ce texte. Même si le préchargement des modules JavaScript de la page a amélioré le temps d’interaction de la page réelle, ils ont aggravé le LCP simulé.
Pollard a remercié Akulov dans une réponse, affirmant qu’il « avait lancé certaines de ces améliorations ». L’équipe Lighthouse a résolu le problème comme terminé dans la mise à niveau de Lantern répertoriée dans les notes de version 13.6.
L’audit ARD vérifie désormais ard.json
Lighthouse 13.6 a également mis à jour l’audit Agentic Resource Discovery (ARD) de Lighthouse 13.5, que j’ai couvert en septembre. Lorsque Lighthouse 13.5 a été publié, il recherchait un manifeste ARD sous l’ancien ai-catalog noms même si la spécification avait changé pour ard.json. Ainsi, si votre site Web utilisait uniquement le nouveau nom mais que vous n’incluiez pas de ligne dans votre fichier robots.txt appelée Agentmap, elle s’afficherait comme Non applicable.
Avec cette mise à jour, Lighthouse 13.6 recherchera une ligne Agentmap, un rel="ard" balise de lien ou en-tête de lien et /.well-known/ard.json avant de chercher le ai-catalog noms. Et si Lighthouse 13.6 trouve le manifeste uniquement à un moment donné ai-catalog emplacement, il notera que les consommateurs ARD ne sont pas tenus de s’y enregistrer.
Résultats de laboratoire et données de terrain
Le score de performance répertorié pour votre page dans PageSpeed Insights est basé sur les données générées par Lighthouse. Selon la documentation PageSpeed Insights de Google, les données de laboratoire sont le résultat d’une charge simulée utilisant un seul appareil fonctionnant dans un ensemble fixe de conditions de réseau. Ils notent que « disposer de bonnes données de laboratoire ne signifie pas nécessairement que les expériences des utilisateurs réels seront également bonnes ».
Les données de terrain (également présentées dans le même rapport) représentent les visites réelles sur votre site Web au cours des 28 derniers jours, telles que rapportées par CrUX. Chaque rapport PageSpeed Insights inclut la version de Lighthouse utilisée pour générer les résultats, à côté de l’appareil émulé.
Pourquoi c’est important
Les scores PageSpeed Insights avant et après la mise à jour Lighthouse 13.6 n’ont pas été mesurés avec la même simulation. Une partie d’un score de laboratoire plus élevé sur une page que vous venez d’optimiser peut provenir de la nouvelle version, et les graphiques qui suivent les scores de laboratoire au fil du temps peuvent montrer une augmentation lors du passage à 13,6.
Avant de signaler une amélioration, vérifiez que les deux rapports nomment la même version de Lighthouse et comparez les données de terrain.
Regarder vers l’avenir
Les notes de version de Lighthouse indiquent que son équipe s’attend à ce que la version 13.6 soit livrée dans les DevTools de Chrome 159, qui se trouvent désormais dans le canal de développement de bureau de Chrome et dans Canary. Depuis le 2 novembre, le calendrier de sortie de Chrome répertorie Chrome 159 pour une version stable le 8 décembre.
Un problème ouvert sur GitHub de Lighthouse examine également les cas où le LCP simulé de Lantern fonctionne bien au-dessus du LCP mesuré, en utilisant de grands sites JavaScript et SPA comme exemples.