INP (Interaction to Next Paint) est une métrique Core Web Vitals mesurant la plus longue latence d'interaction à peinture sur une page pendant la visite de l'utilisateur, remplaçant FID en mars 2024.
Une "interaction" est un clic, un tapotement ou une pression sur une touche qui déclenche JavaScript. INP mesure la latence dans le pire des cas parmi toutes les interactions, et non la moyenne, donc un clic lent sur un filtre peut ruiner l'INP pour toute une session. Seuils de 2026 : ≤ 200ms bon, ≤ 500ms nécessite une amélioration, > 500ms mauvais.
Corrections courantes de l'INP pour le commerce électronique : réduire le JavaScript côté client via les composants serveur React, utiliser startTransition pour les mises à jour d'état non urgentes, utiliser useOptimistic pour un retour instantané lors de l'échange de variantes et de l'ajout au panier, débouncer les entrées de recherche avec AbortController, extraire les littéraux regex des gestionnaires d'événements, et différer les scripts tiers non critiques.
L'INP est plus difficile à corriger que le LCP car chaque interaction peut avoir un goulot d'étranglement différent. Corriger l'INP nécessite une discipline au niveau des composants pour chaque élément interactif sur la page.