< Core Web Vitals | WordPress />

Optimiser les Core Web Vitals sur WordPress

Eroan Boyer

11 mai 2021

15 minutes

Core Web Vitals, Page Experience : de quoi parle-t-on ?

Avec sa mise à jour algorithmique « Page Experience » de juin 2021, Google a placé les Core Web Vitals (signaux Web essentiels en français) au coeur de son évaluation de l’expérience utilisateur, comme l’expliquent ses recommandations officielles. L’objectif : proposer aux internautes des résultats non seulement pertinents, mais aussi rapides, réactifs et agréables à consulter, sur mobile comme sur ordinateur. Cinq ans plus tard, le principe n’a pas changé, mais les métriques, les outils et les leviers d’optimisation ont beaucoup évolué. Cet article fait le point, en 2026, sur tout ce qu’il faut savoir pour qu’un site WordPress ou WooCommerce réponde à ces exigences techniques.

Un rappel utile avant d’entrer dans le détail : les Core Web Vitals ne sont pas un simple score cosmétique. Ils sont construits à partir des visites réelles de vos utilisateurs et interviennent dans le classement des résultats de recherche, en complément de la pertinence du contenu. Nous avons d’ailleurs consacré un article complet à l’impact SEO de la webperf. Au-delà du référencement, ces métriques mesurent surtout ce que vivent concrètement vos visiteurs : un site qui s’affiche vite, qui répond au doigt et à l’oeil et qui ne saute pas dans tous les sens convertit mieux, tout simplement.

Les trois métriques qui composent les Core Web Vitals

Les Core Web Vitals reposent aujourd’hui sur trois indicateurs complémentaires, définis et documentés par l’équipe Chrome sur web.dev : le LCP pour la vitesse de chargement, l’INP pour la réactivité et le CLS pour la stabilité visuelle. Chacun dispose de seuils précis qui classent l’expérience en trois catégories : bonne, à améliorer ou médiocre.

Echelles de seuils des trois Core Web Vitals : LCP bon sous 2,5 secondes, INP bon sous 200 millisecondes, CLS bon sous 0,1, avec zones intermédiaires et zones médiocres
Les seuils officiels des trois Core Web Vitals, évalués au 75e percentile des visites réelles

LCP : la vitesse de chargement perçue

Le Largest Contentful Paint mesure le délai nécessaire pour afficher le plus grand élément visible de la page : le plus souvent une image de bannière, une photo de produit ou un gros titre. C’est l’indicateur qui se rapproche le plus de la sensation de « page chargée » ressentie par le visiteur. Pour être considéré comme bon, le LCP doit survenir en moins de 2,5 secondes après le début de la navigation. Au-delà de 4 secondes, il est jugé médiocre. Sur un site WordPress classique, l’élément LCP est presque toujours l’image à la une de l’article ou le visuel principal de la page d’accueil. Nous détaillons les techniques spécifiques à cette métrique dans notre article dédié : qu’est-ce que le LCP et comment l’optimiser ?

INP : la réactivité aux interactions

L’Interaction to Next Paint a officiellement remplacé le FID en mars 2024 au sein des Core Web Vitals. Là où le FID ne mesurait que le délai de la toute première interaction, l’INP observe l’ensemble des clics, appuis et saisies clavier effectués pendant toute la durée de vie de la page, et retient l’une des pires valeurs constatées. Il capture le temps qui s’écoule entre l’interaction de l’utilisateur et la prochaine mise à jour visible de l’écran. Pour être bon, l’INP doit rester sous les 200 millisecondes. C’est la métrique la plus exigeante pour les sites chargés en JavaScript, et celle qui a le plus fait chuter de sites dans le rouge lors de son introduction. Notre article qu’est-ce que l’INP et comment l’améliorer ? lui est entièrement consacré.

CLS : la stabilité de l’affichage

Le Cumulative Layout Shift quantifie les décalages de mise en page inattendus : ce bouton qui se dérobe sous le doigt au moment de cliquer, ce paragraphe qui descend brusquement parce qu’une publicité vient de s’insérer au-dessus. Le score cumule l’amplitude et la fréquence de ces décalages : il doit rester inférieur à 0,1 pour être considéré comme bon. Contrairement au LCP et à l’INP, le CLS ne se mesure pas en secondes : c’est un score sans unité, calculé à partir de la surface déplacée et de la distance de déplacement.

Le 75e percentile, la règle du jeu

Un point essentiel, souvent mal compris : Google n’évalue pas votre site sur une visite moyenne, mais au 75e percentile de l’ensemble des visites. Concrètement, il faut que 75 % de vos pages vues atteignent le seuil « bon » pour que la métrique soit validée. Cette règle protège l’expérience des visiteurs les moins bien lotis : ceux qui naviguent sur un mobile d’entrée de gamme, en 4G hésitante, loin de votre serveur. Optimiser pour le 75e percentile, c’est optimiser pour la réalité de votre audience, pas pour la fibre du bureau.

Données de laboratoire ou données de terrain : que regarde Google ?

Avant de parler optimisation, il faut comprendre d’où viennent les chiffres. Deux familles d’outils cohabitent et il est fréquent qu’elles racontent des histoires différentes, comme l’explique la documentation de web.dev.

Comparaison entre données de laboratoire (Lighthouse, conditions simulées, idéales pour diagnostiquer) et données de terrain (CrUX, vrais utilisateurs de Chrome, 75e percentile sur 28 jours, référence de Google)
Le laboratoire sert à diagnostiquer, le terrain sert à évaluer : les deux sont complémentaires

CrUX, la source de vérité

Les données de terrain proviennent du Chrome UX Report (CrUX) : Chrome collecte, auprès des utilisateurs ayant donné leur accord, les métriques réellement mesurées lors de leurs visites. Ces données sont agrégées sur 28 jours glissants et alimentent le rapport « Signaux Web essentiels » de la Google Search Console, dont le fonctionnement est détaillé dans la documentation officielle. C’est par ce biais que sont envoyées les fameuses alertes email de type « une page mérite votre attention ». Retenez ceci : c’est cette donnée de terrain, et elle seule, qui compte pour l’évaluation Page Experience de votre site.

Lighthouse et PageSpeed Insights, les outils de diagnostic

Les données de laboratoire sont produites à la demande par des outils comme Lighthouse ou l’onglet Performance des DevTools de Chrome, dans des conditions simulées et reproductibles. Elles sont précieuses pour diagnostiquer et vérifier une correction, mais elles ne font pas foi : un score Lighthouse de 100 ne garantit pas des Core Web Vitals au vert sur le terrain, notamment parce que l’INP ne peut pas être mesuré sans interaction réelle. PageSpeed Insights a l’avantage de présenter les deux familles de données sur un même écran : les données CrUX en haut, l’audit Lighthouse en bas. Nous avons décortiqué les différences entre ces outils dans notre comparatif PageSpeed Insights vs. Lighthouse.

Ce que WordPress fait déjà nativement pour vos Core Web Vitals

Bonne nouvelle : WordPress n’est pas resté immobile. Depuis 2020, une équipe dédiée à la performance (la Core Performance Team) fait progresser le CMS version après version, et les résultats sont mesurables à l’échelle du web. Le Web Almanac 2024 de HTTP Archive montre que la part des sites WordPress validant les trois Core Web Vitals sur mobile est passée de 28 % en 2023 à 40 % en 2024, portée notamment par les progrès spectaculaires de l’INP. Maintenir son site WordPress à jour, c’est donc déjà, en soi, une action de webperf.

Frise chronologique des optimisations natives de WordPress : lazy loading des images en 5.5, affinage en 5.9, fetchpriority sur l'image LCP en 6.3, format AVIF en 6.5, speculative loading en 6.8
Les grandes étapes de la performance native de WordPress, de la 5.5 à la 6.8

Le lazy loading natif des images

Depuis WordPress 5.5, l’attribut loading= »lazy » est ajouté automatiquement aux images, qui ne sont alors téléchargées qu’au moment où elles approchent de la zone visible. La version 5.9 a affiné le mécanisme pour exclure les premières images de la page : les lazy-loader retardait paradoxalement le LCP. C’est un piège que nous rencontrons encore très souvent en audit : une image LCP chargée en différé par un plugin trop zélé peut coûter plusieurs centaines de millisecondes.

La priorisation automatique de l’image LCP

Depuis WordPress 6.3, le CMS ajoute automatiquement fetchpriority= »high » à l’image qu’il estime être l’élément LCP, ce qui indique au navigateur de la télécharger en priorité, avant même d’avoir calculé la mise en page. D’après l’équipe Core, ce seul attribut améliore typiquement le LCP de 5 à 10 %. La version 6.4 a ensuite encore perfectionné ces heuristiques. Le mécanisme reste toutefois une estimation : sur des gabarits complexes, un audit permet de vérifier que la bonne image est réellement priorisée.

Les formats d’image modernes : WebP et AVIF

WordPress accepte le format WebP depuis la version 5.8 et, depuis la version 6.5, le format AVIF, qui produit des fichiers jusqu’à 50 % plus légers qu’un JPEG à qualité visuelle équivalente. Les images AVIF bénéficient de tout l’outillage natif : déclinaisons responsive via srcset, lazy loading et fetchpriority. Seule condition : que la bibliothèque d’images de votre hébergement (Imagick ou GD) prenne en charge le format, un point que nous vérifions systématiquement sur les hébergements WordPress que nous opérons.

Le speculative loading : la navigation quasi instantanée

C’est la nouveauté la plus enthousiasmante de ces dernières années : depuis WordPress 6.8, le CMS exploite nativement la Speculation Rules API pour précharger les pages que le visiteur s’apprête à ouvrir. Par défaut, WordPress applique un préchargement (prefetch) prudent : lorsque l’internaute commence à interagir avec un lien, le HTML de la page cible est téléchargé en arrière-plan. Résultat : au clic, la navigation paraît quasi instantanée. Le comportement peut être renforcé via un simple filtre, pour passer en prerender (la page est entièrement construite à l’avance, feuilles de style et scripts compris) :

// Passer du prefetch conservateur au prerender modéré (WordPress 6.8+)
add_filter( 'wp_speculation_rules_configuration', function ( $config ) {
    if ( is_array( $config ) ) {
        $config['mode']      = 'prerender';
        $config['eagerness'] = 'moderate';
    }
    return $config;
} );

La prudence reste de mise sur les sites e-commerce : un prerender trop agressif peut fausser certaines statistiques ou précharger des pages à état (panier, compte client). WordPress exclut d’office les URL sensibles, mais un paramétrage sur mesure reste recommandé. Notons que cette API est prise en charge par Chrome et Edge, les navigateurs non compatibles ignorant simplement les règles, sans aucun effet de bord : c’est une amélioration progressive par nature.

Comment améliorer le LCP sur WordPress ?

Le guide de référence Optimize LCP décompose la métrique en quatre phases : le temps de réponse du serveur (TTFB), le délai de découverte de la ressource, son temps de téléchargement et son rendu. Sur WordPress, trois chantiers concentrent l’essentiel des gains.

Soigner l’image principale

L’image LCP doit être servie dans un format moderne, à la bonne dimension et découverte le plus tôt possible par le navigateur. Quand elle est chargée en arrière-plan CSS ou injectée en JavaScript (deux anti-patterns fréquents avec les page builders), le navigateur ne la découvre qu’après avoir traité les feuilles de style : un préchargement explicite corrige le tir. Voici ce que produit une intégration soignée :

<!-- Dans le head : découverte immédiate de l'image LCP -->
<link rel="preload" as="image"
      href="/wp-content/uploads/hero-1200.avif"
      imagesrcset="/wp-content/uploads/hero-800.avif 800w,
                   /wp-content/uploads/hero-1200.avif 1200w"
      imagesizes="100vw" fetchpriority="high">

<!-- Dans le contenu : dimensions explicites, pas de lazy loading -->
<img src="/wp-content/uploads/hero-1200.avif"
     srcset="/wp-content/uploads/hero-800.avif 800w,
             /wp-content/uploads/hero-1200.avif 1200w"
     sizes="100vw" width="1200" height="600"
     fetchpriority="high" alt="Description du visuel">

Les attributs width et height sont indispensables : ils permettent au navigateur de réserver l’espace de l’image avant son téléchargement, ce qui profite aussi au CLS. WordPress les renseigne automatiquement pour les images de la médiathèque, mais les visuels intégrés à la main dans les thèmes y échappent souvent.

Réduire le TTFB : hébergement, PHP et cache serveur

Le LCP ne peut pas être bon si le serveur met une seconde à répondre. La documentation Time to First Byte recommande un TTFB inférieur ou égal à 800 millisecondes au 75e percentile, et nous visons bien moins sur les sites que nous opérons. Sur WordPress, cela passe par un hébergement dimensionné, une version récente de PHP avec OPcache, une base de données saine et surtout un cache de page : servir un HTML déjà généré plutôt que de reconstruire la page à chaque visite change radicalement la donne. C’est exactement le socle de notre offre d’hébergement WordPress performant.

Votre site est-il aussi rapide que vos visiteurs l’espèrent ?

Découvrez comment nous pouvons vous accompagner

Rapprocher le contenu des visiteurs

Pour une audience internationale, un CDN rapproche physiquement les ressources statiques (et éventuellement le HTML) des visiteurs, ce qui réduit la latence réseau incompressible. Le sujet mérite toutefois une analyse au cas par cas : pour une audience essentiellement française servie par un bon hébergeur local, le gain peut être marginal. Nous avons pesé le pour et le contre dans notre article CDN et webperf : quels avantages, quels inconvénients ?

Comment améliorer l’INP sur WordPress ?

L’INP se dégrade quand le thread principal du navigateur est occupé à exécuter du JavaScript au moment où l’utilisateur interagit. Le guide Optimize INP est clair : les principaux coupables sont les longues tâches JavaScript, qui bloquent le rendu et retardent la réponse visuelle. Sur WordPress, le diagnostic revient presque toujours aux mêmes causes.

Traquer les scripts tiers

Tag managers, pixels publicitaires, chats, A/B testing, vidéos embarquées : les scripts tiers sont la première cause de dégradation de l’INP que nous constatons en audit. Chacun semble anodin, mais leur accumulation sature le thread principal. Notre article sur la réduction de l’impact des JavaScript tiers détaille la méthode : inventorier, supprimer l’inutile, retarder le non-critique et confiner ce qui peut l’être. Les bannières de consentement méritent une mention spéciale, car elles s’exécutent au pire moment, dès l’arrivée sur le site : nous avons comparé 11 CMP sous l’angle de la performance, et les écarts sont considérables. Même votre outil de mesure d’audience a un coût, que nous avons chiffré dans notre article sur l’impact de Google Analytics.

Charger le JavaScript au bon moment

Depuis WordPress 6.3, les développeurs peuvent déclarer nativement la stratégie de chargement de leurs scripts, comme le documente l’équipe Core. Un script différé n’est exécuté qu’une fois le document analysé, sans jamais bloquer l’affichage :

// Déclarer un script en defer, à la mode WordPress 6.3+
add_action( 'wp_enqueue_scripts', function () {
    wp_enqueue_script(
        'mon-app',
        get_theme_file_uri( 'assets/app.js' ),
        array(),
        '1.2.0',
        array(
            'strategy'  => 'defer',
            'in_footer' => true,
        )
    );
} );

Découper les longues tâches

Pour le code applicatif qui doit vraiment s’exécuter, la règle d’or est de rendre la main au navigateur régulièrement afin qu’il puisse traiter les interactions en attente. Le guide Optimize long tasks recommande de découper tout traitement dépassant 50 millisecondes, notamment grâce à l’API scheduler.yield() :

// Rendre la main au navigateur entre chaque lot de travail
async function traiterElements(elements) {
  for (const element of elements) {
    afficher(element);
    if ('scheduler' in window && 'yield' in scheduler) {
      await scheduler.yield();
    }
  }
}

Comment améliorer le CLS sur WordPress ?

Le CLS est probablement la métrique la plus satisfaisante à corriger : les causes sont identifiables une à une et les corrections sont durables. Le guide Optimize CLS les regroupe en trois familles : les médias sans dimensions, les contenus injectés tardivement et les polices d’écriture.

Réserver l’espace des médias et des injections

Toute image, iframe ou vidéo doit disposer de dimensions explicites (attributs width et height, ou propriété CSS aspect-ratio) pour que son espace soit réservé avant le chargement. Le même principe vaut pour les contenus dynamiques : une bannière de consentement doit se superposer à la page ou disposer d’un emplacement réservé, jamais pousser le contenu vers le bas. Les carrousels sont un cas d’école : entre décalages, poids JavaScript et images non priorisées, ils cumulent les défauts, comme nous le racontons dans notre article Dites adieu aux sliders.

Dompter les polices d’écriture

Quand une police web arrive après le premier rendu, le texte est réaffiché avec de nouvelles métriques et toute la page peut se décaler. Les bonnes pratiques documentées par web.dev consistent à héberger les polices localement, une recommandation également défendue de longue date par Harry Roberts (source secondaire), à précharger le fichier WOFF2 critique et à afficher le texte sans attendre grâce à font-display. L’étape experte consiste à ajuster la police de repli avec size-adjust pour que la permutation soit visuellement neutre :

@font-face {
  font-family: "Manrope";
  src: url("/fonts/manrope.woff2") format("woff2");
  font-display: swap;
}

/* Police de repli calibrée : la permutation ne décale plus rien */
@font-face {
  font-family: "Manrope Fallback";
  src: local("Arial");
  size-adjust: 106%;
  ascent-override: 103%;
  descent-override: 29%;
}

body {
  font-family: "Manrope", "Manrope Fallback", sans-serif;
}

Le sujet est plus vaste qu’il n’y paraît (polices variables, sous-ensembles de caractères, icon fonts) : nous lui avons dédié un article complet sur l’impact des polices d’écriture sur la performance.

Thème, extensions, cache : les fondations d’un WordPress rapide

Les optimisations fines n’ont de sens que sur des fondations saines. Trois choix structurants déterminent le potentiel de performance d’un site WordPress.

Un thème léger et bien construit

Le thème conditionne tout le reste : poids du CSS, quantité de JavaScript, qualité du HTML généré. Des thèmes comme GeneratePress, Astra ou Blocksy sont conçus pour la sobriété, quand d’autres embarquent des mégaoctets de ressources pour des fonctionnalités inutilisées. Nous avons détaillé les critères objectifs de sélection dans notre guide comment (bien) choisir son thème WordPress ? Sur un site existant, changer de thème n’est pas toujours envisageable : nous optimisons alors le thème en place, via un thème enfant, pour en corriger les défauts sans toucher au design.

Le moins d’extensions possible, et les bonnes

Chaque extension active en front peut ajouter ses feuilles de style, ses scripts et ses requêtes en base de données. Les page builders historiques (Elementor, Divi, Beaver Builder) sont les plus coûteux : l’éditeur natif Gutenberg produit un HTML bien plus sobre, et permet aujourd’hui de construire des sites complets, y compris marchands, comme nous le démontrons dans notre article sur la création d’un site WooCommerce performant avec Gutenberg. Un réflexe d’expert : après chaque désactivation d’extension, vérifier ce qui a réellement disparu du code source. Il est aussi possible de retirer chirurgicalement les ressources qu’une extension charge là où elle ne sert à rien :

// Ne charger les ressources WooCommerce que sur les pages marchandes
add_action( 'wp_enqueue_scripts', function () {
    if ( class_exists( 'WooCommerce' ) &&
         ! is_woocommerce() && ! is_cart() && ! is_checkout() ) {
        wp_dequeue_style( 'woocommerce-general' );
        wp_dequeue_style( 'wc-blocks-style' );
        wp_dequeue_script( 'wc-cart-fragments' );
    }
}, 20 );

Une stratégie de cache complète

Une extension de cache de page (WP Rocket, par exemple) transforme chaque page en HTML statique servi en quelques millisecondes, tout en gérant le report des scripts et l’optimisation des ressources. Sur les sites à fort trafic ou à forte logique métier, un cache objet persistant (Redis ou Memcached) soulage en plus la base de données. Enfin, la politique de cache navigateur (en-têtes Cache-Control) évite de retélécharger des ressources inchangées aux visites suivantes. Signalons aussi le plugin officiel Performance Lab, vitrine de la Core Performance Team, qui permet d’activer des optimisations futures de WordPress avant leur arrivée dans le coeur du CMS.

Comment mesurer et suivre ses Core Web Vitals ?

La méthode que nous appliquons en mission tient en trois temps. D’abord un état des lieux sur données de terrain : Search Console et CrUX disent où le site en est réellement, page par page, métrique par métrique. Ensuite le diagnostic en laboratoire : Lighthouse, l’onglet Performance des DevTools et l’extension Web Vitals de Chrome permettent de reproduire les problèmes et d’en identifier la cause exacte. Enfin, la vérification dans la durée : les données CrUX étant agrégées sur 28 jours glissants, une correction met plusieurs semaines à se refléter dans la Search Console, d’où l’intérêt d’un monitoring continu de la web performance qui alerte à la moindre régression, bien avant que Google ne la constate.

Un mot d’ordre pour finir cette partie : mesurer avant d’optimiser. Les recettes miracles appliquées à l’aveugle (minification agressive, préchargements en pagaille, extensions d’optimisation empilées) font parfois plus de mal que de bien. Chaque site a son profil de performance propre, et c’est l’audit qui hiérarchise les actions par rapport coût sur bénéfice. Pour aller plus loin, notre bible des 117 conseils de pro recense l’ensemble des leviers connus.

Besoin d’un soutien technique dans la démarche ?

L’optimisation d’un site WordPress reste une intervention technique qui nécessite une connaissance approfondie des langages du Web (HTML, CSS, JavaScript, PHP) et du fonctionnement interne du CMS. Avec plus de 20 années d’expérience sur WordPress et WooCommerce, nos développeurs interviennent sur n’importe quel site existant pour en maximiser le niveau de performance : audit complet pour établir le diagnostic et prioriser, puis optimisation WordPress pour mettre en oeuvre les corrections. Le site sur lequel vous vous trouvez actuellement a été optimisé par nos soins : des Core Web Vitals au vert et un score PageSpeed Insights mobile de 100 sont tout à fait atteignables avec WordPress. Faites-nous confiance pour accompagner votre site vers tout son potentiel de performance !

Poursuivez votre lecture