UI-Google-lighthouse-v6

Google a annoncé une v6 de Lighthouse. Comment le score PageSpeed Insights sera-t-il calculé avec cette nouvelle version ? Quelles sont les métriques webperf qui entrent dans le calcul, et avec quelle importance ? Quelle différence avec la version précédente ? Nous vous aidons à y voir clair et à comprendre l’impact sur votre score.

De nouvelles métriques webperf font leur apparition dans la v6 de Lighthouse

Lighthouse établit un score de performance sur la base de différents indicateurs. 6 métriques webperf sont prises en compte, signalées par le picto Lighthouse dans le graphique ci-dessous :

lighthouse-google-v6-metrics

 

Le calcul du score PageSpeed Insights repose, quant à lui, sur 5 indicateurs. Pour rappel, voici ceux qui étaient utilisés pour la v5, dont les poids respectifs sont détaillés ici par Google :

Voici pour commencer ce qui change dans la v6 :google-lighthouse-v5-vs-v6-web-performance

A présent, vous vous demandez peut-être quel impact a cette nouvelle version de Lighthouse sur votre score PageSpeed Insights ? Pour tester concrètement les effets des changements, Paul Irish propose ici un simulateur. Il vous permet de comparer facilement un score entre la v5 et la v6. Le poids de chaque métrique y est précisé, comme on le voit dans la capture ci-après :

  • First Contentful Paint : 25 % (vs. 20 % dans la v5)
  • Speed Index : 15 % (vs. 26,7 % dans la v5)
  • Largest Contentful Paint : 20 % (First Meaningful Paint à 6,7 % dans la v5)
  • Time To Interactive : 15 % (vs. 33,3 % dans la v5)
  • Total Blocking Time : 25 % (First CPU Idle à 13,3 % dans la v5)

 

https://www.fasterize.com/wp-content/uploads/2020/03/lighthouse-v6-metrics-weight-paul-irish.png

 

Pourquoi ces changements dans le calcul du score PageSpeed Insights ?

Les indicateurs qui ont été abandonnés présentaient des lacunes que la v6 vient compenser. Tour d’horizon des évolutions et des raisons qui les ont motivées.

Le Largest Contentful Paint remplace le First Meaningful Paint, qui était trop imprécis

Pourquoi avoir mis de côté le First Meaningful Paint ? Parce qu’il était loin d’être parfait en raison de son manque de fiabilité. Il est censé indiquer le moment où les contenus principaux sont chargés sur la page en se basant sur des données réelles (RUM), mais la marge d’erreur est malheureusement assez importante. C’est pourquoi il est remplacé par le Largest  Contentful Paint qui permet d’indiquer le moment où apparaît l’élément le plus important en termes de taille. C’est un point de repère dans le temps qui traduit mieux l’expérience utilisateur.

Le poids du Time To Interactive est divisé par 2

Métrique sujette à discussions, le Time To Interactive (TTI) représentait 33 % du score v5, il passe à 15 % dans la v6. Mais alors que l’interactivité a de plus en plus d’importance dans l’évaluation de la webperf, pourquoi réduire le poids du TTI ? Tout simplement parce qu’il n’est pas parfaitement fiable, lui non plus. 

Sa limite réside principalement dans le fait que le TTI est censé mesurer le temps de CPU, mais beaucoup de sites voient l’interactivité retardée à cause de Third Parties. Le poids du TTI dans le calcul du score Lighthouse était donc pénalisant, particulièrement pour ces sites.

Pour aller plus loin, les faiblesses du TTI sont d’ailleurs expliquées par Boris Schapira sur le blog de Dareboost. Cet indicateur devrait en réalité s’appeler “Time To Consistently Interactive”, puisque dans les faits, il n’indique pas “le moment où la page devient interactive”, mais celui où la page devient interactive de façon durable et sans latence. En quelques mots (l’article entier vous permettra vraiment d’en comprendre les subtilités) : 

“Le TTI est une mesure de l’interactivité qui ne repose pas sur les interactions réelles des utilisateurs. L’algorithme fait plutôt une approximation en considérant qu’une interaction satisfaisante ne peut se produire que dans des conditions spécifiques et s’intéresse à déterminer la survenue de ces conditions.”

Ainsi, ces limites ont mené à se tourner vers un autre indicateur qui fait son apparition dans la v6 du score Lighthouse : le Total Blocking Time, qui est un bon complément du TTI.

 

Total-Blocking-Time

Le Total Blocking Time est ici de 5s (4s + 1s)

 

Le Total Blocking Time remplace le First CPU Idle, qui était également trop pénalisant

Le First CPU Idle a lui aussi cédé sa place pour introduire le Total Blocking Time (TBT). Le TBT est une addition des temps de blocage de l'interface avant qu’elle ne devienne interactive de façon durable.

En effet, mesurer les durées de non-interactivité semble bien plus révélateur de l'expérience utilisateur, car cela rend mieux compte de la probabilité pour qu’il y ait un délai avant de pouvoir interagir (ce que Google a confirmé de manière statistique).

Le TBT évalue ainsi la somme de tous les moments où le Main Thread est bloqué par des Long Tasks (tâches dont l’exécution est supérieure à 50 ms), comme expliqué en détail par Google

 

total-blocking-time-calcul

Le TBT est calculé en additionnant toutes les durées en rouge

 

Pour synthétiser, les métriques webperf qui entrent dans le calcul du score se découpent dorénavant en 3 catégories : Affichage, Interactivité et Prédictibilité.

 

Ce nouveau mode de calcul nous semble permettre d’avancer dans le bon sens. En effet, il adresse mieux la notion d’interactivité avec des indicateurs de plus en plus proches de la perception des internautes.

Vous souhaitez suivre et améliorer durablement les temps de chargement de votre site ?
Découvrez la méthode appliquée par les sites e-commerce les plus performants :

Tout savoir sur le Budget Performance


Hello SMX Paris !