Czym jest nowy wskaźnik INP (Interaction To Next Paint): Wszystko, co musisz wiedzieć

Poznaj nowy wskaźnik Core Web Vital od Google, co oznacza dobry wynik INP i jak może poprawić ogólną wydajność SEO Twojej strony. W świecie SEO nie brakuje akronimów.

Od SEO przez FID po INP – to niektóre z najczęściej spotykanych terminów, z którymi zetkniesz się, gdy chodzi o szybkość ładowania stron.

Pojawił się nowy wskaźnik: INP, czyli Interaction to Next Paint. Określa on, jak strona reaguje na konkretne działania użytkowników i jest mierzony za pomocą danych laboratoryjnych i polowych Google Chrome.

Czym jest Interaction To Next Paint?

Interaction to Next Paint, czyli INP, to nowy wskaźnik Core Web Vitals, przeznaczony do oceny ogólnej opóźnienia interakcji na stronie przez cały czas trwania sesji użytkownika.

Na przykład, gdy klikniesz przycisk „Dodaj do koszyka” na stronie produktu, INP mierzy, ile czasu zajmuje, aby wizualny stan przycisku się zaktualizował, np. zmienił kolor po kliknięciu.

Jeśli na Twojej stronie działają ciężkie skrypty, które zajmują dużo czasu na zakończenie, mogą one tymczasowo zamrozić stronę, co negatywnie wpłynie na wskaźnik INP.

Czym INP różni się od FID?

Główna różnica między INP a First Input Delay (FID) polega na tym, że FID uwzględnia tylko pierwszą interakcję na stronie. FID mierzy jedynie opóźnienie wejścia i nie uwzględnia czasu, jaki przeglądarka potrzebuje na odpowiedź na to działanie.

Z kolei INP uwzględnia wszystkie interakcje na stronie i mierzy czas, jaki przeglądarka potrzebuje na ich przetworzenie. INP bierze pod uwagę następujące typy interakcji:

  • Każde kliknięcie myszą na interaktywnym elemencie.
  • Każdy dotyk interaktywnego elementu na urządzeniach z ekranem dotykowym.
  • Naciśnięcie klawisza na fizycznej lub ekranowej klawiaturze.

Jaki jest dobry wynik INP?

Według Google, dobry wynik INP wynosi około 200 milisekund lub mniej. Posiada on następujące wartości progowe:

Wartość progowaOpis
200 msDobra responsywność
200-500 msUmiarkowana responsywność, wymagająca poprawy
Powyżej 500 msSłaba responsywność

Google również zaznacza, że INP jest wciąż eksperymentalnym wskaźnikiem, a zalecenia dotyczące tej metryki mogą się zmieniać w przyszłości.

Jak mierzony jest INP?

Google mierzy INP za pomocą anonimowych danych z przeglądarek Chrome, wybierając próbkę z najdłuższych interakcji zachodzących podczas odwiedzania strony przez użytkownika.

Każda interakcja składa się z kilku faz: czasu prezentacji, czasu przetwarzania i opóźnienia wejścia. Wywołanie zdarzeń zawiera całkowity czas wykonania dla wszystkich trzech faz.

Jeśli na stronie jest mniej niż 50 interakcji, INP uwzględnia interakcję z najdłuższym opóźnieniem; jeśli więcej niż 50, ignoruje najdłuższe interakcje na każde 50 interakcji.

Po opuszczeniu strony przez użytkownika, te pomiary są przesyłane do raportu Chrome User Experience Report (CrUX), który agreguje dane dotyczące wydajności w celu przedstawienia rzeczywistych doświadczeń użytkowników, znanych jako dane polowe.

Jakie są najczęstsze przyczyny wysokich wartości INP?

Zrozumienie przyczyn wysokich wartości INP jest kluczowe dla optymalizacji wydajności Twojej strony. Oto najczęstsze przyczyny:

  • Długie zadania blokujące główny wątek, opóźniając interakcję użytkownika.
  • Synchroniczne obsługi zdarzeń kliknięć.
  • Zmiany w DOM powodujące liczne przerysowania i przeliczenia, szczególnie gdy rozmiar DOM jest zbyt duży (powyżej 1,500 elementów HTML).

Jak rozwiązać problemy z INP?

Przede wszystkim, zapoznaj się z naszym przewodnikiem dotyczącym pomiaru metryk Core Web Vitals i spróbuj metod eliminacji problemów tam zaproponowanych. Jeśli to nie pomoże, skorzystaj z raportu Performance w przeglądarce Chrome (lub jeszcze lepiej, Canary).

  1. Przejdź na stronę, którą chcesz przeanalizować.
  2. Otwórz DevTools przeglądarki Canary bez rozszerzeń (zazwyczaj naciskając F12 lub Ctrl+Shift+I).
  3. Otwórz zakładkę Performance.
  4. Wyłącz cache w zakładce Network.
  5. Wybierz emulator mobilny.
  6. Kliknij przycisk Record i interakuj z elementami strony, jak zwykle.
  7. Zatrzymaj nagrywanie po uchwyceniu interesującej interakcji.

Następnie, używając menu „slowdown”, zmniejsz wydajność CPU czterokrotnie, aby symulować średnie urządzenia mobilne i wybierz sieć 4G, której używa 90% urządzeń mobilnych na zewnątrz. To ważny krok, ponieważ Google używa danych polowych zbieranych od rzeczywistych użytkowników.

Jeśli zauważysz, że długie zadania powodują opóźnienia w interakcji, przejrzyj listę plików JavaScript odpowiedzialnych za te zadania.

Rozwijając sekcję Interactions, możesz zobaczyć szczegółowy rozkład długiego zadania związanego z tą interakcją, a kliknięcie na adresy URL skryptów otworzy linie kodu JavaScript odpowiedzialne za opóźnienia, które możesz zoptymalizować.

Raport wydajności: główny wątek

Na zrzucie ekranu (punkt 2) opóźnienie wynoszące 207 ms prawdopodobnie wystąpiło, ponieważ przeglądarka nadal oceniał skrypt zawierający obsługę zdarzeń dla kliknięcia.

Czym jest ocena skryptów?

Ocena skryptów jest kluczowym etapem wykonywania JavaScript. Podczas tego procesu przeglądarka wykonuje kod linijka po linijce, w tym przypisywanie wartości zmiennym, definiowanie funkcji i rejestrowanie obsługi zdarzeń.

Użytkownicy mogą wchodzić w interakcję z częściowo załadowaną stroną, dopóki pliki JavaScript nadal się ładują, analizują, kompilują i oceniają.

Kiedy użytkownik wchodzi w interakcję z elementem (np. kliknięcie lub naciśnięcie), a przeglądarka nadal ocenia skrypt zawierający obsługę zdarzeń dla tej interakcji, może to prowadzić do opóźnienia zakończenia oceny skryptu.

W tym momencie wchodzi w grę wskaźnik Total Blocking Time (TBT), mierzący całkowity czas, w którym długie zadania (ponad 50 ms) blokują główny wątek, zanim strona stanie się interaktywna.

Jeśli ten czas jest długi, a użytkownicy wchodzą w interakcje z witryną zaraz po załadowaniu strony, przeglądarka może nie zdążyć odpowiednio zareagować na interakcje użytkownika.

Choć nie jest to część głównych metryk Core Web Vitals, wysoki TBT często koreluje z wysokimi wartościami INP. Dlatego, aby zoptymalizować INP, warto dążyć do obniżenia TBT.

Jakie skrypty JavaScript powodują wysoki TBT?

Jakie skrypty JavaScript powodują wysoki TBT? - logicznakuznia.eu

Skrypty analityczne, takie jak Google Analytics 4, piksele śledzące, Google reCaptcha lub reklamy AdSense, zwykle powodują długi czas oceny skryptów, co zwiększa TBT.

Przykład strony internetowej, gdzie reklamy i skrypty analityczne prowadzą do długiego wykonania JavaScript. Jedną ze strategii obniżania TBT jest opóźnienie ładowania nieistotnych skryptów do momentu, gdy główna zawartość strony się załaduje.

Innym ważnym aspektem jest priorytetyzowanie skryptów w oparciu o ich wpływ na doświadczenie użytkownika. Kluczowe skrypty (np. niezbędne do podstawowych interakcji) powinny być ładowane wcześniej niż mniej ważne.

Poprawa INP – to nie wszystko

Należy zauważyć, że poprawa INP nie jest jedynym aspektem gwarantującym sukces w SEO.

To tylko jeden z wielu elementów, które należy uwzględnić w ramach kompleksowych zmian jakościowych, mogących wpłynąć na ogólną wydajność SEO.

Te zmiany obejmują optymalizację treści, tworzenie wysokiej jakości linków zwrotnych, poprawę metatagów i opisów, używanie danych strukturalnych, ulepszanie architektury strony, usuwanie błędów indeksowania i wiele innych.

Optymalizacja INP (Interaction To Next Paint)

Optymalizacja wskaźnika INP (Interaction To Next Paint) jest kluczowym elementem poprawy responsywności i ogólnej wydajności strony internetowej. Poniżej znajdziesz szczegółowy przewodnik, jak skutecznie optymalizować INP:

1. Analiza długich zadań

Długie zadania blokujące główny wątek są główną przyczyną wysokich wartości INP. Należy je zidentyfikować i zoptymalizować.

Kroki:

  1. Otwórz narzędzie DevTools w przeglądarce Chrome.
  2. Przejdź do zakładki Performance i nagraj interakcje na stronie.
  3. Sprawdź długie zadania w raportach wydajności i zidentyfikuj skrypty powodujące opóźnienia.

2. Optymalizacja JavaScript

Skrypty JavaScript często powodują długie czasy przetwarzania, co wpływa na INP.

Strategie:

  • Lazy Loading: Opóźniaj ładowanie nieistotnych skryptów do momentu, gdy główna treść strony się załaduje.
  • Kod Asynchroniczny: Używaj asynchronicznych wersji skryptów (np. async lub defer dla skryptów ładowanych w HTML).
  • Podział kodu: Podziel duże pliki JavaScript na mniejsze, bardziej zarządzalne części.
  • Eliminacja zbędnego kodu: Usuń nieużywane fragmenty kodu JavaScript.

3. Zmniejszenie wielkości DOM

Duże drzewa DOM mogą powodować długie czasy przetwarzania interakcji.

Kroki:

  • Minimalizacja liczby elementów: Zmniejsz liczbę elementów HTML na stronie.
  • Optymalizacja struktury: Używaj prostych i płaskich struktur DOM zamiast zagnieżdżonych.

4. Poprawa wydajności CSS

CSS również może wpływać na responsywność strony.

Strategie:

  • Krytyczne CSS: Wydziel krytyczne style CSS potrzebne do pierwszego renderowania strony.
  • Minifikacja CSS: Zmniejsz rozmiar plików CSS poprzez minifikację.
  • Zoptymalizowane selektory: Używaj prostych i konkretnych selektorów CSS.

5. Użycie narzędzi do analizy wydajności

Wykorzystaj narzędzia do analizy wydajności, aby monitorować i optymalizować wskaźnik INP.

Narzędzia:

  • Chrome DevTools: Szczegółowa analiza wydajności strony.
  • Lighthouse: Narzędzie do audytów wydajności i jakości strony.
  • WebPageTest: Zewnętrzne narzędzie do testowania szybkości i wydajności strony.

6. Optymalizacja zasobów

Minimalizacja opóźnień w ładowaniu zasobów strony może poprawić INP.

Strategie:

  • Kompresja zasobów: Używaj kompresji (np. Gzip, Brotli) dla plików CSS, JavaScript i HTML.
  • Kompresja obrazów: Zoptymalizuj obrazy pod kątem rozmiaru i formatu (np. WebP).
  • Content Delivery Network (CDN): Korzystaj z CDN, aby zmniejszyć czas ładowania zasobów.

7. Monitoring i iteracja

Regularne monitorowanie wskaźnika INP i ciągłe wprowadzanie ulepszeń są kluczowe dla utrzymania optymalnej wydajności strony.

Kroki:

  • Regularne testy: Przeprowadzaj regularne testy wydajności przy użyciu narzędzi takich jak Lighthouse i WebPageTest.
  • Analiza raportów: Analizuj raporty CrUX, aby zrozumieć rzeczywiste doświadczenia użytkowników.
  • Ciągła optymalizacja: Na bieżąco wprowadzaj poprawki w oparciu o wyniki testów i raportów.

Podsumowanie

Wskaźnik INP (Interaction To Next Paint) jest nowym narzędziem Google, które pomaga mierzyć ogólną responsywność strony na interakcje użytkowników.

Zrozumienie i optymalizacja INP może znacząco poprawić doświadczenie użytkowników, co z kolei wpływa na wyniki SEO.

Jednakże, optymalizacja tego wskaźnika to tylko jeden z elementów skutecznej strategii SEO. Ważne jest holistyczne podejście, uwzględniające różne aspekty wydajności i jakości strony internetowej.

Optymalizacja wskaźnika INP to złożony proces wymagający holistycznego podejścia do wydajności strony. Poprzez analizę długich zadań, optymalizację kodu JavaScript i CSS, zmniejszenie wielkości DOM oraz regularne monitorowanie wydajności, można znacząco poprawić responsywność strony, co przyczyni się do lepszych wyników SEO i zadowolenia użytkowników.