Co to jest PageSpeed Insights i jak poprawnie analizować szybkość strony?
Najważniejsze w skrócie
PageSpeed Insights pozwala szybko sprawdzić wydajność strony, ale jedna liczba od 0 do 100 nie mówi całej prawdy. Wyjaśniam, czym różnią się dane laboratoryjne od wyników prawdziwych użytkowników, jak czytać LCP, INP i CLS oraz które sugestie naprawdę warto poprawiać.
W tym haśle
PageSpeed Insights to narzędzie Google służące do analizy wydajności stron internetowych. Po podaniu adresu URL otrzymuję między innymi informacje o szybkości ładowania, responsywności interfejsu, stabilności układu oraz potencjalnych problemach technicznych. Najbardziej widocznym elementem raportu jest wynik Performance w skali od 0 do 100, ale właśnie ta liczba jest również najczęściej źle interpretowaną częścią całego narzędzia.
PageSpeed Insights nie jest testem, który wydaje prosty werdykt „strona jest szybka” albo „strona jest wolna”. Łączy różne rodzaje danych i pokazuje problemy, które trzeba później zinterpretować w kontekście konkretnego serwisu. Strona z wynikiem 100 może nadal mieć problemy biznesowe i techniczne, a strona osiągająca 80 punktów nie musi wymagać przebudowy. PageSpeed jest przede wszystkim narzędziem diagnostycznym, a nie grą polegającą na zdobyciu maksymalnej liczby punktów.
Co to jest PageSpeed Insights?
PageSpeed Insights, często skracany do PSI, to bezpłatne narzędzie Google analizujące wydajność konkretnej podstrony. Po wpisaniu adresu narzędzie wykonuje test i prezentuje między innymi:- dane dotyczące rzeczywistych użytkowników, jeżeli są dostępne,
- wyniki testu laboratoryjnego Lighthouse,
- ocenę wydajności,
- wybrane metryki szybkości i responsywności,
- problemy wpływające na ładowanie strony,
- diagnostykę zasobów CSS i JavaScript,
- informacje dotyczące obrazów i fontów,
- sugestie możliwych optymalizacji.
Jak uruchomić test PageSpeed Insights?
Wystarczy wejść do PageSpeed Insights, podać pełny adres podstrony i uruchomić analizę. Ważne jest słowo „podstrony”. PageSpeed Insights nie wykonuje jednego zbiorczego testu całego serwisu. Jeżeli analizuję stronę główną, wynik opisuje stronę główną. Nie oznacza to automatycznie, że identycznie działa:- karta produktu,
- kategoria produktów,
- blog,
- formularz kontaktowy,
- landing page,
- koszyk,
- checkout,
- panel klienta.
Co oznacza wynik PageSpeed od 0 do 100?
Najbardziej charakterystyczna liczba w raporcie pochodzi z Lighthouse. To syntetyczna ocena wydajności wyliczana na podstawie kilku metryk mierzonych podczas konkretnego testu laboratoryjnego. Wynik jest prezentowany w skali od 0 do 100. W uproszczeniu:- 90 do 100 oznacza dobry wynik,
- 50 do 89 oznacza wynik wymagający uwagi,
- 0 do 49 oznacza słabą wydajność laboratoryjną.
Czy 100/100 w PageSpeed oznacza idealną stronę?
Nie. To jeden z najważniejszych mitów związanych z PageSpeed Insights. Wynik 100 oznacza, że w konkretnym uruchomieniu testu laboratoryjnego strona bardzo dobrze wypadła według zestawu metryk i sposobu ich ważenia stosowanego przez Lighthouse. Nie oznacza, że:- każdy użytkownik zobaczy stronę równie szybko,
- serwer nigdy nie będzie przeciążony,
- wszystkie podstrony mają podobną wydajność,
- strona nie posiada błędów JavaScript,
- proces zakupowy działa prawidłowo,
- formularze są wygodne,
- SEO zostało dobrze wdrożone,
- strona dobrze konwertuje,
- kod jest łatwy w dalszym utrzymaniu.
PageSpeed Insights pokazuje dwa różne rodzaje danych
To klucz do poprawnego czytania raportu. PageSpeed może prezentować:- dane rzeczywistych użytkowników,
- dane laboratoryjne.
Dane rzeczywistych użytkowników
Field data, czyli dane terenowe, pochodzą z prawdziwych wizyt użytkowników Chrome i są agregowane w Chrome User Experience Report. Pokazują, jak strona działała w rzeczywistych warunkach. Użytkownicy mogą korzystać z różnych:- telefonów,
- komputerów,
- procesorów,
- połączeń internetowych,
- lokalizacji,
- wersji przeglądarki,
- stanów pamięci podręcznej.
Dane laboratoryjne
Lab data pochodzą z testu Lighthouse uruchamianego podczas analizy. Narzędzie odtwarza określone warunki urządzenia i połączenia, a następnie obserwuje proces ładowania strony. Laboratorium ma bardzo dużą zaletę. Mogę wykonać test teraz, zmienić kod i uruchomić go ponownie kilka minut później. Dzięki temu szybko sprawdzam, czy konkretna modyfikacja wpłynęła na wynik. Dane rzeczywistych użytkowników nie aktualizują się w ten sposób natychmiast. Dlatego oba rodzaje pomiaru mają inne zastosowanie. Field data mówią mi, jak wygląda rzeczywistość. Lab data pomagają mi szukać przyczyny.Dlaczego PageSpeed pokazuje świetny wynik, a Core Web Vitals są słabe?
Bo nie jest to ten sam pomiar. Wynik Performance 95 może pochodzić z pojedynczego testu Lighthouse wykonanego przed chwilą. Ocena Core Web Vitals może natomiast wynikać z dużej liczby rzeczywistych wizyt z wcześniejszego okresu. Możliwa jest więc sytuacja, w której właśnie zoptymalizowałem stronę. Lighthouse od razu pokazuje poprawę. Dane rzeczywistych użytkowników nadal zawierają jednak wizyty sprzed optymalizacji. Jest również możliwa sytuacja odwrotna. Pojedynczy test laboratoryjny może wypaść gorzej przez chwilowe warunki, mimo że większość prawdziwych użytkowników regularnie otrzymuje dobry wynik. Dlatego nie zestawiam tych dwóch wartości tak, jakby mierzyły dokładnie to samo.Co to są Core Web Vitals w PageSpeed Insights?
Core Web Vitals to zestaw trzech podstawowych wskaźników opisujących wybrane elementy doświadczenia użytkownika. Obecnie są to:- LCP, czyli Largest Contentful Paint,
- INP, czyli Interaction to Next Paint,
- CLS, czyli Cumulative Layout Shift.
Co oznacza LCP?
Largest Contentful Paint mierzy czas, po którym użytkownik widzi największy istotny element treści znajdujący się w początkowym obszarze strony. Często będzie nim:- duże zdjęcie hero,
- baner,
- grafika produktu,
- zdjęcie wyróżniające,
- duży blok tekstu.
- wolnej odpowiedzi serwera,
- zbyt dużym pliku graficznym,
- błędnym priorytecie ładowania,
- blokującym CSS,
- JavaScripcie,
- zewnętrznym foncie,
- źle wdrożonym lazy loadingu,
- łańcuchu kolejnych żądań.
Co oznacza INP?
Interaction to Next Paint mierzy responsywność interfejsu. Użytkownik wykonuje działanie, na przykład klika przycisk, otwiera menu albo wybiera wariant produktu. Strona powinna szybko pokazać efekt tej interakcji. Dobry INP wynosi do około 200 milisekund. Problem pojawia się wtedy, gdy przeglądarka jest zajęta wykonywaniem innych zadań i nie może szybko obsłużyć kliknięcia. Częstą przyczyną jest zbyt dużo JavaScriptu. W rozbudowanych stronach i sklepach mogą jednocześnie działać:- slider,
- popup,
- chat,
- analityka,
- remarketing,
- mapa,
- filtry,
- wyszukiwarka,
- animacje,
- system zgód,
- zewnętrzne widgety.
Co oznacza CLS?
Cumulative Layout Shift mierzy nieoczekiwane przesunięcia elementów strony. Klasyczny przykład: użytkownik chce kliknąć produkt, ale w tym momencie ładuje się baner znajdujący się wyżej. Cała zawartość przesuwa się w dół i użytkownik trafia w inny element. Dobry CLS powinien wynosić maksymalnie około 0,1. Problemy często wynikają z:- obrazów bez zarezerwowanych wymiarów,
- ładowanych później reklam,
- banerów cookies,
- fontów zmieniających rozmiar tekstu,
- pasków promocyjnych,
- dynamicznych formularzy,
- elementów dołączanych przez JavaScript.
Co to jest FCP?
First Contentful Paint mierzy moment pojawienia się pierwszej treści na ekranie. Może to być tekst, obraz, SVG albo inny widoczny element. FCP pomaga ocenić, jak długo użytkownik patrzy na pustą stronę. Nie należy jednak mylić go z LCP. FCP pyta mniej więcej: kiedy pojawiło się cokolwiek? LCP pyta: kiedy pojawiła się główna treść? Strona może bardzo szybko wyświetlić logo, osiągając dobry FCP, a później przez kilka sekund ładować właściwe hero. Dlatego jeden wskaźnik nie wystarcza do opisania całego procesu.Co to jest TBT?
Total Blocking Time pokazuje, jak długo główny wątek przeglądarki był blokowany przez długie zadania podczas laboratoryjnego testu. To bardzo przydatna metryka podczas diagnozowania JavaScriptu. Jeżeli przeglądarka przez długi czas wykonuje skrypty, użytkownik może widzieć stronę, ale interfejs nie reaguje prawidłowo. Kliknięcie menu pozornie nic nie robi. Przycisk reaguje z opóźnieniem. Animacja zaczyna się zacinać. TBT jest metryką laboratoryjną i nie jest jednym z trzech Core Web Vitals, ale potrafi pomóc znaleźć przyczyny problemów z responsywnością.Co to jest Speed Index?
Speed Index próbuje opisać, jak szybko wizualna zawartość strony pojawia się podczas ładowania. Nie chodzi więc wyłącznie o jeden element. Narzędzie obserwuje, jak kolejne części widoku są renderowane w czasie. Dwie strony mogą zakończyć ładowanie w podobnym momencie, ale jedna będzie stopniowo pokazywać treść od początku, a druga przez kilka sekund pozostanie prawie pusta i dopiero później wyświetli większość elementów. Dla użytkownika te doświadczenia są zupełnie inne.Dlaczego wyniki PageSpeed zmieniają się pomiędzy testami?
To normalne. Test nie odbywa się w próżni. Na wynik mogą wpływać między innymi:- czas odpowiedzi serwera,
- aktualne obciążenie hostingu,
- cache,
- zewnętrzne API,
- czas odpowiedzi usług trzecich,
- kolejność wykonywania skryptów,
- dynamiczne treści,
- banery,
- reklamy,
- chwilowe różnice w środowisku testowym.
PageSpeed na telefonie i komputerze
Wyniki mobile i desktop potrafią znacząco się różnić. To również jest normalne. Telefon może posiadać:- słabszy procesor,
- wolniejsze połączenie,
- mniej pamięci,
- inne wymiary ekranu,
- inne obrazy,
- inne elementy interfejsu.
Dlaczego mobilny PageSpeed jest zwykle niższy?
Test mobilny celowo stawia stronie trudniejsze warunki niż typowy szybki komputer podłączony do światłowodu. Chodzi o ujawnienie problemów, które na wydajnym sprzęcie są łatwe do przeoczenia. Ciężki JavaScript może być prawie niewidoczny na mocnym procesorze. Na słabszym telefonie dokładnie ten sam kod zaczyna blokować interakcję. Zdjęcie ważące kilka megabajtów może pobrać się szybko na szybkim łączu. W sieci komórkowej różnica staje się bardzo wyraźna. Dlatego słabszy wynik mobilny nie oznacza, że PageSpeed „czepia się telefonu”. Pokazuje raczej, jak bardzo projekt polega na zasobach urządzenia użytkownika.Co oznaczają Opportunities i Diagnostics?
PageSpeed Insights pokazuje szereg sugestii i elementów diagnostycznych. Mogą dotyczyć między innymi:- nieużywanego JavaScriptu,
- nieużywanego CSS,
- rozmiaru obrazów,
- formatów grafik,
- blokowania renderowania,
- czasu odpowiedzi serwera,
- dużych zasobów sieciowych,
- długich zadań JavaScript,
- łańcuchów żądań,
- cache przeglądarki.
Czy trzeba poprawić każdy komunikat PageSpeed?
Nie. To jedna z najważniejszych zasad pracy z tym narzędziem. Każda optymalizacja ma koszt. Może wymagać:- czasu programisty,
- zmiany architektury,
- przebudowy funkcji,
- usunięcia narzędzia zewnętrznego,
- zmiany sposobu ładowania zasobów,
- dodatkowych testów.
Co oznacza „Reduce unused JavaScript”?
Narzędzie zauważyło, że pobierana jest część kodu JavaScript, która nie była potrzebna podczas analizowanego fragmentu wizyty. W WordPressie jest to bardzo częste. Motyw albo wtyczka może ładować swój skrypt na każdej podstronie, mimo że konkretna funkcja występuje tylko w jednym miejscu. Przykładowo biblioteka slidera może zostać pobrana również na stronie, na której nie istnieje żaden slider. Rozbudowana wtyczka formularzy może ładować kod na stronach bez formularza. Nie oznacza to jednak, że wystarczy znaleźć plik na liście i go usunąć. Najpierw trzeba sprawdzić zależności. Kod pozornie niewykorzystywany podczas testu może być potrzebny po późniejszej interakcji użytkownika.Co oznacza „Eliminate render-blocking resources”?
Przeglądarka natrafiła na zasoby, które musi pobrać lub przetworzyć, zanim będzie mogła kontynuować renderowanie ważnej części strony. Najczęściej dotyczy to CSS i JavaScriptu. Optymalizacja może obejmować:- zmianę kolejności ładowania,
- wydzielenie krytycznych stylów,
- opóźnienie części skryptów,
- usunięcie niepotrzebnych zależności.
Co oznacza problem z obrazami?
Obrazy są jedną z najczęstszych przyczyn ciężkiego frontendu. PageSpeed może zasugerować:- zmniejszenie wymiarów,
- lepszą kompresję,
- użycie nowocześniejszego formatu,
- lazy loading,
- prawidłowe dopasowanie obrazu do ekranu.
Czy lazy loading zawsze poprawia PageSpeed?
Nie. Lazy loading oznacza opóźnione pobieranie zasobu do momentu, gdy jest potrzebny. Działa świetnie w przypadku zdjęć znajdujących się daleko poniżej pierwszego ekranu. Może jednak zaszkodzić, jeśli zostanie zastosowany do najważniejszego obrazu widocznego od razu. Jeżeli główne zdjęcie hero jest elementem LCP, opóźnianie jego pobierania może spowodować dokładnie odwrotny efekt. Dlatego nie włączam lazy loadingu bezmyślnie dla wszystkich obrazów.PageSpeed a cache
Cache może znacząco poprawić wydajność strony. Nie jest jednak uniwersalnym rozwiązaniem wszystkich problemów. Jeżeli serwer generuje tę samą publiczną stronę przy każdej wizycie, cache może ograniczyć ilość wykonywanej pracy i skrócić czas odpowiedzi. Nie naprawi natomiast automatycznie:- ciężkich obrazów,
- dużej ilości JavaScriptu w przeglądarce,
- niestabilnego układu,
- źle przygotowanych fontów,
- błędów interfejsu.
PageSpeed a hosting
Hosting wpływa przede wszystkim na część pracy wykonywaną po stronie serwera. Jeżeli serwer długo przygotowuje odpowiedź, użytkownik zaczyna cały proces z opóźnieniem. Dobry hosting może pomóc, ale również tutaj nie działa magia. Przeniesienie strony na znacznie szybszy serwer nie naprawi automatycznie frontendu zawierającego kilka megabajtów JavaScriptu i ogromne zdjęcia. Podobnie perfekcyjnie zoptymalizowany frontend może nadal czekać na bardzo wolną aplikację po stronie serwera. Wydajność jest wynikiem całego łańcucha.PageSpeed a CDN
CDN może dostarczać wybrane zasoby z infrastruktury położonej bliżej użytkownika i ograniczać obciążenie serwera źródłowego. Może to poprawić czasy ładowania szczególnie wtedy, gdy użytkownicy znajdują się w różnych lokalizacjach. Nie oznacza to jednak, że samo podłączenie CDN automatycznie daje 100 punktów. Jeżeli przesyłam użytkownikowi zbyt duży plik, CDN może dostarczyć go sprawniej, ale plik nadal pozostaje zbyt duży. Najpierw trzeba zrozumieć problem. Później dobiera się rozwiązanie.PageSpeed a WordPress
WordPress sam w sobie nie ma jednego stałego wyniku PageSpeed. Można zbudować na nim bardzo szybką stronę. Można również stworzyć niezwykle ciężki serwis. Na końcową wydajność wpływają między innymi:- motyw,
- wtyczki,
- hosting,
- liczba zapytań,
- sposób budowania szablonów,
- obrazy,
- zewnętrzne skrypty,
- cache,
- jakość własnego kodu.
Czy duża liczba wtyczek obniża PageSpeed?
Nie automatycznie. Tak samo jak opisuję to szerzej przy wtyczkach WordPress, ważniejsza od samej liczby dodatków jest ich jakość i sposób działania. Jedna ciężka wtyczka może dokładać więcej zasobów niż dziesięć prostych. Problemem są dodatki, które:- ładują zasoby wszędzie,
- wykonują kosztowne operacje,
- generują wiele zapytań,
- dodają duże biblioteki,
- powielają funkcje innych narzędzi.
PageSpeed a Elementor
Elementor pozwala szybko budować rozbudowane layouty, ale sposób użycia ma duży wpływ na ilość generowanego frontendu. Problemem mogą być nadmiernie złożone struktury, duża liczba widgetów, dodatki do Elementora i funkcje ładowane globalnie. Nie oznacza to, że każdą stronę z Elementorem trzeba przepisać od zera. Najpierw sprawdzam, co faktycznie odpowiada za słaby wynik. Czasami problemem jest jeden obraz hero. Czasami zewnętrzny chat. Czasami motyw. Czasami kilkanaście dodatków ładowanych jednocześnie. A czasami ograniczeniem staje się sama architektura projektu.PageSpeed w WooCommerce
WooCommerce jest trudniejszym środowiskiem niż prosta strona informacyjna. Sklep musi obsługiwać między innymi:- produkty,
- warianty,
- ceny,
- stany magazynowe,
- sesję klienta,
- koszyk,
- checkout,
- płatności,
- dostawy,
- analitykę.
Czy PageSpeed wpływa na SEO?
Szybkość i doświadczenie użytkownika są częścią jakości technicznej strony, ale nie istnieje prosty wzór: 100 PageSpeed = pierwsze miejsce w Google. Tak to nie działa. Strona musi również posiadać:- wartościową treść,
- prawidłową strukturę,
- odpowiednie linkowanie,
- poprawną indeksację,
- dopasowanie do intencji użytkownika.
Czy wynik PageSpeed wpływa na sprzedaż?
Nie bezpośrednio w taki sposób, że poprawa z 84 do 94 punktów automatycznie zwiększy sprzedaż o określony procent. Znacznie ważniejsze są konkretne doświadczenia użytkownika. Jeżeli klient:- czeka kilka sekund na produkt,
- nie może szybko otworzyć menu,
- klika przycisk, który nie reaguje,
- trafia w zły element przez przesunięcie layoutu,
- rezygnuje przed załadowaniem checkoutu,
Dlaczego strona może być wolna mimo dobrego PageSpeed?
PageSpeed bada określony adres i określone scenariusze. Nie wykonuje całej ścieżki użytkownika. Może nie zauważyć problemu pojawiającego się:- po zalogowaniu,
- po zastosowaniu filtra,
- po dodaniu produktu do koszyka,
- po otwarciu popupu,
- po załadowaniu danych z API,
- podczas wyszukiwania,
- przy dużym obciążeniu serwera.
Dlaczego strona może wyglądać na szybką mimo słabego wyniku?
Może się tak zdarzyć, szczególnie podczas testowania na własnym komputerze. Administrator często posiada:- bardzo szybkie łącze,
- wydajny komputer,
- nowoczesną przeglądarkę,
- pliki zapisane już w cache.
Jak prawidłowo testować stronę w PageSpeed?
Najpierw wybieram reprezentatywne podstrony. Nie tylko homepage. W serwisie firmowym mogą to być:- strona główna,
- oferta,
- ważny landing page,
- artykuł.
- strona główna,
- kategoria,
- produkt,
- koszyk,
- checkout.
Jak poprawiać PageSpeed krok po kroku?
Nie włączam dwudziestu optymalizacji jednocześnie. Jeżeli po zmianie coś się zepsuje, nie będę wiedział, która modyfikacja była przyczyną. Zaczynam od największego problemu. Jeżeli LCP jest słaby, analizuję element LCP. Jeżeli TBT jest ogromny, sprawdzam JavaScript. Jeżeli CLS jest słaby, szukam przesuwających się elementów. Jeżeli serwer odpowiada wolno, zaczynam od backendu, hostingu i cache. Po każdej większej zmianie wykonuję kolejny test. Porównuję wyniki. Sprawdzam również działanie samej strony. Optymalizacja bez testów funkcjonalnych jest proszeniem się o problemy.Najczęstsze błędy podczas optymalizacji PageSpeed
Polowanie na 100 punktów
Projekt osiąga już bardzo dobrą wydajność, ale kolejne godziny są poświęcane na zdobycie ostatnich dwóch punktów. Koszt pracy zaczyna być większy niż potencjalna korzyść.Testowanie tylko strony głównej
Homepage otrzymuje 98 punktów, więc cały serwis zostaje uznany za szybki. Nikt nie sprawdza kategorii, produktów ani checkoutu.Włączanie wszystkich funkcji wtyczki optymalizacyjnej
Minifikacja, opóźnianie, łączenie, lazy loading i usuwanie CSS są uruchamiane jednocześnie. PageSpeed rośnie. Menu przestaje działać.Usuwanie potrzebnych funkcji dla punktów
Wyłączenie narzędzia poprawia wynik, więc funkcja jest kasowana bez sprawdzenia jej znaczenia biznesowego. Szybsza strona, która gorzej sprzedaje, nie jest sukcesem optymalizacyjnym.Ignorowanie danych rzeczywistych
Właściciel widzi zielone 98 w Lighthouse i przestaje analizować Core Web Vitals. Tymczasem prawdziwi użytkownicy nadal mają problemy.Ignorowanie mobile
Desktop wygląda idealnie, więc temat zostaje zamknięty. Większość klientów korzysta jednak z telefonu.Zmiana wielu rzeczy jednocześnie
Po optymalizacji wynik wzrósł, ale nie wiadomo dlaczego. Albo wynik spadł i również nie wiadomo dlaczego. Dobra diagnostyka wymaga kontrolowania zmian.PageSpeed nie zastępuje audytu wydajności
Raport PageSpeed jest świetnym punktem startowym. Nie widzi jednak całego systemu. W prawdziwym audycie technicznym mogę dodatkowo sprawdzić:- sieć żądań w przeglądarce,
- kod JavaScript,
- zapytania do bazy danych,
- PHP,
- logi serwera,
- konfigurację cache,
- CDN,
- działanie API,
- obciążenie hostingu,
- wtyczki,
- konflikty,
- zachowanie dynamicznych funkcji.
PageSpeed a strony statyczne
Architektura strony ma duże znaczenie dla jej wydajności. W serwisie statycznym gotowy HTML może być przygotowany wcześniej i dostarczony użytkownikowi bez generowania całej strony przy każdej wizycie. Eliminuje to część pracy wykonywanej przez dynamiczny backend. Nie oznacza jednak, że każda strona statyczna automatycznie jest szybka. Nadal można dodać:- ogromne obrazy,
- ciężkie animacje,
- duże biblioteki JavaScript,
- zewnętrzne widgety,
- źle ładowane fonty.
