SEORank, agence SEOpar Novatis Agency

INP (Interaction to Next Paint) : mesurer et corriger la réactivité

Définition exacte, seuils, outils de mesure et méthode de diagnostic pas à pas pour faire passer l’INP de vos pages sous les 200 millisecondes.

Technique · Mis à jour le 29 septembre 2026 · 14 min de lecture · Par Équipe SEORank, consultants SEO de Novatis Agency

Illustration éditoriale SEORank : « INP : mesurer et corriger la réactivité »
En bref :
  • L’INP mesure la réactivité d’une page : le temps entre un clic, un appui ou une touche et l’affichage qui suit. Il a remplacé le FID dans les Core Web Vitals le 12 mars 2024.
  • Seuils Google : ≤ 200 ms bon, 200 à 500 ms à améliorer, > 500 ms mauvais, évalués au 75e centile des visites réelles.
  • Chaque interaction se découpe en trois phases : délai d’entrée, traitement, délai de présentation. Corriger l’INP, c’est trouver laquelle déborde.
  • La méthode : données de terrain pour trouver les pages et interactions lentes, puis reproduction en laboratoire avec le panneau Performances de Chrome.
  • Les remèdes les plus rentables : alléger les scripts tiers, découper les tâches longues (céder la main au navigateur), réduire la taille du DOM.

L’INP (Interaction to Next Paint) est la métrique des Core Web Vitals qui mesure la réactivité d’une page : combien de temps s’écoule entre le moment où l’utilisateur clique, touche l’écran ou appuie sur une touche, et le moment où le navigateur affiche la conséquence visuelle de ce geste. Google considère qu’un INP est bon jusqu’à 200 millisecondes et mauvais au-delà de 500 millisecondes, mesuré sur les visites réelles. Un INP élevé, c’est le bouton « Ajouter au panier » qui semble ne rien faire, le menu mobile qui s’ouvre avec une demi-seconde de retard, le filtre qui fige la page.

Cet article est le guide pratique de la métrique : définition exacte, méthode de diagnostic, exemples de code et corrections par CMS. Pour la vue d’ensemble des trois indicateurs (LCP, INP, CLS) et notre accompagnement, voyez notre page Core Web Vitals.

INP : définition exacte et seuils officiels

La documentation de référence sur web.dev définit l’INP ainsi : pendant toute la visite, le navigateur observe la latence de chaque interaction ; à la fin, la valeur retenue est la plus longue, en ignorant les valeurs aberrantes (une interaction écartée par tranche de 50 sur les pages très interactives). Seules trois familles d’interactions comptent :

  • le clic de souris ;
  • l’appui sur un écran tactile ;
  • l’appui sur une touche du clavier (physique ou virtuel).

Le survol, le défilement et le zoom ne sont pas pris en compte. Une page que l’on se contente de lire sans jamais cliquer n’a donc pas d’INP.

Valeur INP (75e centile)Appréciation GoogleRessenti typique
≤ 200 msBonL’interface répond « tout de suite »
201 à 500 msÀ améliorerLéger flottement, clics parfois répétés
> 500 msMauvaisPage qui semble figée, abandon de l’action

Le 75e centile signifie que, pour être jugée bonne, une page doit offrir un INP de 200 ms ou moins à au moins trois visites sur quatre, séparément sur mobile et sur ordinateur. C’est volontairement exigeant : on juge la page sur ses visiteurs les moins bien lotis (téléphone d’entrée de gamme, processeur occupé), pas sur l’ordinateur du développeur.

Les trois phases d’une interaction

Comprendre ces trois phases est la clé de tout diagnostic, car chacune a des causes et des remèdes différents.

PhaseCe qui se passeCause typique d’un dépassementPiste de correction
Délai d’entréeLe navigateur a reçu le clic mais son fil principal est occupéUn script (souvent tiers) exécute une tâche longue au même momentDifférer ou alléger les scripts qui tournent pendant la navigation
Durée de traitementLes gestionnaires d’événements (vos fonctions JavaScript) s’exécutentTrop de travail synchrone dans le clic : calculs, rendu de liste, statistiquesDécouper le travail, faire d’abord la mise à jour visuelle
Délai de présentationLe navigateur recalcule styles et mise en page, puis peintDOM très volumineux, mise en page forcée, gros rendu HTML en JavaScriptRéduire le DOM, éviter les lectures/écritures de mise en page alternées

Exemple réaliste : un clic sur un filtre « Taille 42 » mesure 640 ms. Le panneau Performances montre 40 ms de délai d’entrée, 520 ms de traitement (le script recalcule et réaffiche 300 produits) et 80 ms de présentation. Le problème est donc dans le traitement : inutile de s’attaquer aux images ou au serveur.

INP ou FID : ce qui a changé en 2024

L’INP a officiellement remplacé le FID le 12 mars 2024, au terme de deux ans de période expérimentale. Le FID a été retiré de la Search Console le même jour.

FID (retiré)INP (actuel)
Interactions observéesLa première uniquementToutes les interactions de la visite
Ce qui est mesuréLe seul délai d’entréeDélai d’entrée + traitement + présentation
Seuil « bon »≤ 100 ms≤ 200 ms
Difficulté à obtenir un bon scoreFaible : la plupart des sites passaientRéelle, surtout sur mobile et sites riches en JavaScript

Conséquence : des sites « au vert » avec le FID sont passés à l’orange ou au rouge avec l’INP sans avoir changé une ligne de code. Ce n’est pas le site qui s’est dégradé, c’est la mesure qui est devenue honnête.

Où mesurer l’INP : terrain et laboratoire

L’INP est avant tout une métrique de terrain : il dépend de ce que font de vrais utilisateurs, sur de vrais appareils. Les outils se répartissent donc en deux familles.

OutilType de donnéesCe qu’il vous apprend
Search Console, rapport Core Web VitalsTerrain (CrUX), par groupes d’URLQuels modèles de pages sont lents sur mobile ou ordinateur
PageSpeed InsightsTerrain (28 derniers jours) + laboratoireINP réel d’une URL ou de l’origine, si le trafic est suffisant
Bibliothèque web-vitals (RUM maison)Terrain, vos propres visiteursQuelle interaction, sur quel élément, dans quelle phase
Chrome DevTools, panneau PerformancesLaboratoireLe détail de chaque tâche pendant une interaction reproduite
LighthouseLaboratoirePas d’INP au chargement, mais le Total Blocking Time, bien corrélé

PageSpeed Insights affiche les données de terrain du rapport CrUX sur la période des 28 derniers jours. Un site peu visité n’y a souvent aucune donnée : dans ce cas, la seule façon d’obtenir un INP réel est de le collecter vous-même avec la bibliothèque web-vitals de Google, dont la version « attribution » indique l’élément cliqué et la phase fautive :

import {onINP} from 'web-vitals/attribution';

onINP(({value, rating, attribution}) => {
  navigator.sendBeacon('/rum', JSON.stringify({
    inp: Math.round(value),            // en millisecondes
    rating,                            // good | needs-improvement | poor
    cible: attribution.interactionTarget,  // sélecteur de l'élément
    delai: attribution.inputDelay,
    traitement: attribution.processingDuration,
    presentation: attribution.presentationDelay
  }));
});

En général, quelques centaines de visites suffisent pour voir apparaître les interactions problématiques. Nos audits et nos corrections techniques s’appuient sur ce type de collecte quand les données publiques manquent.

Méthode de diagnostic pas à pas

La méthode que nous appliquons suit la logique recommandée par Google dans son guide de diagnostic manuel des interactions lentes : trouver sur le terrain, reproduire en laboratoire, corriger, vérifier sur le terrain.

  1. Repérer les modèles de pages lents

    Dans la Search Console, rapport Core Web Vitals, repérez les groupes d’URL signalés pour l’INP, en commençant par le mobile. Priorisez selon le trafic et la valeur commerciale (fiches produits, tunnel de commande, formulaires).

  2. Identifier l’interaction fautive

    Avec vos données web-vitals ou en testant les éléments interactifs évidents : menu, filtres, ajout au panier, onglets, accordéons, champs de formulaire, bandeau de consentement.

  3. Reproduire dans Chrome

    Ouvrez DevTools, onglet Performances, activez un ralentissement du processeur (x4 ou x6) pour simuler un téléphone moyen, lancez l’enregistrement, effectuez l’interaction, arrêtez.

  4. Lire la piste Interactions

    Survolez l’interaction : DevTools affiche sa durée et la répartition entre délai d’entrée, traitement et présentation. Les tâches longues sont marquées d’un triangle rouge.

  5. Remonter jusqu’au script

    Dépliez la tâche longue pour voir les fonctions appelées et leur fichier d’origine : votre thème, une extension, un script tiers. L’API Long Animation Frames apporte la même attribution sur le terrain.

  6. Corriger une cause à la fois

    Appliquez le remède adapté à la phase (voir tableau suivant), puis refaites exactement la même mesure pour comparer.

  7. Valider sur le terrain

    Les données CrUX portant sur 28 jours, l’amélioration apparaît progressivement dans PageSpeed Insights et la Search Console. Vos données web-vitals, elles, la montrent dès le lendemain.

Sur le terrain, l’API Long Animation Frames signale les frames de plus de 50 ms et attribue le temps aux scripts responsables (fichier, fonction), ce qui est précieux quand le problème ne se reproduit pas sur votre machine.

Causes fréquentes d’un mauvais INP et remèdes

CausePhase touchéeComment le repérerRemède
Scripts tiers (chat, publicité, tests A/B, pixels)Délai d’entréeTâches longues de domaines externes dans DevToolsSupprimer ce qui ne sert plus, charger à l’inactivité ou à la première interaction
Gestionnaire de clic monolithiqueTraitementUne seule tâche de plusieurs centaines de ms après le clicAfficher d’abord le retour visuel, céder la main, puis faire le reste
Envoi de statistiques dans le clicTraitementAppels de suivi dans la pile de la tâcheEnvoyer après la mise à jour visuelle, sans bloquer
Réhydratation d’un site JavaScriptDélai d’entréeTâches longues au chargement, clics ignorés les premières secondesRendu serveur, hydratation partielle ou progressive, moins de composants interactifs
DOM très volumineuxPrésentationRecalcul de style et mise en page coûteux après chaque clicRéduire les éléments, content-visibility sur les zones hors écran, méga-menus chargés à la demande
Mise en page forcée en boucleTraitement / présentationAvertissement « Forced reflow » dans DevToolsRegrouper les lectures, puis les écritures de styles
Champ de recherche qui filtre à chaque frappeTraitementChaque touche déclenche un gros calculTemporiser (debounce), filtrer par lots, afficher la saisie immédiatement

Ces remèdes reprennent les recommandations du guide Google optimiser l’INP. Sur les sites que nous traitons, deux ou trois corrections ciblées suffisent souvent à faire passer un INP mobile à l’orange sous la barre des 200 ms ; il est rare qu’il faille réécrire le site.

Découper les tâches longues : céder la main au navigateur

Une tâche de plus de 50 ms est dite « longue » : pendant ce temps, le navigateur ne peut ni répondre à un nouveau clic ni afficher quoi que ce soit. Le principe de correction est de faire d’abord ce que l’utilisateur doit voir, puis de rendre la main au navigateur pour qu’il peigne, et seulement ensuite de continuer le travail. Google recommande pour cela scheduler.yield(), disponible dans Chrome et Edge depuis la version 129 et dans Firefox depuis la version 142 selon son guide des tâches longues, avec un repli sur setTimeout ailleurs :

function cederLaMain() {
  if (globalThis.scheduler?.yield) return scheduler.yield();
  return new Promise(r => setTimeout(r, 0));   // repli pour les navigateurs sans scheduler.yield
}

bouton.addEventListener('click', async () => {
  afficherChargement();        // 1. retour visuel immédiat
  await cederLaMain();         // 2. le navigateur peint la frame
  filtrerLesProduits();        // 3. travail lourd ensuite
  await cederLaMain();
  envoyerStatistiques();       // 4. tâches non urgentes en dernier
});

Le même guide précise que l’ancienne API isInputPending() n’est plus recommandée. Ce découpage ne rend pas le calcul plus rapide ; il rend la page réactive pendant le calcul, ce qui est exactement ce que mesure l’INP.

INP selon le CMS : WordPress, Shopify, PrestaShop

WordPress et WooCommerce

Les coupables habituels sont les constructeurs de pages lourds, les extensions qui ajoutent chacune leurs scripts sur toutes les pages, et les sliders. Commencez par un inventaire des scripts chargés sur la page lente, désactivez ce qui ne sert pas sur ce gabarit, et méfiez-vous des réglages « retarder tout le JavaScript » : ils améliorent souvent le LCP mais peuvent faire exploser l’INP de la première interaction. Notre page SEO WordPress détaille notre méthode.

Shopify

Sur Shopify, l’INP se dégrade surtout avec l’accumulation d’applications (avis, upsell, chat, fidélité) qui injectent leurs scripts dans le thème. Un inventaire des applications réellement utiles et le passage à un thème récent et léger règlent la majorité des cas. Voir notre accompagnement SEO Shopify.

PrestaShop

Les modules de navigation à facettes et les méga-menus générant des milliers d’éléments sont les causes les plus fréquentes, ainsi que les anciens thèmes chargeant plusieurs bibliothèques JavaScript. Voir notre page SEO PrestaShop.

Sur une boutique en ligne, l’INP se joue surtout sur les fiches produits, les listes filtrées et le panier : c’est l’un des chantiers de notre offre de SEO pour sites marchands.

L’INP et le classement Google : ce qu’il faut en attendre

Google l’écrit clairement dans sa documentation sur les Core Web Vitals : ces métriques s’inscrivent dans ce que ses systèmes de classement cherchent à récompenser, mais de bons scores ne garantissent pas un bon classement ; un contenu pertinent et utile reste déterminant. Passer de 350 à 180 ms ne fera pas bondir une page médiocre en tête des résultats.

L’enjeu est ailleurs : un mauvais INP fait perdre des conversions sur les pages qui ont déjà du trafic. Un bouton qui ne réagit pas provoque des clics répétés, des doubles ajouts au panier, des formulaires abandonnés. C’est pourquoi nous priorisons l’INP par valeur commerciale, pas par score. Un audit SEO permet de le situer parmi les autres chantiers : il est rarement la priorité absolue d’un site qui manque de contenus ou de liens, mais il le devient sur un e-commerce bien positionné.

À retenir : l’INP se corrige interaction par interaction. Un score global ne dit pas quoi réparer ; la phase fautive (délai, traitement, présentation) et le script en cause, si.

Erreurs à éviter

  1. Se fier au score Lighthouse seul. Il ne mesure pas l’INP au chargement ; un 100/100 peut coexister avec un INP mobile mauvais.
  2. Tester sur un ordinateur puissant sans ralentissement. Activez le ralentissement du processeur ou testez sur un vrai téléphone Android de milieu de gamme.
  3. Optimiser les images pour corriger l’INP. C’est le levier du LCP, pas de la réactivité.
  4. Tout différer aveuglément. Retarder tout le JavaScript jusqu’à la première interaction fait payer l’addition… à la première interaction.
  5. Oublier le bandeau de consentement. C’est souvent la première interaction de la visite, et certaines solutions sont lourdes.
  6. Conclure trop vite. Les données CrUX sont glissantes sur 28 jours : attendez quatre semaines avant de juger une correction sur la Search Console.
  7. Casser les performances lors d’une refonte. Mesurez l’INP en préproduction, comme nous le recommandons dans notre checklist de refonte de site internet SEO.

Pour suivre l’évolution de vos Core Web Vitals dans la Google Search Console, créez une annotation à chaque déploiement correctif : c’est la seule façon de relier une amélioration à une cause. Nous intégrons ces indicateurs à notre reporting SEO mensuel.

Votre site semble lent à réagir sur mobile ? Lancez notre test gratuit ou contactez-nous : nos développeurs identifient l’interaction fautive et la corrigent, pas seulement la signalent.

Questions fréquentes

Qu’est-ce que l’INP en SEO ?
L’INP (Interaction to Next Paint) est l’une des trois Core Web Vitals de Google. Il mesure le temps entre une interaction de l’utilisateur (clic, appui sur écran tactile, touche du clavier) et l’affichage de la frame suivante, sur toute la durée de la visite. La valeur retenue est l’une des interactions les plus lentes, et Google l’évalue au 75e centile des visites réelles, séparément sur mobile et sur ordinateur.
Quel est un bon score INP ?
Selon Google, un INP inférieur ou égal à 200 millisecondes est bon, entre 200 et 500 millisecondes il doit être amélioré, et au-delà de 500 millisecondes il est considéré comme mauvais. Pour qu’une page soit jugée bonne, au moins 75 % des visites doivent rester sous 200 ms. Mesurez séparément mobile et ordinateur : le mobile est presque toujours plus lent.
Quelle est la différence entre l’INP et le FID ?
Le FID ne mesurait que le délai avant le traitement de la toute première interaction. L’INP mesure la latence complète (délai, exécution du code, affichage) de toutes les interactions de la visite et retient l’une des plus lentes. Il est donc bien plus exigeant. L’INP a remplacé le FID dans les Core Web Vitals le 12 mars 2024, et le FID a disparu de la Search Console à cette date.
Pourquoi PageSpeed Insights n’affiche-t-il pas d’INP pour ma page ?
L’INP provient uniquement de données de terrain (rapport CrUX), collectées auprès de vrais utilisateurs de Chrome sur les 28 derniers jours. Si votre page ou votre site n’a pas assez de visites éligibles, aucune donnée n’apparaît. Lighthouse, la partie « laboratoire » de l’outil, ne mesure pas l’INP au chargement ; il affiche le Total Blocking Time, un bon indicateur indirect.
L’INP a-t-il un impact sur le classement Google ?
Les Core Web Vitals, dont l’INP, font partie des signaux d’expérience de page que les systèmes de classement de Google prennent en compte. Google précise cependant que de bons scores ne garantissent pas un bon classement : la pertinence et l’utilité du contenu restent déterminantes. Un mauvais INP pèse surtout sur l’expérience : formulaires abandonnés, clics répétés, paniers non validés.
Quelles sont les causes les plus fréquentes d’un mauvais INP ?
Les causes que nous rencontrons le plus : scripts tiers chargés au démarrage (chat, publicité, tests A/B, gestionnaires de balises), gestionnaires de clic qui font tout le travail d’un bloc, sites construits entièrement en JavaScript qui réhydratent la page, pages avec un DOM très volumineux (menus géants, filtres à facettes), et extensions de CMS qui ajoutent chacune leurs écouteurs d’événements.
Comment améliorer l’INP sur WordPress ?
Commencez par identifier l’interaction lente (menu, filtre, ajout au panier). Puis supprimez les extensions inutiles, différez les scripts non essentiels (chat, pixels, sliders) jusqu’à la première interaction ou à l’inactivité, remplacez les constructeurs de pages lourds par des blocs natifs sur les gabarits clés et réduisez la taille du DOM. Mesurez chaque changement : certaines extensions d’optimisation retardent tout le JavaScript et dégradent l’INP.

Vos concurrents occupent les premières places ? Reprenons-les.

Envoyez-nous l’adresse de votre site : nous le comparons aux pages qui vous devancent, puis nous vous disons quoi corriger d’abord et pour quel budget. Réponse sous 24 h ouvrées.