Core Web Vitals

Co to jest INP (Interaction to Next Paint)

Czas reakcji strony na kliknięcia użytkownika - od marca 2024 oficjalna metryka Core Web Vitals (zastąpiła FID).

Aktualizacja:
Krótka odpowiedź

INP (Interaction to Next Paint) mierzy czas reakcji strony na akcję użytkownika - od kliknięcia, tapnięcia lub naciśnięcia klawisza do momentu, gdy przeglądarka pokaże wynik. Dobre INP wynosi poniżej 200 ms, powyżej 500 ms Google klasyfikuje jako słabe. Od marca 2024 INP zastąpił metrykę FID w Core Web Vitals.

Kluczowe fakty
Pełna nazwa Interaction to Next Paint
Dobry próg ≤ 200 ms
Słaby próg > 500 ms
Zastąpił metrykę FID (First Input Delay) - od marca 2024
Część Core Web Vitals Tak, oficjalna metryka
Metoda pomiaru 98 percentyl interakcji w sesji

Co to jest INP?

INP (Interaction to Next Paint) mierzy, jak szybko strona reaguje na akcje użytkownika - kliknięcia, tapy, naciśnięcia klawiszy. To czas od momentu kliknięcia do momentu, gdy przeglądarka faktycznie pokaże wynik tego kliknięcia.

Od marca 2024 INP jest oficjalną metryką Core Web Vitals - zastąpiła wcześniejszą metrykę FID (First Input Delay).

Dlaczego INP ma znaczenie?

Powyżej 200 ms użytkownicy zaczynają klikać kilka razy z frustracji albo myślą że strona się zawiesiła. W e-commerce długi INP wprost przekłada się na porzucone koszyki - klient klika „Dodaj do koszyka" i nie widząc reakcji, idzie do konkurencji.

Progi Google dla INP

  • ≤ 200 ms - dobry INP
  • 200-500 ms - wymaga poprawy
  • > 500 ms - słaby INP

Najczęstsze przyczyny słabego INP

  • Ciężkie skrypty JavaScript blokujące główny wątek (zobacz TBT)
  • Złe handlery zdarzeń - synchroniczne operacje w callbacku kliknięcia
  • Nadmierne re-renderowanie w SPA frameworkach (React, Vue)
  • Skrypty trzecich stron (czaty live, piksele marketingowe) zajmujące główny wątek

Jak poprawić INP?

  1. Podziel długie zadania JS na mniejsze fragmenty (setTimeout, scheduler.yield())
  2. Używaj Web Workerów dla ciężkich obliczeń
  3. Optymalizuj handlery - debounce/throttle dla scroll/input
  4. W React: useMemo, useCallback, React.memo dla unikania zbędnych re-renderów
  5. Przejrzyj skrypty marketingowe - wyrzuć nieaktywne

Najczęstsze pytania

Od kiedy INP zastąpił FID jako metryka Google?
Google ogłosił zmianę w maju 2023 i wprowadził INP jako oficjalną metrykę Core Web Vitals w marcu 2024. Od tej daty FID nie jest już brany pod uwagę przy rankingu - liczy się tylko INP.
Jak Google liczy INP dla strony z wieloma kliknięciami?
Google bierze 98. percentyl wszystkich interakcji w sesji użytkownika (z odrzuceniem 2% najgorszych anomalii). Dla typowej sesji z kilkoma kliknięciami i scrollami, raportowane INP to wartość przy najgorszej istotnej interakcji - nie średnia.
Czy INP można zmierzyć w Lighthouse?
Lighthouse mierzy TBT (Total Blocking Time) jako lab-data proxy dla INP, ale faktyczny INP jest field metric - pochodzi tylko z realnych interakcji użytkowników raportowanych przez Chrome do CrUX. W lokalnych testach (DevTools, Lighthouse CI) zobaczysz tylko TBT i przewidywane INP.
Co najczęściej powoduje wysokie INP?
Trzy główne winowajcy: ciężkie skrypty marketingowe (Google Tag Manager z wieloma aktywnymi tagami, piksele FB, czaty live), nadmierne re-renderowanie w SPA (React/Vue/Angular), oraz synchroniczne operacje w handlerach kliknięć (np. duże iteracje po DOM).

Sprawdź swoją stronę

Wpisz adres swojej strony, w 30 sekund zobaczysz konkretną listę problemów do naprawy - wraz z wpływem na sprzedaż, SEO i koszty reklam.

Zacznij test →