Blog · SEO

Core Web Vitals : comment mesurer et corriger le LCP, l'INP et le CLS

Ce que mesurent le LCP, l'INP et le CLS, les seuils à atteindre au 75e centile, pourquoi PageSpeed Insights et la Search Console ne donnent pas les mêmes chiffres, et un plan de correction pour chaque métrique d'après les recommandations de Google, avec un exemple chiffré.

Searvia · 24/10/2026 · Lecture : 20 min

En bref : les Core Web Vitals sont trois métriques que Google utilise pour décrire l'expérience réelle des utilisateurs : Largest Contentful Paint (LCP, chargement, bon à 2,5 s ou moins), Interaction to Next Paint (INP, réactivité, bon à 200 ms ou moins) et Cumulative Layout Shift (CLS, stabilité visuelle, bon à 0,1 ou moins). Chacune est évaluée au 75e centile des visites Chrome réelles sur 28 jours, séparément pour mobile et ordinateur. Google indique qu'elles sont utilisées par ses systèmes de classement, mais la pertinence passe avant tout. Pour les corriger, décomposez chaque métrique en ses parties et traitez d'abord la plus importante.

La plupart des conseils sur les Core Web Vitals sont des listes de cinquante astuces. C'est pourquoi des équipes consacrent un sprint à la « performance » sans voir leurs chiffres bouger. Les métriques sont plus structurées que cela : chacune se décompose en quelques parties mesurables, et une seule d'entre elles est généralement responsable de l'essentiel du problème.

Ce guide présente ce que mesurent les trois métriques, les seuils en vigueur en octobre 2026, la source de données à privilégier, ce que Google dit réellement du classement, et un plan de correction fondé sur le diagnostic pour chaque métrique, d'après la documentation officielle de Google sur web.dev.

Ce que mesurent les Core Web Vitals

D'après la présentation des Web Vitals sur web.dev, l'ensemble actuel et stable comprend trois métriques :

MétriqueMesureBonÀ améliorerMauvais
Largest Contentful Paint (LCP)Chargement : moment où le contenu principal apparaît≤ 2,5 s2,5 à 4 s> 4 s
Interaction to Next Paint (INP)Réactivité : vitesse de réaction de la page aux actions≤ 200 ms200 à 500 ms> 500 ms
Cumulative Layout Shift (CLS)Stabilité visuelle : ampleur des déplacements de contenu≤ 0,10,1 à 0,25> 0,25

Les seuils correspondent au tableau de la page À propos de PageSpeed Insights.

La règle du 75e centile

Google ne juge pas une page sur sa moyenne ni sur un test isolé. Web.dev indique qu'un bon seuil de mesure est « le 75e centile des chargements de page, segmenté entre mobile et ordinateur ». Autrement dit : au moins trois visites réelles sur quatre doivent atteindre le seuil « bon ». Pour réussir l'évaluation, une page doit obtenir un bon résultat au 75e centile sur les trois métriques.

Cela a deux conséquences que l'on oublie souvent :

L'INP a remplacé le FID en 2024

Interaction to Next Paint a remplacé First Input Delay (FID) comme Core Web Vital le 12 mars 2024. Le FID ne mesurait que le délai avant que le navigateur commence à traiter la première interaction. L'INP couvre les clics, les appuis tactiles et les pressions de touches pendant toute la visite, ainsi que le temps total jusqu'à l'affichage de l'image suivante. De nombreux sites qui réussissaient facilement le FID échouent à l'INP, car la lenteur venait toujours du travail effectué après la première action, que le FID ne comptait pas. Si vous voyez encore le FID dans un ancien rapport ou un plugin, ignorez-le.

Web.dev précise aussi que les Core Web Vitals stables « ne changeront pas plus d'une fois par an », et que les nouvelles métriques candidates restent au moins six mois en phase d'attente, ce qui vous laisse un préavis avant tout changement de règles.

Données terrain vs données de laboratoire

Il existe deux types de données de performance, et les confondre est la raison la plus courante pour laquelle des équipes corrigent le mauvais problème.

Données terrainDonnées de laboratoire
SourceUtilisateurs réels de Chrome (Chrome User Experience Report, CrUX)Un chargement de page simulé (Lighthouse, DevTools)
Période28 jours glissantsUn test, à l'instant T
Mesure l'INP ?OuiNon (Total Blocking Time comme indicateur de substitution)
Utilisées par Google Search ?C'est ce qu'utilise l'évaluation Core Web VitalsNon
Idéal pourSavoir si vous avez un problèmeTrouver pourquoi, et tester un correctif avant la mise en production

Quelques précisions tirées de la documentation de Google :

La règle pratique : les données terrain décident si vous avez un problème, les données de laboratoire aident à en trouver la cause. Un score Lighthouse de 98 avec un mauvais LCP terrain signifie que vos utilisateurs réels vivent une expérience moins bonne que la simulation, souvent à cause d'appareils lents, de publicités, de personnalisation ou de scripts tiers que le test en laboratoire ne déclenche pas.

Quel poids les Core Web Vitals ont-ils dans le classement ?

La documentation de Google sur l'expérience de la page est claire dans les deux sens :

Notre lecture : les Core Web Vitals ne feront pas passer une page non pertinente devant une page pertinente, mais ils peuvent compter entre des pages de qualité comparable, et ils comptent directement pour les utilisateurs. Une fiche produit qui met cinq secondes à afficher sa photo, ou un bouton « Acheter » qui se fige une demi-seconde, fait perdre des clients quel que soit le classement. Visez « bon » sur les trois métriques, puis cessez de courir après les points et revenez au contenu.

Étape 1 : identifier la métrique en échec et où

Avant de toucher au code :

Notre vérificateur Core Web Vitals gratuit offre une première lecture rapide sans compte : il récupère depuis CrUX le LCP, l'INP et le CLS au 75e centile de votre origine pour les visiteurs sur mobile, et mesure le temps de réponse du serveur, le poids du HTML, la compression, les scripts bloquant le rendu dans le head de la page et les formats d'image de votre page d'accueil.

Étape 2 : corriger le LCP par ses quatre sous-parties

Le LCP correspond au temps nécessaire pour afficher la plus grande image ou le plus grand bloc de texte dans la zone visible. Les éléments éligibles comprennent <img>, <video>, les éléments avec une image d'arrière-plan CSS url() et le texte de niveau bloc (LCP sur web.dev). Sur la plupart des fiches produit et pages d'atterrissage, il s'agit de l'image principale.

Optimize LCP décompose le LCP en quatre parties dont la somme donne le total :

Sous-partieDe quoi s'agit-ilPart cible approximative
Time to First Byte (TTFB)Jusqu'à l'arrivée du premier octet de HTML~40 %
Délai de chargement de la ressourceDu TTFB jusqu'au moment où le navigateur commence à charger l'image LCP< 10 %
Durée de chargement de la ressourceTéléchargement de l'image LCP~40 %
Délai de rendu de l'élémentDe la fin du téléchargement jusqu'à l'affichage de l'élément< 10 %

Web.dev qualifie ces proportions de « lignes directrices, pas de règles strictes », mais elles sont très utiles pour le diagnostic. Le panneau Performance de Chrome DevTools affiche la décomposition pour un chargement enregistré. La partie qui dépasse largement sa part est celle par laquelle commencer.

TTFB élevé

Le TTFB inclut les redirections, l'établissement de la connexion et le traitement côté serveur. Le guide TTFB de web.dev suggère 0,8 seconde ou moins comme objectif approximatif, tout en précisant que le TTFB n'est pas lui-même un Core Web Vital.

Délai de chargement de la ressource élevé

C'est souvent la sous-partie la plus lourde et généralement la moins coûteuse à corriger. Le navigateur aurait pu lancer plus tôt le téléchargement de l'image, mais il ne la connaissait pas.

Durée de chargement de la ressource élevée

Délai de rendu de l'élément élevé

L'image est arrivée, mais quelque chose empêche le navigateur de l'afficher :

Si le LCP est un bloc de texte plutôt qu'une image, le délai et la durée de chargement de la ressource sont nuls, et le problème vient du TTFB, des ressources bloquant le rendu ou des polices web.

Étape 3 : corriger l'INP par ses trois phases

L'INP enregistre les clics, les appuis tactiles et les pressions de touches pendant toute la visite (pas le défilement ni le survol) et rapporte l'interaction la plus lente, en ignorant une valeur aberrante pour 50 interactions (INP sur web.dev). Chaque interaction comporte trois phases :

PhaseDe quoi s'agit-ilCause typique quand elle est lente
Délai d'entréeAttente avant que le gestionnaire d'événement puisse démarrerUn autre JavaScript occupe le thread principal
Durée de traitementExécution de vos gestionnaires d'événementsTrop de travail dans le gestionnaire de clic
Délai de présentationDe la fin des gestionnaires jusqu'à l'affichage de l'image suivanteDOM volumineux, mise en page et rendu lourds

Le problème sous-jacent vient presque toujours des tâches longues : toute tâche qui dure plus de 50 millisecondes sur le thread principal. Tant qu'une tâche longue s'exécute, le navigateur ne peut pas répondre à l'utilisateur.

Réduire le délai d'entrée

Réduire la durée de traitement

Réduire le délai de présentation

Pour trouver l'interaction lente, regardez d'abord les données d'utilisateurs réels (quelles pages échouent), puis reproduisez dans Chrome DevTools : enregistrez une trace Performance en cliquant sur l'élément suspect avec un processeur ralenti, et cherchez les tâches longues après le clic.

Étape 4 : corriger le CLS cause par cause

Le CLS additionne les décalages de mise en page inattendus. Chaque décalage a pour score la part de la zone visible qui a bougé multipliée par la distance parcourue, les décalages sont regroupés en fenêtres de cinq secondes maximum, et le CLS correspond à la pire fenêtre (CLS sur web.dev). Les décalages survenant dans les 500 ms suivant un clic, un appui tactile ou une pression de touche sont exclus, car l'utilisateur les attendait. Le défilement ne compte pas comme une action, donc le contenu qui se décale pendant que quelqu'un fait défiler la page compte bel et bien.

Selon Optimize CLS, les causes habituelles et leurs correctifs :

CauseCorrectif
Images et vidéos sans dimensionsDéfinissez toujours les attributs width et height, ou la propriété CSS aspect-ratio
Publicités, contenus intégrés et iframesRéservez l'espace avec min-height ou aspect-ratio ; conservez un espace réservé si aucune publicité ne se charge
Contenu injecté tardivement (bannières, widgets d'avis, « produits similaires »)Réservez l'espace, placez-le plus bas dans la page, ou chargez-le sur action de l'utilisateur
Polices web qui s'échangentPréchargez les polices clés, utilisez font-display: optional, ou ajustez la police de repli avec size-adjust
Animations de propriétés de mise en page (top, left, height)Animez plutôt transform
Pages non restaurées depuis le cache arrière/avantRendez les pages éligibles au bfcache

Deux remarques tirées de l'expérience :

N'oubliez pas le cache arrière/avant

Quand les utilisateurs appuient sur Retour, une page restaurée depuis le bfcache s'affiche instantanément, sans nouveaux décalages de chargement. Web.dev qualifie l'éligibilité au bfcache de technique très efficace pour maintenir un CLS bas. Les deux obstacles les plus courants, d'après le guide bfcache de web.dev : les écouteurs d'événement unload (utilisez pagehide à la place) et l'en-tête Cache-Control: no-store sur des pages qui ne contiennent pas de données sensibles. Chrome DevTools propose un test sous Application › Back/forward cache.

Un exemple chiffré (chiffres hypothétiques)

Ce qui suit est un exemple hypothétique, pas des données réelles. Fernwood Home, une boutique de meubles en ligne inventée, échoue à l'évaluation Core Web Vitals sur mobile pour le gabarit de ses fiches produit. Valeurs terrain au 75e centile :

MétriqueAvantStatut
LCP4,6 sMauvais
INP340 msÀ améliorer
CLS0,21À améliorer

LCP : 4,6 s

Une trace DevTools sur un profil de téléphone ralenti montre que l'élément LCP est la photo principale du produit. La décomposition :

Sous-partieAvantPartProblème
TTFB1,3 s28 %HTML non mis en cache ; chaque lien de campagne a des paramètres uniques
Délai de chargement de la ressource1,6 s35 %Un script de galerie insère la photo ; loading="lazy" sur toutes les images
Durée de chargement de la ressource1,2 s26 %JPEG de 2 400 pixels envoyé à tous les téléphones
Délai de rendu de l'élément0,5 s11 %Script de test A/B synchrone dans le head

Le délai de chargement de la ressource représente plus de trois fois sa part cible, il passe donc en premier. Les correctifs : afficher la première photo sous forme de simple <img> dans le HTML serveur, retirer loading="lazy", ajouter fetchpriority="high", servir de l'AVIF et du WebP aux tailles de téléphone via srcset, mettre le HTML en cache au niveau du CDN en ignorant les paramètres de suivi dans la clé de cache, et charger le script A/B avec defer.

Résultat en laboratoire après la mise en production : TTFB 0,7 s, délai de chargement 0,2 s, durée de chargement 0,6 s, délai de rendu 0,3 s, soit un LCP de 1,8 s.

INP : 340 ms

Les données terrain pointent vers la fiche produit ; en reproduisant dans DevTools, l'interaction lente est le bouton « Ajouter au panier ». La trace montre environ 90 ms de délai d'entrée (un widget de chat et deux balises de suivi s'exécutant au même moment), 190 ms de traitement (le gestionnaire refait le rendu de tout le panneau du panier et envoie trois appels analytics de façon synchrone) et 60 ms de délai de présentation.

Les correctifs : charger le widget de chat seulement après la première interaction de l'utilisateur, afficher d'abord la mise à jour du panneau du panier, puis céder la main avant les mises à jour analytics et recommandations. Mesure en laboratoire sur le même profil ralenti : environ 150 ms.

CLS : 0,21

Trois causes : un widget d'étoiles d'avis inséré au-dessus du prix après le chargement, un échange de police web qui refait le retour à la ligne du titre du produit, et des vignettes sans dimensions. Les correctifs : réserver la hauteur du widget d'avis, précharger la police du titre et ajuster la police de repli avec size-adjust, ajouter width et height à chaque vignette. CLS en laboratoire : 0,04.

Lire le résultat

Les chiffres de laboratoire confirment que les correctifs fonctionnent. Les chiffres terrain, qui décident de l'évaluation, évoluent à mesure que de nouvelles visites remplacent les anciennes dans la fenêtre de 28 jours. Fernwood doit s'attendre à un changement progressif sur environ quatre semaines, puis cliquer sur Start tracking dans le rapport de la Search Console pour lancer la validation, qui dure elle aussi 28 jours. Si le LCP terrain se situe, disons, à 2,3 s plutôt qu'à 1,8 s, c'est normal : les vrais téléphones et réseaux sont plus lents que n'importe quel profil de laboratoire.

Erreurs courantes

Une checklist de départ d'une heure

Les Core Web Vitals ne sont qu'un volet de la santé technique. Notre guide d'audit SEO technique les replace dans leur contexte avec l'exploration, l'indexation, les redirections et les données structurées.

Comment Searvia vous aide avec les Core Web Vitals

Le vérificateur Core Web Vitals gratuit ne demande aucun compte et vous donne en moins d'une minute le tableau des utilisateurs réels de votre site. Dans Searvia, l'onglet Page speed d'un projet de site web lance chaque semaine PageSpeed Insights sur vos pages les plus visitées et affiche à la fois les scores de laboratoire et les données réelles des utilisateurs Chrome pour le LCP, l'INP et le CLS des 28 derniers jours. Les correctifs sont classés selon le temps qu'ils font gagner, et Write a fix plan for my files with AI transforme les principaux éléments en modifications pas à pas adaptées à votre stack (3 crédits). Connectez la Search Console pour voir les clics et les positions à côté de la vitesse, afin de savoir si un gabarit plus rapide a réellement apporté plus de trafic. Le guide d'aide sur la vitesse de page explique la configuration en environ deux minutes.

Questions fréquentes

Quels sont les seuils des Core Web Vitals ?
Le Largest Contentful Paint (LCP) est bon à 2,5 secondes ou moins et mauvais au-delà de 4 secondes. L'Interaction to Next Paint (INP) est bon à 200 millisecondes ou moins et mauvais au-delà de 500 millisecondes. Le Cumulative Layout Shift (CLS) est bon à 0,1 ou moins et mauvais au-delà de 0,25. Google mesure chacun au 75e centile des chargements de page réels, séparément pour mobile et ordinateur, et une page n'est validée que si les trois sont bons.
Les Core Web Vitals influencent-ils le classement dans Google ?
Oui, mais modestement. Google indique que les Core Web Vitals sont utilisés par ses systèmes de classement et recommande d'obtenir de bons scores, mais il précise aussi qu'il n'existe pas de signal unique d'expérience de la page, qu'il cherche toujours à afficher le contenu le plus pertinent même si l'expérience de la page est médiocre, et que de bons scores ne garantissent pas un classement en tête. Considérez-les comme un élément de départage et un enjeu de conversion, pas comme un substitut à un contenu pertinent.
Pourquoi les chiffres de PageSpeed Insights et de la Search Console sont-ils différents ?
Ils montrent souvent des choses différentes. PageSpeed Insights affiche les données terrain d'une URL (ou de toute l'origine quand l'URL a trop peu de données) ainsi qu'un test de laboratoire Lighthouse issu d'un seul chargement simulé. La Search Console regroupe les URL similaires et attribue à chaque groupe le statut de sa pire métrique. Les deux utilisent les mêmes données du Chrome User Experience Report sur les 28 derniers jours, mais le score de laboratoire est une simulation distincte et diffère souvent de ce que vivent les utilisateurs réels.
Pourquoi Lighthouse n'affiche-t-il pas l'INP ?
L'INP mesure la rapidité avec laquelle la page répond à de vrais clics, appuis tactiles et pressions de touches, et un chargement de page simulé n'a aucun utilisateur pour interagir avec elle. La documentation de Google indique que les outils de laboratoire comme Lighthouse ne peuvent pas mesurer l'INP et suggère le Total Blocking Time comme indicateur de substitution. Pour voir l'INP, utilisez les données terrain du Chrome User Experience Report, de PageSpeed Insights ou de la Search Console, ou enregistrez vous-même une interaction dans Chrome DevTools.
Combien de temps faut-il pour que les correctifs Core Web Vitals apparaissent ?
Les données terrain sont une moyenne glissante sur 28 jours, donc un correctif apparaît progressivement : quelques jours après le déploiement, les chiffres commencent à bouger, et l'effet complet se voit après environ quatre semaines. Dans la Search Console, cliquer sur Start tracking sur un problème lance une période de validation de 28 jours. Vérifiez vos résultats de laboratoire juste après le déploiement pour confirmer que le correctif fonctionne, puis attendez les données terrain.

Sources

  1. Web Vitals – web.dev
  2. Understanding Core Web Vitals and Google search results – Google Search Central
  3. Understanding page experience in Google Search results – Google Search Central
  4. Interaction to Next Paint becomes a Core Web Vital on March 12 – web.dev
  5. Largest Contentful Paint (LCP) – web.dev
  6. Optimize Largest Contentful Paint – web.dev
  7. Interaction to Next Paint (INP) – web.dev
  8. Optimize Interaction to Next Paint – web.dev
  9. Optimize long tasks – web.dev
  10. Cumulative Layout Shift (CLS) – web.dev
  11. Optimize Cumulative Layout Shift – web.dev
  12. Back/forward cache – web.dev
  13. Time to First Byte (TTFB) – web.dev
  14. The most effective ways to improve Core Web Vitals – web.dev
  15. About PageSpeed Insights – Google for Developers
  16. CrUX API – Chrome for Developers
  17. Core Web Vitals report – Search Console Help

Continuer la lecture