David Burdelak
Blog

Core Web Vitals - poradnik jak poprawić wskaźniki

Core Web Vitals


Core Web Vitals stały się jednym z tych elementów, które potrafią ujawnić prawdziwy stan techniczny strony. W codziennej pracy webdevelopera bardzo szybko można zauważyć, że większość problemów wcale nie wynika z jednego błędu, tylko z całego łańcucha decyzji dotyczących layoutu, skryptów, obrazów i serwera. Ten wpis ma być praktycznym przewodnikiem, który pokazuje, jak patrzeć na CWV w sposób całościowy i jak krok po kroku doprowadzić stronę do momentu, w którym wyniki są nie tylko dobre, ale przede wszystkim stabilne w danych rzeczywistych.


Czym są Core Web Vitals i dlaczego mają znaczenie?

Core Web Vitals to trzy podstawowe metryki mierzące doświadczenie użytkownika:

  • LCP (Largest Contentful Paint) mierzy czas, w którym na ekranie pojawia się największy widoczny element;
  • INP (Interaction to Next Paint) ocenia responsywność strony przez pomiar czasu reakcji na interakcje użytkownika;
  • CLS (Cumulative Layout Shift) mierzy stabilność wizualną, czyli sumę nieoczekiwanych przesunięć elementów podczas ładowania.

Te trzy wskaźniki łącznie pokazują, czy strona ładuje się szybko, czy reaguje płynnie i czy nie rozjeżdża się podczas ładowania. To one w praktyce przekładają się na odczucie jakości strony przez użytkownika i warto je traktować priorytetowo przy optymalizacji.

Jak Google mierzy Core Web Vitals? Różnica między field data a lab data

Lab data to testy syntetyczne wykonywane w narzędziach takich jak Lighthouse, gdzie strona ładowana jest w kontrolowanym środowisku. To dobre narzędzie diagnostyczne, ale nie powie, jak witryna zachowuje się u realnych użytkowników.

Field data pochodzi z Chrome User Experience Report i to właśnie ono decyduje o ocenie w Search Console. To także dane, które powinny być dla Ciebie priorytetem, bo są podstawą ewentualnych sygnałów rankingowych.

W praktyce najczęściej spotykana sytuacja wygląda tak, że strona przechodzi Lighthouse "na zielono", a mimo to ma problemy w danych rzeczywistych. Taka rozbieżność pojawia się wtedy, gdy infrastruktura, layout lub skrypty zachowują się inaczej w urządzeniach mobilnych użytkowników niż w środowisku testowym.

LCP – co wpływa na wynik i jak go poprawić?

Najczęściej elementem LCP jest hero image, duży blok tekstu lub kluczowy element layoutu. Jeśli odpowiednio nie zaplanujesz sposobu jego ładowania, strona wydaje się ociężała.

Kilka najczęściej spotykanych problemów:

  • zbyt duże obrazy ładowane w pełnej rozdzielczości,
  • brak preloada zasobu kluczowego dla LCP,
  • zbyt wolny serwer generujący wysoki TTFB,
  • CSS blokujący renderowanie.

Efektywna optymalizacja polega na wykorzystaniu obrazów w formatach AVIF lub WebP, zastosowaniu preload dla kluczowego zasobu oraz redukcji stylów krytycznych. W wielu projektach bardzo dobry efekt przynosi wydzielenie minimalnych stylów krytycznych do sekcji head, a reszty do asynchronicznych plików CSS.

INP – jak usprawnić interaktywność i czas reakcji strony?

INP zastąpił FID i mierzy pełną responsywność strony, nie tylko pierwsze kliknięcie. Ten wskaźnik uwielbia ujawniać problemy związane z przeładowanym JavaScriptem.

Najczęstsze przyczyny słabego INP:

  • długa główna pętla JS,
  • interfejsy bazujące na ciężkich frameworkach renderujących duże fragmenty DOM,
  • zbyt dużo event listenerów,
  • zbyt dużo logiki wykonywanej podczas każdego kliknięcia.

W praktyce najlepsze efekty przynosi rozbicie skryptów na mniejsze moduły, lazy loading dla komponentów reagujących dopiero przy interakcji oraz ograniczanie skryptów zewnętrznych. W wielu projektach samo przeniesienie elementów UI do bardziej przewidywalnej architektury daje natychmiastowy skok w danych rzeczywistych.

CLS – jak wyeliminować przesunięcia layoutu?

CLS pokazuje, czy elementy na stronie przesuwają się podczas ładowania. Najczęściej winne są obrazy bez zadeklarowanych wymiarów, reklamy lub elementy dynamiczne.

Dobrą praktyką jest zawsze ustawianie width i height w HTML, stosowanie aspect-ratio oraz rezerwowanie przestrzeni dla reklam lub sliderów. Stabilny layout to komfort użytkownika, ale także większa przewidywalność zachowania strony, co wpływa na konwersję.

Optymalizacja obrazów – realny wpływ na CWV

Obrazy to w wielu projektach największy ciężar. Różnica między stroną zoptymalizowaną a przeciętną potrafi być dramatyczna, szczególnie na urządzeniach mobilnych.

Kilka praktyk, które przynoszą największy efekt:

  • konwersja do AVIF lub WebP,
  • różne wymiary obrazów w zależności od viewportu,
  • lazy loading dla elementów poza viewportem,
  • preloading dla głównego obrazu LCP.

Sam format potrafi obniżyć wagę o kilkadziesiąt procent, ale dopiero odpowiednie wymiary i technika ładowania robią prawdziwą różnicę.

Optymalizacja CSS i JS – skuteczne techniki

CSS i JS to elementy, które bardzo często decydują o finalnym wyniku. Kluczowe jest to, aby nie blokowały renderowania i działały tylko wtedy, gdy są potrzebne.

Skuteczne techniki:

  • minimalizacja stylów krytycznych,
  • async i defer dla skryptów,
  • eliminacja nieużywanych fragmentów CSS,
  • modularna architektura skryptów.

W wielu projektach widzę powtarzający się wzorzec. Najpierw powstaje funkcjonalność, potem kolejna, potem kolejna, aż w pewnym momencie kod zaczyna żyć własnym życiem. Odchudzenie architektury potrafi wymagać jednorazowej inwestycji, ale daje efekt długoterminowy.

Poprawa wydajności serwera i TTFB

Szybkość serwera to jeden z fundamentów. Jeżeli TTFB jest przeciętny lub słaby, żadne frontendowe optymalizacje nie zamaskują problemu.

Warto zadbać o:

  • cache na poziomie serwera,
  • nowoczesne silniki PHP lub Node,
  • optymalizację zapytań do bazy,
  • CDN dla statycznych zasobów,
  • monitorowanie logów serwera w celu wykrycia wąskich gardeł i błędów.

Różnica między serwerem o TTFB 100 ms a 600 ms potrafi zmienić odbiór strony na wszystkich warstwach.

CWV w sklepach internetowych

Sklepy mają dodatkową trudność wynikającą z dużej liczby komponentów interaktywnych i dynamicznych. Dochodzą filtry, warianty, moduły koszyka, systemy płatności czy rekomendacje.

To dobra przestrzeń, aby stosować techniki takie jak:

  • ładowanie modułów dopiero w momencie interakcji,
  • prefetch na stronach kategorii,
  • optymalizacja obrazów produktów dla różnych urządzeń,
  • eliminacja zbędnych pluginów, szczególnie w WooCommerce.

W środowisku e-commerce każda poprawa może przełożyć się bezpośrednio na konwersję.

Narzędzia do monitorowania Core Web Vitals

Najważniejsze narzędzia to PageSpeed Insights i Chrome User Experience Report. Dają dostęp do danych rzeczywistych, które są kluczowe przy ocenie postępów. Lighthouse i WebPageTest pomagają diagnozować problemy techniczne, ale to właśnie dane z prawdziwych urządzeń decydują o ostatecznym wyniku.

Najczęstsze błędy w optymalizacji CWV

Najczęściej powtarzają się trzy błędy w optymalizacji CWV:

  • koncentracja na wynikach Lighthouse zamiast na danych field,
  • optymalizacja jednego wskaźnika kosztem innych,
  • ignorowanie infrastruktury i TTFB.

Checklista optymalizacji CWV

Etap Działanie
1. Analiza danych wejściowych Sprawdź dane field w Google Search Console; zidentyfikuj podstrony z problemami dla LCP, INP i CLS; porównaj dane field z wynikami testów lab.
2. Określenie elementu LCP Znajdź faktyczny element LCP na stronie w różnych widokach; zweryfikuj, czy obraz lub blok tekstu ładuje się efektywnie; sprawdź preload elementu LCP.
3. Poprawa wydajności ładowania (LCP) Konwersja obrazów do WebP/AVIF; dopasowanie rozdzielczości obrazów do viewportów; minimalizacja krytycznego CSS w head; optymalizacja TTFB poprzez cache serwera i konfigurację backendu.
4. Optymalizacja interaktywności (INP) Ogranicz ilość JavaScriptu przy starcie; podziel skrypty na mniejsze moduły; usuń nieużywane event listenery; wdroż lazy loading dla komponentów interaktywnych.
5. Stabilność wizualna (CLS) Dodaj wymiary width i height dla obrazów; zastosuj aspect-ratio w CSS; zarezerwuj przestrzeń dla reklam i dynamicznych modułów; zapewnij stabilne fonty bez przesunięć.
6. Optymalizacja obrazów w witrynie Włącz automatyczną kompresję; zastosuj lazy loading dla obrazów poza pierwszym ekranem; upewnij się, że hero image ładuje się bez opóźnień.
7. Optymalizacja CSS i JS Usuń nieużywane style CSS; dodaj async/defer do skryptów; uporządkuj strukturę plików w kierunku lekkiej i modułowej architektury; zminimalizuj CSS i JS.
8. Poprawa backendu i infrastruktury Skonfiguruj cache: serwerowy, aplikacyjny lub CDN; zaktualizuj silnik PHP/Node; ulepsz zapytania do bazy danych; wdroż CDN dla statycznych zasobów.
9. Testowanie po zmianach Uruchom Lighthouse w trybie mobilnym; przetestuj stronę w WebPageTest z wolniejszą siecią; sprawdź logi serwera pod kątem obciążeń; przetestuj wydajność na prawdziwym urządzeniu mobilnym.
10. Weryfikacja danych field Ponownie sprawdź raporty Search Console po kilku dniach; potwierdź poprawę wyników dla realnych użytkowników; monitoruj stronę regularnie w kolejnych tygodniach.