Core Web Vitals : Mesurez et Améliorez pour de Meilleures Performances Web
Votre site web se charge, mais les utilisateurs rebondissent toujours. Les interactions lentes frustrent les visiteurs, et les moteurs de recherche le remarquent. Les Core Web Vitals sont les métriques de Google pour l'expérience utilisateur réelle : Largest Contentful Paint (LCP), Interaction to Next Paint (INP) et Cumulative Layout Shift (CLS). Dans ce guide, nous vous montrerons comment les mesurer avec précision et les améliorer avec des techniques pratiques au niveau du code.
Que sont les Core Web Vitals ?
Les Core Web Vitals sont un ensemble de métriques qui quantifient les aspects clés de l'expérience utilisateur :
- LCP mesure la performance de chargement. Il marque le moment où le plus grand élément de contenu (image, bloc de texte, vidéo) devient visible. Visez ≤ 2,5 secondes.
- INP mesure l'interactivité. Il suit la latence de toutes les interactions (clics, taps, pressions de touches) et rapporte la pire. Visez ≤ 200 millisecondes.
- CLS mesure la stabilité visuelle. Il évalue les décalages de mise en page inattendus pendant le chargement. Visez ≤ 0,1.
Ces métriques font partie du signal Page Experience de Google, mais plus important encore, elles reflètent la frustration réelle des utilisateurs. Les améliorer bénéficie à la fois au SEO et aux taux de conversion.
Comment mesurer les Core Web Vitals
Vous avez besoin de données de laboratoire et de terrain. Les outils de laboratoire simulent des conditions ; les données de terrain proviennent d'utilisateurs réels.
Outils de laboratoire
- Lighthouse (dans Chrome DevTools ou CI) fournit un instantané avec des opportunités d'amélioration.
- PageSpeed Insights combine les données de laboratoire et de terrain du Chrome User Experience Report (CrUX).
- WebPageTest offre un scripting avancé et des vues en filmstrip.
Outils de terrain
- Chrome UX Report (CrUX) montre des données agrégées d'utilisateurs réels pour votre origine.
- La bibliothèque web-vitals vous permet de collecter des métriques auprès d'utilisateurs réels et de les envoyer à votre analytics.
- Search Console rapporte le statut des Core Web Vitals pour votre site.
Commencez par vérifier PageSpeed Insights pour vos pages clés. Ensuite, mettez en place une surveillance des utilisateurs réels avec la bibliothèque web-vitals pour suivre les performances dans le temps.
Améliorer le LCP
Le LCP est souvent la métrique la plus impactante à corriger. Le plus grand élément est généralement une image hero ou un grand bloc de texte.
1. Optimiser le chemin critique
- Réduisez le temps de réponse du serveur (TTFB) avec la mise en cache, les CDN et un code backend efficace.
- Éliminez les ressources bloquant le rendu : intégrez le CSS critique en ligne, différez le CSS et le JavaScript non critiques.
- Préchargez l'image LCP :
<link rel="preload" as="image" href="#">.
2. Optimiser les images
- Utilisez des formats modernes comme WebP ou AVIF.
- Servez des images responsives avec
srcsetetsizes. - Compressez les images sans perte de qualité visible. Pour une compression rapide, essayez notre Image Compressor.
3. Améliorer la réponse du serveur
- Utilisez un CDN pour mettre en cache les ressources statiques globalement.
- Activez la compression Brotli ou gzip.
- Optimisez les requêtes de base de données et utilisez la mise en cache côté serveur.
Exemple : preload et fetchpriority pour l'image LCP :
<link rel="preload" as="image" href="#" fetchpriority="high">
<img src="#" alt="Hero" width="1200" height="600" fetchpriority="high">
Améliorer l'INP
L'INP mesure la rapidité avec laquelle votre page répond aux entrées utilisateur. Un INP élevé signifie des interactions lentes.
1. Fractionner les tâches longues
- Utilisez
setTimeout,requestIdleCallbackouscheduler.yieldpour céder au thread principal. - Évitez les fonctions JavaScript longues ; divisez-les en plus petits morceaux.
2. Optimiser les gestionnaires d'événements
- Débouncez ou throttle les événements fréquents (scroll, resize, input).
- Utilisez des écouteurs d'événements passifs pour les événements touch et wheel.
- Minimisez les mises à jour du DOM dans les gestionnaires.
3. Réduire l'exécution JavaScript
- Code-splitting et lazy-loading du JavaScript non critique.
- Supprimez les dépendances et polyfills inutilisés.
- Utilisez des web workers pour les calculs lourds.
Exemple : céder au thread principal dans une tâche longue :
async function processLargeArray(items) {
for (let i = 0; i < items.length; i++) {
// Process item
if (i % 50 === 0) {
await new Promise(resolve => setTimeout(resolve, 0));
}
}
}
Améliorer le CLS
Le CLS mesure les décalages de mise en page inattendus. Causes courantes : images sans dimensions, publicités, intégrations et contenu injecté dynamiquement.
1. Toujours définir les dimensions
- Incluez les attributs
widthetheightsur les images et vidéos. - Utilisez la propriété CSS
aspect-ratiopour les conteneurs responsives.
2. Réserver de l'espace pour le contenu dynamique
- Utilisez des placeholders ou des écrans squelettes pour les publicités et intégrations.
- Évitez d'insérer du contenu au-dessus du contenu existant, sauf en réponse à une interaction utilisateur.
3. Optimiser le chargement des polices
- Utilisez
font-display: swappour éviter le texte invisible, mais soyez conscient des décalages de mise en page potentiels. - Préchargez les polices clés pour réduire les délais de swap.
Exemple : réserver de l'espace avec aspect-ratio :
.video-container {
aspect-ratio: 16 / 9;
width: 100%;
}
Outils et workflow
Intégrez les vérifications de performance dans votre workflow de développement :
- Exécutez Lighthouse en CI (par exemple, GitHub Actions) pour détecter les régressions.
- Utilisez la bibliothèque web-vitals pour envoyer les données de terrain à votre analytics.
- Surveillez CrUX et Search Console pour les tendances des utilisateurs réels.
- Testez sur des appareils réels, en particulier les téléphones mobiles de milieu de gamme.
Rappelez-vous : la performance est une fonctionnalité. Traitez-la comme toute autre métrique de qualité.
FAQ
Quels sont les seuils actuels des Core Web Vitals ?
LCP : bon ≤ 2,5 s, à améliorer ≤ 4,0 s. INP : bon ≤ 200 ms, à améliorer ≤ 500 ms. CLS : bon ≤ 0,1, à améliorer ≤ 0,25. Ces seuils sont basés sur les données des utilisateurs réels.
À quelle fréquence dois-je mesurer les Core Web Vitals ?
Surveillez les données de terrain en continu via des outils comme CrUX et votre propre RUM. Exécutez des tests de laboratoire à chaque changement de code significatif et au moins mensuellement pour les pages clés.
Puis-je améliorer les Core Web Vitals sans développeur ?
Certaines corrections comme la compression d'images et la mise en cache peuvent être faites via des plugins ou des paramètres CDN. Cependant, les optimisations plus poussées (code splitting, CSS critique) nécessitent généralement l'intervention d'un développeur.
Prêt à optimiser vos images pour un meilleur LCP ? Essayez notre Image Compressor gratuit pour réduire la taille des fichiers sans perdre en qualité.