First Input Delay (FID) w WordPress – co to jest?

First Input Delay (FID) to historyczny wskaźnik z grupy Core Web Vitals, który mierzył czas reakcji strony na pierwszą interakcję użytkownika. W marcu 2024 roku Google oficjalnie wycofało go i zastąpiło metryką INP.

Co mierzył FID

FID rejestrował czas między pierwszą interakcją użytkownika (kliknięciem w link, przycisk lub inny interaktywny element) a momentem, w którym przeglądarka mogła faktycznie zacząć przetwarzać kod obsługujący to zdarzenie.

Kontekst: gdy strona się ładuje i przetwarza ciężkie pliki JavaScript, główny wątek przeglądarki jest zablokowany. Kliknięcie użytkownika w tym czasie trafia do kolejki. FID mierzył wyłącznie czas tego oczekiwania — jak długo przeglądarka była “zablokowana” w momencie pierwszej interakcji.

Dlaczego FID był niedoskonały

FID działał jako miernik responsywności przez kilka lat, ale miał istotne ograniczenia diagnostyczne.

Tylko pierwsza interakcja. FID mierzył wyłącznie pierwsze kliknięcie lub dotknięcie podczas wizyty na stronie. Jeśli to kliknięcie było płynne, a kolejne drastycznie wolne — wynik FID był pozytywny. Strona mogła mieć dobry FID i jednocześnie być frustrująco powolna w odpowiedziach na kolejne działania użytkownika.

Tylko czas oczekiwania w kolejce. FID mierzył wyłącznie opóźnienie przed uruchomieniem kodu obsługi zdarzenia. Nie uwzględniał czasu wykonania tego kodu ani czasu wyrenderowania efektu kliknięcia na ekranie. W praktyce kliknięcie mogło “trafić do kolejki” szybko, ale użytkownik i tak długo czekał na widoczny efekt.

Brak pomiaru laboratoryjnego. FID wymagał prawdziwej interakcji od żywego użytkownika — nie dało się go zmierzyć w Lighthouse ani innych narzędziach syntetycznych. W raportach laboratoryjnych zastępował go wskaźnik TBT (Total Blocking Time).

INP — następca FID od marca 2024

Google zastąpiło FID metryką INP (Interaction to Next Paint) — po kilku miesiącach okresu próbnego.

INP mierzy responsywność strony na wszystkie interakcje podczas całej sesji użytkownika, nie tylko pierwszą. Końcowy wynik INP to wynik najgorszej interakcji z pewnymi statystycznymi korektami dla outlierów.

Co ważniejsze — INP mierzy pełen czas interakcji: od kliknięcia, przez czas wykonania kodu JavaScript obsługującego zdarzenie, aż do wyrenderowania zmian na ekranie. To znacznie pełniejszy i bardziej miarodajny obraz responsywności.

Co INP zmienił w praktyce

Zmiana nie była wyłącznie kosmetyczna. Strony, które miały dobry wynik FID, mogą mieć słaby INP — bo INP ujawnia problemy, które FID systematycznie pomijał.

FID akceptował stronę, która reagowała płynnie na pierwsze kliknięcie. INP sprawdza, czy każda interakcja podczas sesji jest szybka — kliknięcia w filtry, przewijanie listy produktów, otwieranie menu, wpisywanie tekstu w wyszukiwarce.

Co powoduje słaby INP w WordPress

Główny wątek przeglądarki przetwarza kod JavaScript seryjnie. Jeśli jest przeciążony, reaguje wolno na każde kliknięcie.

Ciężkie page buildery. Elementor, Divi i podobne narzędzia generują duże ilości JavaScript obsługującego interaktywne elementy. Każda interakcja może wymagać wykonania znacznych ilości kodu.

Wiele wtyczek ładujących JS. Każda wtyczka dodaje własne skrypty. Przy wielu aktywnych wtyczkach główny wątek jest stale zajęty i reaguje wolno.

Skrypty śledzące. Piksele reklamowe i narzędzia analityczne mogą zajmować główny wątek dokładnie wtedy, gdy użytkownik klika — powodując odczuwalne opóźnienie.

Jak mierzyć INP

INP, podobnie jak FID, wymaga danych od prawdziwych użytkowników. Nie jest dostępny w standardowym raporcie Lighthouse (który używa TBT jako przybliżenia).

Dane o INP znajdziesz w:

  • PageSpeed Insights — sekcja “Field Data” (dane terenowe z CrUX)
  • Google Search Console → Kluczowe wskaźniki internetowe
  • Chrome UX Report (CrUX) — dane terenowe per strona lub per domena
  • Web Vitals extension — rozszerzenie Chrome mierzące INP w czasie rzeczywistym podczas przeglądania strony

Narzędzia syntetyczne (Lighthouse, GTmetrix) używają TBT (Total Blocking Time) jako laboratoryjnego przybliżenia responsywności. TBT nie jest tym samym co INP, ale wskazuje podobne problemy z blokowaniem głównego wątku.

Kontekst historyczny — aktualne Core Web Vitals

FID był jednym z pierwotnych Core Web Vitals obok LCP i CLS. Po wycofaniu FID, aktualne Core Web Vitals to trzy wskaźniki: LCP, CLS i INP.

Pełne zestawienie wskaźników wydajności, ich progów i narzędzi pomiarowych: Metryki wydajności w WordPress.

Artykuł o TTI w WordPress opisuje inny historyczny wskaźnik mierzący podobny aspekt responsywności — czas do pełnej gotowości strony na interakcje.

Optymalizacja responsywności w WordPress teraz

Optymalizacja pod INP różni się od optymalizacji pod dawny FID. INP jest trudniejszy do poprawy, bo wymaga dbania o lekkość kodu przy każdej interakcji na stronie, nie tylko podczas ładowania.

Praktyczne kroki to audyt skryptów ładowanych przez wtyczki, ograniczenie kodu JavaScript stron trzecich do niezbędnego minimum, oraz analiza, które interakcje konkretnie generują opóźnienia — przez Web Vitals extension lub panel Performance w Chrome DevTools.