Core Web Vitals : Mesurer et Améliorer les Performances Web
Vous avez construit un site web rapide, mais les utilisateurs se plaignent encore de lenteur. Ou peut-être que vos classements SEO ont chuté après une mise à jour de Google. Les Core Web Vitals (CWV) sont probablement le coupable. Ces métriques mesurent l'expérience utilisateur réelle et impactent directement les classements dans les moteurs de recherche et les taux de conversion. Dans ce guide, vous allez découvrir ce que sont les CWV, comment les mesurer avec précision et les étapes pratiques pour améliorer chacun d'eux.
Que sont les Core Web Vitals ?
Les Core Web Vitals sont un ensemble de trois métriques que Google utilise pour quantifier l'expérience utilisateur :
- Largest Contentful Paint (LCP) : Mesure les performances de chargement. Il marque le moment où le plus grand élément de contenu (image, bloc de texte ou vidéo) devient visible. Un bon LCP est de 2,5 secondes ou moins.
- Interaction to Next Paint (INP) : Mesure la réactivité. Il enregistre la latence de toutes les interactions (clics, taps, pressions de touches) et rapporte la pire (ou presque la pire pour les pages avec de nombreuses interactions). Un bon INP est de 200 millisecondes ou moins.
- Content Layout Shift (CLS) : Mesure la stabilité visuelle. Il quantifie les décalages de mise en page inattendus pendant le chargement de la page. Un bon CLS est de 0,1 ou moins.
Ces seuils sont basés sur le 75e percentile des chargements de page, segmentés par mobile et desktop. Vous devez donc vous assurer que 75 % de vos utilisateurs vivent des valeurs bonnes.
Comment mesurer les Core Web Vitals
Vous pouvez mesurer les CWV de deux façons : en laboratoire (tests synthétiques) et sur le terrain (suivi des utilisateurs réels). Les deux sont précieux, mais les données de terrain sont ce que Google utilise pour le classement.
Données de terrain : Real User Monitoring (RUM)
Les données de terrain proviennent d'utilisateurs réels. La meilleure source est le Chrome User Experience Report (CrUX), qui alimente le rapport Core Web Vitals dans Google Search Console. Vous pouvez également utiliser la bibliothèque web-vitals pour collecter vos propres données RUM et les envoyer à un point de terminaison d'analyse.
Pour afficher les données CrUX de votre site, utilisez PageSpeed Insights ou l'API CrUX. Ceux-ci montrent la distribution du LCP, de l'INP et du CLS pour votre origine.
Données de laboratoire : Tests synthétiques
Les outils de laboratoire simulent un chargement de page dans un environnement contrôlé. Ils sont excellents pour le débogage et l'intégration CI/CD. Options populaires :
- Lighthouse : Intégré à Chrome DevTools. Exécutez-le dans l'onglet Audits ou via CLI.
- WebPageTest : Tests avancés avec pellicules et diagrammes en cascade.
- PageSpeed Insights : Combine données de laboratoire et de terrain.
N'oubliez pas : les données de laboratoire n'incluent pas la variabilité du monde réel, utilisez-les donc pour le diagnostic, pas comme prédicteur de classement.
Améliorer le Largest Contentful Paint (LCP)
Le LCP est généralement la métrique la plus impactante à corriger. Le plus grand élément est souvent une image hero, un titre ou une affiche vidéo. Pour améliorer le LCP :
- Optimisez les images : Compressez les images, utilisez des formats modernes comme WebP ou AVIF, et servez des tailles responsives avec
srcset. Des outils comme le Compresseur d'Images peuvent aider à réduire la taille du fichier sans perte de qualité. - Préchargez la ressource LCP : Ajoutez
<link rel="preload">pour l'image hero ou la police afin de commencer le chargement plus tôt. - Éliminez les ressources bloquant le rendu : Intégrez le CSS critique, différez le CSS non critique et chargez le JavaScript de manière asynchrone.
- Utilisez un CDN : Servez les ressources depuis un réseau de diffusion de contenu pour réduire la latence.
- Mettez en cache agressivement : Définissez de longues durées de cache pour les ressources statiques avec des en-têtes
Cache-Control.
Exemple de préchargement d'une image LCP :
<link rel="preload" as="image" href="/hero.webp" imagesrcset="/hero-480.webp 480w, /hero-800.webp 800w" imagesizes="(max-width: 600px) 480px, 800px">
Améliorer l'Interaction to Next Paint (INP)
L'INP mesure la rapidité avec laquelle la page répond aux entrées utilisateur. Un INP élevé provient souvent de longues tâches JavaScript bloquant le thread principal. Pour améliorer l'INP :
- Divisez les longues tâches : Utilisez
setTimeout,requestIdleCallbackou l'APISchedulerpour céder la main au thread principal. - Optimisez les gestionnaires d'événements : Appliquez un debounce ou throttle aux gestionnaires coûteux et évitez le layout thrashing.
- Réduisez la taille du JavaScript : Faites du code-splitting, du tree-shaking et différez les scripts non critiques.
- Utilisez des web workers : Déchargez les calculs lourds vers un thread worker.
- Minimisez les scripts tiers : Les scripts tiers causent souvent de longues tâches. Chargez-les de manière asynchrone et auditez leur impact.
Vous pouvez mesurer l'INP sur le terrain avec la bibliothèque web-vitals :
import {onINP} from 'web-vitals';
onINP((metric) => {
console.log('INP:', metric.value);
// Envoyer à votre point de terminaison d'analyse
});
Améliorer le Content Layout Shift (CLS)
Le CLS se produit lorsque des éléments se déplacent de manière inattendue pendant le chargement. Causes courantes : images sans dimensions, publicités, intégrations et polices web causant FOIT/FOUT. Pour améliorer le CLS :
- Définissez toujours les attributs width et height sur les images et vidéos. Cela réserve l'espace.
- Réservez de l'espace pour le contenu dynamique (publicités, intégrations) avec
min-heightCSS ou des boîtes aspect-ratio. - Utilisez
font-display: swapet préchargez les polices pour éviter le texte invisible et les décalages de mise en page. - Évitez d'insérer du contenu au-dessus du contenu existant sauf en réponse à une interaction utilisateur.
Exemple de réservation d'espace avec CSS aspect-ratio :
.video-container {
aspect-ratio: 16 / 9;
width: 100%;
}
.video-container iframe {
width: 100%;
height: 100%;
}
Outils et flux de travail pour une surveillance continue
Améliorer les CWV n'est pas une tâche ponctuelle. Mettez en place une surveillance continue :
- Lighthouse CI : Exécutez Lighthouse dans votre pipeline CI/CD et faites échouer les builds si les scores baissent.
- Real user monitoring : Utilisez la bibliothèque web-vitals pour envoyer les métriques à votre plateforme d'analyse (par exemple, Google Analytics 4, point de terminaison personnalisé).
- Search Console : Surveillez le rapport Core Web Vitals pour détecter les régressions.
- Alertes : Configurez des alertes lorsque les données de terrain franchissent les seuils.
Pour une vérification rapide, utilisez l'outil HTML to Image pour capturer des instantanés visuels de votre page à différentes étapes, vous aidant à repérer manuellement les décalages de mise en page.
FAQ
Quels sont les seuils actuels des Core Web Vitals ?
Bon : LCP ≤ 2,5s, INP ≤ 200ms, CLS ≤ 0,1. À améliorer : LCP ≤ 4s, INP ≤ 500ms, CLS ≤ 0,25. Mauvais : au-dessus de ces valeurs.
À quelle fréquence les données CrUX sont-elles mises à jour ?
Les données CrUX sont mises à jour quotidiennement, mais la fenêtre glissante de 28 jours signifie que les changements prennent du temps à se refléter. Pour un retour plus rapide, utilisez votre propre RUM.
Puis-je améliorer les Core Web Vitals sans changer mon design ?
Oui. De nombreuses améliorations sont techniques : compression d'images, préchargement, report des scripts et réservation d'espace. Celles-ci n'ont souvent aucun impact visuel.
Prêt à optimiser vos images pour un meilleur LCP ? Essayez notre Compresseur d'Images gratuit pour réduire la taille des fichiers tout en maintenant la qualité.