INP (Interaction to Next Paint) — це метрика Core Web Vitals, яка вимірює найдовшу затримку взаємодії до малювання на сторінці під час візиту користувача, замінюючи FID у березні 2024 року.
"Взаємодія" — це клік, дотик або натискання клавіші, яке викликає JavaScript. INP вимірює найгіршу затримку серед усіх взаємодій, а не середню, тому один повільний клік фільтра може зіпсувати INP для всієї сесії. Пороги 2026 року: ≤ 200ms добре, ≤ 500ms потребує покращення, > 500ms погано.
Звичайні виправлення INP для електронної комерції: зменшити JavaScript на стороні клієнта за допомогою React Server Components, використовувати startTransition для не термінових оновлень стану, використовувати useOptimistic для миттєвого зворотного зв'язку при зміні варіанту та додаванні в кошик, дебаунсити пошукові запити за допомогою AbortController, виносити регулярні вирази з обробників подій і відкладати не критичні скрипти третіх сторін.
Виправити INP складніше, ніж LCP, оскільки кожна взаємодія може мати різне вузьке місце. Виправлення INP вимагає дисципліни на рівні компонентів для кожного інтерактивного елемента на сторінці.