Trois seuils définissent ce que la documentation web.dev de Google appelle une bonne page. Le Largest Contentful Paint, la métrique de chargement, doit intervenir dans les 2,5 secondes suivant le début du chargement de la page. L’Interaction to Next Paint, la métrique de réactivité, doit être de 200 millisecondes ou moins. Le Cumulative Layout Shift, la métrique de stabilité visuelle, doit être de 0,1 ou moins.1 La même page ajoute que la valeur à mesurer est le 75e centile des chargements de page, en distinguant téléphones et ordinateurs.1 Une page ne réussit que si trois lecteurs sur quatre bénéficient de la bonne expérience.
Les sources publiées désignent la publicité comme une cause pour deux des trois métriques
La page web.dev consacrée à l’optimisation du Cumulative Layout Shift indique que les publicités comptent parmi les principaux responsables des décalages de mise en page sur le web.2 Les widgets intégrés, précise-t-elle, ignorent souvent la taille de leur contenu avant qu’il ne se charge, si bien que les plateformes qui les proposent ne réservent pas toujours d’espace.2 Le remède qu’elle propose est de réserver cet espace dans la mise en page initiale, au moyen d’une hauteur minimale ou d’un rapport hauteur/largeur sur l’emplacement.2 Un contenu injecté près du haut de la fenêtre d’affichage, ajoute-t-elle, provoque généralement le décalage le plus important.2 Chacun de ces remèdes suppose que la publicité est un rectangle dont la taille reste inconnue jusqu’à son arrivée.
L’Interaction to Next Paint mesure l’autre coût. Elle observe la latence de chaque clic, toucher et interaction au clavier pendant la visite d’un lecteur, et une INP inférieure ou égale à 200 millisecondes correspond à une bonne réactivité.3 La documentation attribue une partie de cette latence aux tâches longues sur le thread principal.3 Le Web Almanac 2024 de l’HTTP Archive a regroupé les longues images d’animation sur ordinateur par catégorie de script.4 La publicité figurait parmi les catégories pour lesquelles la majorité des INP se situaient dans la zone médiocre.4
Une publicité attachée à un mot de la page n’a pas d’emplacement à réserver
Une publicité attachée à un mot déjà présent dans le paragraphe n’a besoin d’aucun rectangle, et c’est le format que vend AdBubbles. Un éditeur ajoute un script, adbubbles.js, et les mots achetés dans ses articles reçoivent un léger soulignement en pointillé. Survoler ou toucher le mot ouvre une petite bulle contenant la mention « Ad » (publicité), un titre et un texte courts, le domaine de l’annonceur et un lien. Le script est un unique fichier statique en JavaScript simple, sans dépendance, et il se charge une fois le DOM de la page prêt. Avant qu’un lecteur n’agisse, la page ne contient ni bulle ni emplacement vide.
AdBubbles ne dépose aucun cookie, ne stocke aucun identifiant et ne collecte aucune donnée personnelle sur les lecteurs. Le script d’intégration envoie trois balises de mesure : un affichage par chargement de page, une ouverture lorsqu’une bulle est restée visible une seconde, et un clic lorsqu’un lien est suivi. Rien d’autre ne quitte la page. Ce que fait AdBubbles, comme l’explique la page sur le fonctionnement, c’est associer des mots d’une page à l’annonceur qui les a achetés. Le service ne choisit pas qui voit une publicité, ne suit pas un lecteur d’une page ou d’un site à l’autre, et ne promet aucun résultat. L’effet du script d’intégration sur les métriques d’un site, seules les mesures de ce site peuvent le montrer.
La définition du Cumulative Layout Shift compte pour la manière dont une bulle s’ouvre. La métrique comptabilise les décalages inattendus, et un décalage survenant dans les 500 millisecondes suivant une action ponctuelle, comme un toucher, un clic ou une pression de touche, est signalé et peut être exclu.5 Sur un téléphone, un toucher ouvre la bulle, et au clavier, c’est la touche Entrée ; ce sont deux actions ponctuelles. Sur ordinateur, la bulle s’ouvre après un court délai de survol, et savoir si quelque chose bouge à ce moment-là est une question à laquelle répondent les données de terrain du site.
L’éditeur décide quelle partie d’une page le script d’intégration peut lire. Le périmètre est l’élément qu’il analyse, par exemple l’élément article, et à l’intérieur, le script d’intégration ignore les titres, les liens, le code, les contrôles de formulaire, la navigation, l’en-tête, le pied de page et tout ce qui est marqué data-noads. Il souligne la première occurrence de chaque mot acheté, ne place jamais deux bulles dans un même paragraphe, et s’arrête au maximum fixé par l’éditeur. Les options de configuration sont le périmètre, le maximum par page et les catégories d’annonceurs à exclure.
Un score de 90 vient d’un laboratoire, une évaluation réussie vient des lecteurs
Le 90 d’un objectif de performance désigne une tranche de Lighthouse, pas un résultat Core Web Vitals. La documentation de Chrome sur la notation des performances Lighthouse colore en vert un score de 90 à 100 et le qualifie de bon ; de 50 à 89, il est orange, et de 0 à 49, rouge.6 PageSpeed Insights obtient ce score en exécutant Lighthouse dans un environnement simulé, et appelle ce résultat des données de laboratoire.7 Les données de terrain issues de vrais lecteurs figurent à côté, dans le même rapport.7
Le score est une moyenne pondérée de cinq scores de métriques.6 Dans le tableau de Lighthouse 10, le Total Blocking Time pèse 30 %, le Largest Contentful Paint et le Cumulative Layout Shift 25 % chacun, et le First Contentful Paint et le Speed Index 10 % chacun.6 L’Interaction to Next Paint ne figure pas parmi les cinq. Une page peut donc se trouver dans la zone verte alors que ses lecteurs attendent plus de 200 millisecondes qu’un toucher soit pris en compte.
L’évaluation Core Web Vitals repose sur le terrain. PageSpeed Insights tire ses données d’utilisateurs réels du Chrome User Experience Report et couvre la période de collecte des 28 jours précédents.7 Une page disposant de données suffisantes réussit l’évaluation lorsque les 75es centiles des trois métriques sont bons.7 Google Search Central indique que de bonnes Core Web Vitals, avec d’autres aspects de l’expérience sur la page, correspondent à ce que ses systèmes de classement principaux cherchent à récompenser.8 Une évaluation réussie est un constat sur trois valeurs de terrain, et un score de 90 un constat sur une moyenne pondérée de laboratoire.
Chrome décharge une publicité qui sollicite trop l’appareil du lecteur
Chrome impose également une limite aux publicités qui consomment trop de bande passante et de processeur chez le lecteur. Sa documentation sur les interventions contre les publicités lourdes énonce trois conditions.9 La première est une consommation de plus de quatre mégaoctets de bande passante réseau, la deuxième plus de 15 secondes de temps sur le thread principal dans toute fenêtre de 30 secondes. La troisième est plus de 60 secondes de temps sur le thread principal au total. Un cadre publicitaire qui franchit l’un de ces seuils est déchargé.9
Ces valeurs décrivent une publicité qui s’exécute dans son propre cadre, avec son propre trafic réseau et sa propre charge sur le thread principal. Une bulle est affichée dans un Shadow DOM à l’intérieur du document de la page, et non dans un cadre publicitaire. Les données propres au site que lit le script d’intégration forment un fichier statique, régénéré lorsqu’une campagne change et mis en cache en périphérie du réseau. Une page vue ne coûte donc rien au serveur publicitaire, et la seule requête dynamique est la petite balise de mesure.
La valeur à comparer est le 75e centile du site lui-même, pas un score
Le Web Almanac 2024 fournit les références auxquelles un éditeur peut comparer sa propre origine. Il indique que 72 % des sites web obtenaient de bons scores CLS et 11 % de mauvais.4 Une bonne INP concernait 74 % des sites web sur téléphone et 97 % sur ordinateur.4 De bonnes Core Web Vitals dans leur ensemble, mesurées avec l’INP, concernaient 43 % des sites sur téléphone et 54 % sur ordinateur.4
Un compte éditeur et le script d’intégration ne coûtent rien à mettre en place. La valeur à lire ensuite n’est pas la zone verte. Pour une origine disposant de données suffisantes, PageSpeed Insights affiche l’Interaction to Next Paint et le Cumulative Layout Shift au 75e centile sur les 28 jours précédents.7 Le rapport Core Web Vitals de la Search Console montre les performances des pages du site.8 Ces deux valeurs de terrain, relevées avant l’ajout d’un script puis 28 jours après, sont les chiffres qu’un score de 90 ne peut pas fournir.