Depuis mars 2024, Google a remplacé le FID par l’INP (Interaction to Next Paint) dans les Core Web Vitals. En 2026, ces trois métriques — LCP, CLS et INP — restent un signal de classement direct, et un facteur de conversion massif : un site qui passe dans le vert convertit en moyenne 24 % mieux qu’un site dans le rouge.
Cet article réunit les leviers que nous appliquons systématiquement chez Rankea sur les sites WordPress que nous auditons. Ils fonctionnent sans plugin payant, sans CDN exotique, et tiennent dans une matinée d’implémentation pour la majorité des sites.
Comprendre ce que mesure chaque Core Web Vital
Avant d’optimiser, il faut comprendre précisément ce qui est mesuré. Une optimisation qui ignore la définition de la métrique est, dans 80 % des cas, contre-productive.
LCP — Largest Contentful Paint
Temps que met le plus gros élément visible (image hero, bloc de texte principal, vidéo) à s’afficher dans la fenêtre. Cible : moins de 2,5 secondes au 75ᵉ percentile des visiteurs réels.
CLS — Cumulative Layout Shift
Score cumulé des décalages visuels imprévus pendant le chargement (image qui apparaît et pousse le texte, bannière de cookies qui repositionne le contenu, polices web qui changent les métriques). Cible : moins de 0,1.
INP — Interaction to Next Paint
Temps que met l’interface à répondre visuellement à une interaction (clic, tap, frappe). Mesuré sur l’ensemble des interactions de la session, pas seulement la première. Cible : moins de 200 ms.
Optimiser le LCP sur WordPress
Le LCP est la métrique la plus directe à améliorer. Sur un site WordPress non optimisé, il est presque toujours pénalisé par l’image hero, par le rendu serveur, ou par les fonts web. Voici l’ordre des leviers, du plus impactant au plus marginal.
- Précharger l’image LCP avec
<link rel="preload" as="image">et l’attributfetchpriority="high"sur le<img>. Gain typique : 400 à 900 ms. - Servir l’image au format AVIF ou WebP avec une balise
<picture>et plusieurssrcsetadaptés aux densités d’écran. - Auto-héberger les fonts avec
font-display: swapetpreloadsur la fonte du H1. Google Fonts via CDN coûte entre 200 et 400 ms sur le LCP. - Activer un cache de pages (LiteSpeed, WP Rocket, ou un reverse proxy Varnish) pour ramener le TTFB sous 200 ms.
- Désactiver les plugins inutiles au runtime : chaque plugin actif ajoute en moyenne 80 ms au TTFB. Un site qui en a 47 actifs en démarre 47 à chaque hit.
Le levier le plus rentable sur le LCP n’est jamais le code applicatif. C’est la couche de cache et l’image hero. Si l’un des deux est mal configuré, optimiser le reste ne compense pas.
Éliminer les décalages de mise en page (CLS)
Le CLS se règle presque entièrement avec une règle simple : tout élément qui prend de la place doit déclarer sa taille avant le rendu. Voici les sources les plus fréquentes de décalage sur WordPress.
- Images sans
widthetheight: depuis WordPress 5.5, les attributs sont injectés automatiquement, mais beaucoup de thèmes les retirent. Vérifier dans le HTML rendu. - Polices web : utiliser
size-adjust,ascent-overrideetdescent-overridepour aligner les métriques de la fonte chargée sur la fonte de fallback. Outil : Font Style Matcher. - Bannière de cookies : la rendre en
position: fixedsur un overlay, jamais en flux normal qui pousse le contenu. - Embeds tiers (YouTube, Twitter, Maps) : réserver l’espace avec un wrapper en
aspect-ratioet charger le widget enloading="lazy". - Annonces et A/B testing : si vous ne pouvez pas pré-réserver l’espace, exclure la zone via
contain: layout.
Réduire l’INP : le travail JavaScript
L’INP est la métrique la plus difficile à corriger sur WordPress, car elle dépend directement de la quantité de JavaScript exécutée sur le main thread. Les leviers sont moins « presse-bouton » que pour le LCP.
Découper les long tasks
Toute tâche JavaScript de plus de 50 ms bloque l’UI. Sur un thème WordPress moyen, jQuery, Elementor, et les plugins de tracking en accumulent facilement 800 ms au démarrage. Solution : retirer ce qui n’est pas critique en dessous du fold, et déférer le reste avec scheduler.yield() ou setTimeout(fn, 0).
Charger le JS en deferred par défaut
WordPress utilise wp_enqueue_script() avec un troisième argument $in_footer = true qui devrait être systématique. En 2026, le pattern le plus moderne est $args = ['strategy' => 'defer'] (depuis WP 6.3), qui télécharge en parallèle mais exécute après le parsing HTML.
Désactiver l’admin-ajax du heartbeat sur le front
Le « heartbeat » de WordPress envoie une requête admin-ajax toutes les 15 secondes même côté front, sans aucune utilité publique. La déregistrer économise une long task récurrente sur tout le site.
Mesurer en RUM, pas en lab
Lighthouse mesure votre site dans des conditions de laboratoire idéales — connexion 4G simulée, processeur ralenti, page seule. Google classe sur les données réelles d’utilisateurs (RUM) agrégées dans le Chrome User Experience Report (CrUX).
Pour suivre l’INP en particulier, qui ne se mesure correctement qu’avec une interaction utilisateur, déployer un script RUM léger comme web-vitals.js et envoyer les métriques vers une stack analytics (Plausible, Matomo, ou un endpoint custom). 5 KB de JS, et vous gagnez une visibilité réelle sur ce que vivent vos visiteurs.
La routine d’audit qu’on applique chez Rankea
- Mesurer 7 jours de RUM avant tout changement (PSI Insights ou web-vitals.js).
- Identifier la métrique la plus rouge — typiquement le LCP sur WordPress non caché.
- Appliquer les 3 leviers les plus impactants pour cette métrique.
- Re-mesurer après 14 jours pour intégrer la latence d’agrégation CrUX.
- Passer à la métrique suivante.
Cette boucle évite l’erreur classique : implémenter 30 « best practices » d’un coup, ne plus savoir laquelle a marché, et casser quelque chose au passage. Une métrique à la fois, mesurée en réel, sur 14 jours.
Pour aller plus loin
Si votre site stagne malgré ces leviers, le goulot est presque toujours infrastructurel (mutualisé bas de gamme, base de données saturée, cache mal configuré) et non applicatif. À ce stade, un audit serveur prime sur tout réglage WordPress supplémentaire.
Besoin d’un regard externe sur vos Core Web Vitals ? Contactez-nous pour un audit gratuit en 48 heures.