Core Web Vitals i szybkość strony — co realnie wpływa na pozycje
PageSpeed 95 punktów nie gwarantuje pierwszej strony w Google. Co naprawdę mierzą Core Web Vitals i które optymalizacje faktycznie działają.
Pamiętam rozmowę z klientem, który był dumny z wyniku 97/100 w PageSpeed Insights na desktopie. Problem w tym, że jego strona na telefonie ładowała się 7 sekund, LCP wynosił 4,2 sekundy, a CLS powodował, że przyciski skakały podczas scrollowania. Wynik w laboratoryjnym teście nie odzwierciedlał tego, czego doświadczali prawdziwi użytkownicy. Core Web Vitals to odpowiedź Google na ten problem — zestaw metryk opartych na realnych danych od użytkowników Chrome, nie na symulacji.
Trzy metryki Core Web Vitals — co mierzą i jakie są progi
- LCP (Largest Contentful Paint) — czas do wyrenderowania największego elementu widocznego na ekranie. Dobry wynik: poniżej 2,5 s. Wymaga poprawy: 2,5–4 s. Słaby: powyżej 4 s
- INP (Interaction to Next Paint) — czas reakcji strony na interakcję użytkownika (kliknięcie, tap). Zastąpił FID od marca 2024. Dobry: poniżej 200 ms. Wymaga poprawy: 200–500 ms
- CLS (Cumulative Layout Shift) — miara niestabilności wizualnej strony. Dobry wynik: poniżej 0,1. Wymaga poprawy: 0,1–0,25. Słaby: powyżej 0,25
Od maja 2021 roku Core Web Vitals są oficjalnym sygnałem rankingowym w Google — jako część tzw. Page Experience signals. W praktyce oznacza to, że przy wszystkich innych elementach równych (treść, linki, autorytet domeny) strona z lepszymi CWV ma przewagę nad słabszą. Nie jest to sygnał dominujący, ale przy wyrównanej konkurencji potrafi przesądzić o kilku pozycjach różnicy. Ważniejsze jest jednak to, że szybka strona po prostu lepiej konwertuje — każda dodatkowa sekunda ładowania to mierzalny spadek konwersji.
PageSpeed Insights vs. rzeczywiste dane użytkowników
PageSpeed Insights pokazuje dwa rodzaje danych: dane laboratoryjne (symulacja na throttled connection) i dane field (CrUX — Chrome User Experience Report, czyli realne dane od użytkowników). Google bierze pod uwagę te drugie. Dlatego zdarza się, że strona z niskim wynikiem laboratoryjnym ma dobre Core Web Vitals w GSC, albo odwrotnie. Zawsze sprawdzam oba źródła. Do głębszej analizy używam WebPageTest.org — daje pełny waterfall, pozwala testować z różnych lokalizacji i urządzeń oraz symulować różne prędkości sieci.
Co realnie możesz poprawić — lista konkretnych optymalizacji
- LCP — zoptymalizuj największy obraz na stronie: format WebP/AVIF, preload dla hero image, lazy loading wyłącz dla elementów above the fold
- LCP — popraw TTFB: szybszy hosting, cache na poziomie serwera (Redis, Varnish), CDN dla zasobów statycznych
- INP — odblokuj main thread: podziel długie taski JavaScript, odłóż ładowanie nieistotnych skryptów przez defer/async
- INP — usuń zbędne event listenery i ograicz re-rendery w komponentach React/Vue
- CLS — zawsze deklaruj width i height dla obrazów i elementów iframe
- CLS — rezerwuj miejsce dla dynamicznie ładowanych treści (reklamy, widgety, fonty)
- Fonty — używaj font-display: swap i preconnect do Google Fonts, lub hostuj lokalnie
- Zasoby zewnętrzne — ogranicz liczbę skryptów third-party (Google Tag Manager z 20 tagami potrafi zrujnować INP)
Priorytety — od czego zacząć, gdy nie można naprawić wszystkiego naraz
W praktyce największy zwrot z inwestycji daje optymalizacja LCP — szczególnie na stronach z dużymi obrazami hero. Prosta zmiana: preload obrazu nagłówkowego, konwersja do WebP i usunięcie zbędnych warstw CSS blokujących render potrafi zbić LCP z 4 sekund do 1,8 sekundy bez żadnych zmian w kodzie aplikacji. Drugim priorytetem jest zazwyczaj CLS — szczególnie bolesny na urządzeniach mobilnych, gdzie fonty i obrazy ładują się wolniej i 'skoki' są bardziej widoczne.
Jak monitorować Core Web Vitals na bieżąco
- Google Search Console > Podstawowe wskaźniki internetowe — dane field z podziałem na desktop i mobile
- PageSpeed Insights — szybki test laboratoryjny i field dla konkretnego URL
- WebPageTest.org — zaawansowana analiza, filmik z ładowania, waterfall zapytań
- Chrome DevTools zakładka Performance + Lighthouse — lokalne debugowanie
- web-vitals.js — biblioteka do mierzenia CWV w produkcji i wysyłania do Analytics
Core Web Vitals to nie jednorazowy projekt — to ciągły monitoring. Każda nowa wtyczka, nowy skrypt analityczny, nowy baner czy popup może obniżyć wyniki. Polecam ustawić miesięczne powiadomienia z Google Search Console, żeby od razu reagować, gdy metryki zaczną spadać do żółtych lub czerwonych wartości. Szybka strona to nie tylko SEO — to bezpośrednio lepsze doświadczenie użytkownika i wyższa konwersja.
