SEOtika
Intermédiaire

Core Web Vitals : Comprendre et Optimiser les Métriques Google

Les Core Web Vitals sont les métriques de performance utilisées par Google. Comprendre et optimiser ces indicateurs est essentiel pour votre SEO.

Thomas Dupont
30 min de lecture

Les Core Web Vitals sont trois métriques qui évaluent l'expérience de chargement, l'interactivité et la stabilité visuelle de vos pages. Depuis leur intégration dans l'algorithme de Google, ils sont devenus incontournables pour le SEO.

Ce que vous allez apprendre

Ce guide premium détaille chaque Core Web Vital : ce qu'il mesure, pourquoi il compte, et comment l'optimiser. Avec 3 études de cas réels et des exercices de diagnostic.

Comprendre les Core Web Vitals

Les Core Web Vitals ont été introduits par Google en 2020 et intégrés comme facteur de ranking en 2021. Ils mesurent trois aspects essentiels de l'expérience utilisateur.

MétriqueMesureQuestion utilisateur
LCPVitesse de chargement"Est-ce que ça charge ?"
INPRéactivité aux interactions"Est-ce que ça répond ?"
CLSStabilité visuelle"Est-ce que ça bouge ?"

Seuils de performance

MétriqueBon 🟢À améliorer 🟡Mauvais 🔴
LCP< 2,5 secondes2,5s - 4s> 4 secondes
INP< 200 ms200ms - 500ms> 500 ms
CLS< 0,10,1 - 0,25> 0,25

Google considère que 75% de vos pages doivent atteindre le seuil "Bon" pour être considérées comme performantes.

LCP : Largest Contentful Paint

Le LCP mesure le temps nécessaire pour afficher le plus grand élément visible dans le viewport. C'est généralement l'image hero, un titre principal, ou un bloc de texte important.

Quels éléments sont mesurés par le LCP

  • Images <img>
  • Images dans <image> (SVG)
  • Affiches de <video>
  • Images de fond chargées via CSS
  • Blocs de texte (titres, paragraphes)

Causes d'un mauvais LCP

CauseImpactSolution
Temps de réponse serveur lentRetarde toutCDN, cache, meilleur hébergement
JavaScript/CSS bloquantRetarde le renduDefer/async, critical CSS
Image LCP non optimiséeChargement lentCompression, format WebP, preload
Chargement client-sideAttente JSSSR/SSG, prerender

Techniques d'optimisation LCP

optimisation-lcp.html
<!-- Preload de l'image LCP pour chargement prioritaire -->
<head>
  <link rel="preload" as="image" href="hero-image.webp" fetchpriority="high">
</head>

<!-- Image LCP avec priorité haute -->
<img 
  src="hero-image.webp" 
  alt="Image principale"
  fetchpriority="high"
  loading="eager"
  decoding="async"
/>
  • Preload l'élément LCP (image, font critique)
  • Utilisez fetchpriority="high" sur l'image LCP
  • Optimisez le TTFB (< 200ms)
  • Éliminez les ressources bloquantes
  • Utilisez le server-side rendering si applicable

INP : Interaction to Next Paint

L'INP mesure la réactivité de la page aux interactions utilisateur (clics, touches, appuis de touches). Il a remplacé le FID (First Input Delay) en mars 2024.

Différence entre INP et FID

AspectFID (ancien)INP (actuel)
Interactions mesuréesPremière seulementToutes les interactions
ReprésentativitéPartielleComplète
Seuil "bon"< 100ms< 200ms
ComplexitéSimple à optimiserPlus exigeant

Causes d'un mauvais INP

  • Long tasks JavaScript (> 50ms)
  • Thread principal bloqué pendant les interactions
  • Event handlers lourds
  • Trop de JavaScript synchrone
  • Third-party scripts lents (analytics, ads, chat)

Techniques d'optimisation INP

optimisation-inp.js
// ❌ Mauvais : Tâche longue bloquante
button.addEventListener('click', () => {
  // Traitement lourd de 500ms
  heavyProcessing();
  updateUI();
});

// ✅ Bon : Tâches divisées avec yield
button.addEventListener('click', async () => {
  // Mise à jour UI immédiate
  showLoadingState();
  
  // Yield pour permettre au navigateur de respirer
  await scheduler.yield();
  
  // Traitement en arrière-plan
  const result = await processInChunks(data);
  updateUI(result);
});
  • Divisez les long tasks en chunks < 50ms
  • Utilisez requestIdleCallback pour les tâches non urgentes
  • Déléguez le travail lourd aux Web Workers
  • Chargez les third-party scripts en async
  • Utilisez le debouncing pour les événements fréquents

CLS : Cumulative Layout Shift

Le CLS mesure la stabilité visuelle de la page. Un score élevé signifie que des éléments bougent de manière inattendue, créant une expérience frustrante.

Comment le CLS est calculé

CLS = Impact Fraction × Distance Fraction. L'impact fraction est la zone affectée par le décalage, la distance fraction est la distance du déplacement, le tout relatif au viewport.

Causes courantes de CLS

CauseExempleImpact typique
Images sans dimensionsL'image charge et pousse le contenuCLS 0.1 - 0.5
Publicités dynamiquesBannière injectée en haut de pageCLS 0.2 - 0.8
Polices web (FOUT/FOIT)Texte change de taille au chargementCLS 0.05 - 0.2
Contenu injecté dynamiquementMessage d'alerte, bannière cookieCLS 0.1 - 0.3
Iframes/embeds sans dimensionsVidéo YouTube qui chargeCLS 0.1 - 0.4

Techniques d'optimisation CLS

optimisation-cls.html
<!-- ✅ Image avec dimensions réservées -->
<img src="photo.jpg" width="800" height="600" alt="Photo">

<!-- ✅ Conteneur avec aspect-ratio pour responsive -->
<style>
  .video-container {
    aspect-ratio: 16 / 9;
    width: 100%;
  }
</style>
<div class="video-container">
  <iframe src="https://youtube.com/..."></iframe>
</div>

<!-- ✅ Espace réservé pour les publicités -->
<style>
  .ad-slot {
    min-height: 250px;
    background: #f0f0f0;
  }
</style>
<div class="ad-slot" id="ad-banner"></div>
  • Toujours spécifier width et height sur les images
  • Utiliser aspect-ratio CSS pour les conteneurs
  • Réserver l'espace pour les publicités
  • Précharger les polices avec font-display: swap
  • Insérer le contenu dynamique en bas de page, pas en haut

Étude de cas n°1 : Site d'actualités - LCP catastrophique

Contexte

Un site d'actualités avec 200k visites/mois. LCP de 5.8 secondes sur mobile, 85% des pages en rouge. Perte de positions Google News.

InfoMatin.fr avait un problème critique de LCP. L'image principale des articles mettait plus de 5 secondes à s'afficher sur mobile.

Diagnostic LCP

  • Image hero de 2.5 Mo en JPEG
  • Pas de preload sur l'image principale
  • Image chargée via JavaScript (client-side)
  • CDN non configuré
  • CSS/JS bloquant le rendu

Plan d'optimisation

ActionGain LCP estimé
Compression image + WebP-1.2s
Preload image LCP-0.8s
Rendu serveur (SSR) de l'image-1.0s
CDN avec cache image-0.5s
Critical CSS inline-0.4s

Résultats

MétriqueAvantAprès
LCP mobile5.8s1.9s
Pages LCP "bon"15%92%
Score PageSpeed mobile2885
  • Retour dans Google News (visibilité restaurée)
  • Trafic organique : +45% en 2 mois
  • Temps moyen sur page : +32%

Étude de cas n°2 : Application SaaS - INP problématique

Contexte

Une application de gestion de projet. INP de 650ms, utilisateurs se plaignant de la lenteur. Taux de conversion en chute.

ProjectFlow.io avait un INP catastrophique. Chaque clic sur un bouton semblait ne rien faire pendant presque une seconde.

Diagnostic INP

  • Chaque clic déclenchait un re-render complet de l'app
  • Calculs lourds sur le thread principal
  • Pas d'optimistic UI (attente de la réponse serveur)
  • Third-party analytics bloquant

Optimisations implémentées

  • 1. React.memo et useMemo pour éviter les re-renders inutiles
  • 2. Calculs déplacés dans Web Workers
  • 3. Optimistic UI : mise à jour immédiate avant réponse serveur
  • 4. Scripts analytics en async
  • 5. Code splitting par fonctionnalité

Résultats

MétriqueAvantAprès
INP650ms145ms
Perception utilisateurLentRéactif
Plaintes support15/semaine2/semaine
  • Taux de conversion trial : +28%
  • Net Promoter Score : +15 points
  • Taux de churn : -12%

Étude de cas n°3 : E-commerce - CLS des publicités

Contexte

Une marketplace avec publicités. CLS de 0.42, utilisateurs cliquant accidentellement sur des pubs. Taux de rebond élevé.

MarketPlace.fr avait un problème de CLS causé par les publicités qui s'injectaient dynamiquement, poussant le contenu vers le bas.

Sources de CLS identifiées

SourceContribution au CLS
Bannière pub header0.18
Publicité mid-article0.12
Images produits sans dimensions0.08
Police web FOUT0.04

Solutions appliquées

  • 1. Espace réservé fixe pour les emplacements publicitaires
  • 2. Dimensions obligatoires sur toutes les images
  • 3. Préchargement des polices avec font-display: optional
  • 4. Publicités chargées avec placeholder skeleton

Résultats

MétriqueAvantAprès
CLS0.420.06
Clics accidentels pubs8%1.2%
Taux de rebond58%42%
  • Revenus publicitaires : -15% (moins de clics accidentels)
  • Mais taux de conversion produits : +22%
  • Revenus globaux : +18%

Leçon importante

Les clics accidentels sur les pubs gonflent artificiellement les revenus pub mais nuisent à l'expérience. Un CLS optimisé peut réduire les revenus pub mais augmenter les conversions réelles.

Outils de mesure des Core Web Vitals

OutilType de donnéesUsage
PageSpeed InsightsLab + FieldDiagnostic complet
Search ConsoleField uniquementMonitoring continu
Chrome DevToolsLabDebug en développement
Web Vitals ExtensionReal-timeTest rapide
CrUX DashboardField historiqueAnalyse tendances

Exercices pratiques

Exercice 1 : Diagnostic Core Web Vitals

Testez 3 pages de votre site avec PageSpeed Insights et complétez :

PageLCPINPCLSPriorité
Accueil............
Produit/Article............
Catégorie............

Exercice 2 : Identifier l'élément LCP

Pour votre page d'accueil, identifiez l'élément LCP :

  • 1. Ouvrez PageSpeed Insights > Diagnostics
  • 2. Cherchez "Largest Contentful Paint element"
  • 3. Notez quel élément est identifié
  • 4. Vérifiez s'il a un preload
  • 5. Vérifiez son poids et format

Exercice 3 : Détecter les sources de CLS

Utilisez l'extension Web Vitals pour Chrome :

  • 1. Installez l'extension "Web Vitals"
  • 2. Activez le "Console logging"
  • 3. Chargez votre page et scrollez
  • 4. Ouvrez la Console DevTools
  • 5. Identifiez les éléments qui causent le CLS

Exercice 4 : Simuler l'INP

Testez la réactivité de vos interactions :

  • 1. DevTools > Performance > CPU throttling 4x
  • 2. Cliquez sur différents boutons/liens
  • 3. Observez le temps avant feedback visuel
  • 4. Identifiez les interactions les plus lentes
  • 5. Analysez les long tasks dans Performance

Quiz : Core Web Vitals

Quiz : Core Web Vitals

Question 1 / 10

Que mesure le LCP ?

Ressources complémentaires

Pour approfondir les Core Web Vitals, consultez ces articles :

  • Vitesse de Site : Optimiser le temps de chargement - Techniques complètes de performance
  • Guide complet SEO Technique - Vue d'ensemble du SEO technique
  • Optimisation des images pour le SEO - Impact sur le LCP

Continuez votre apprentissage

Découvrez maintenant comment fonctionne l'indexation Google pour que vos pages optimisées soient visibles.

Indexation Google

Questions fréquentes

T

Thomas Dupont

Expert SEO & Fondateur

Thomas travaille dans le SEO depuis 2012. Il a accompagné plus de 200 entreprises dans leur stratégie de référencement naturel et formé des milliers de professionnels du marketing digital. Spécialisé dans le SEO technique et les nouvelles approches GEO.

SEO Technique
GEO
Stratégie de contenu
Audit SEO

Articles connexes

La vitesse de chargement impacte le SEO et l'expérience utilisateur. Découvrez comment optimiser les performances de votre site.

Lire l'article

L'indexation est le processus par lequel Google ajoute vos pages à son index. Sans indexation, pas de visibilité dans les résultats de recherche.

Lire l'article

Le SEO technique assure que Google peut explorer et indexer votre site efficacement. Sans bases techniques solides, vos efforts SEO seront limités.

Lire l'article

Continuez votre apprentissage

Accédez à toutes les formations SEO et GEO.

Voir la formation