~/www cat analizuj-wydajnosc-swoich-stron-….md
WebPageTest – jak przetestować szybkość strony i czytać wykres waterfall
Jak korzystać z WebPageTest: ustawienia testu, metryki Core Web Vitals, wykres waterfall i filmstrip, a potem co poprawić, żeby strona ładowała się szybciej.

~ xad tldr analizuj-wydajnosc-swoich-…
- WebPageTest ładuje stronę w prawdziwej przeglądarce z wybranej lokalizacji i na wybranym łączu, a potem pokazuje każdy pobrany zasób na wykresie waterfall.
- Testuj z lokalizacji bliskiej użytkownikom, na profilu mobilnym 4G, z co najmniej 3 przebiegami — wynik bierz z mediany.
- Najważniejsze metryki to TTFB, Start Render, LCP, CLS i Total Blocking Time; WebPageTest pokazuje też filmstrip, czyli klatki ładowania co 100 ms.
- Na waterfallu szukaj długiego TTFB, zasobów blokujących renderowanie przed Start Render i późno ładowanego obrazu LCP.
- WebPageTest daje dane laboratoryjne — do oceny Core Web Vitals u prawdziwych użytkowników sprawdzaj też PageSpeed Insights i Search Console.
$ tree --spis-tresci
WebPageTest to narzędzie, które ładuje Twoją stronę w prawdziwej przeglądarce (Chrome, Edge lub Firefox) z wybranej lokalizacji i na symulowanym łączu, a potem pokazuje dokładnie, co działo się podczas ładowania: kolejność i czas pobierania każdego pliku na wykresie waterfall, klatki obrazu co 100 ms oraz metryki takie jak TTFB, LCP i CLS. Dzięki temu nie tylko wiesz, że strona jest wolna, ale widzisz, który zasób ją spowalnia.
Narzędzie działa pod adresem webpagetest.org i od 2020 r. należy do firmy Catchpoint (od grudnia 2025 r. części LogicMonitor). Poniżej pokazuję, jak ustawić sensowny test, jak czytać wyniki i jakie poprawki najczęściej wynikają z analizy.
Kiedy WebPageTest, a kiedy PageSpeed Insights
Oba narzędzia się uzupełniają, ale odpowiadają na różne pytania.
| PageSpeed Insights | WebPageTest | |
|---|---|---|
| Dane od prawdziwych użytkowników (CrUX) | Tak, z ostatnich 28 dni | Nie (test laboratoryjny) |
| Wybór lokalizacji i łącza | Nie | Tak |
| Wykres waterfall wszystkich zasobów | Nie | Tak, bardzo szczegółowy |
| Filmstrip i wideo ładowania | Zrzuty ekranu w raporcie | Tak, z porównaniem testów |
| Skrypty (np. logowanie przed testem) | Nie | Tak |
PageSpeed Insights mówi, czy masz problem z Core Web Vitals u realnych użytkowników. WebPageTest pozwala znaleźć przyczynę i sprawdzić, czy poprawka zadziałała. Szerszą listę testów, które warto zrobić na stronie (nie tylko szybkości), znajdziesz w artykule test strony internetowej — checklista.
Jak ustawić test w WebPageTest krok po kroku
- Wejdź na webpagetest.org i zaloguj się (darmowe konto daje miesięczny limit testów).
- Wpisz pełny adres testowanej podstrony. Testuj nie tylko stronę główną, ale też typowe podstrony: wpis blogowy, kartę produktu, kategorię.
- Wybierz lokalizację testu możliwie blisko Twoich użytkowników — dla polskiej strony najlepiej serwer w Europie Środkowej.
- Wybierz przeglądarkę i profil łącza. Do oceny doświadczenia mobilnego użyj emulacji telefonu i profilu 4G; do porównań między wersjami strony trzymaj się zawsze tego samego profilu.
- W ustawieniach zaawansowanych ustaw liczbę przebiegów (Number of Tests to Run) na co najmniej 3. Pojedynczy test bywa przypadkowy; WebPageTest wskaże przebieg medianowy.
- Zostaw włączony Repeat View (First View and Repeat View), żeby zobaczyć, jak strona ładuje się z cache przeglądarki.
- Uruchom test i poczekaj — przy kilku przebiegach i wolnym łączu trwa to od kilkudziesięciu sekund do kilku minut.
Przydatne opcje zaawansowane: blokowanie wybranych domen (szybki sposób, żeby sprawdzić, ile kosztuje np. czat albo piksel reklamowy), własne nagłówki HTTP, uruchomienie dodatkowego audytu Lighthouse oraz skrypt, który np. loguje się na konto przed właściwym pomiarem.
Wskazówka: Jeśli korzystasz z cache strony lub CDN, uruchom test dwukrotnie. Pierwsze wejście może trafić na „zimny” cache serwera i pokazać zawyżony TTFB, który nie odpowiada doświadczeniu większości użytkowników.
Najważniejsze metryki w podsumowaniu wyników
Na górze raportu zobaczysz tabelę metryk dla First View i Repeat View. Najważniejsze z nich:
| Metryka | Co oznacza | Na co wskazuje zły wynik |
|---|---|---|
| Time to First Byte (TTFB) | Czas do otrzymania pierwszego bajtu HTML | Wolny serwer, brak cache, przekierowania, daleka lokalizacja serwera |
| Start Render | Moment, gdy na ekranie pojawia się pierwszy piksel | CSS i JS blokujące renderowanie, wolne fonty |
| First Contentful Paint (FCP) | Pierwszy tekst lub obraz | Jak wyżej |
| Largest Contentful Paint (LCP) | Wyświetlenie największego elementu (zwykle zdjęcia lub nagłówka) | Duży lub późno odkryty obraz, lazy loading na pierwszym zdjęciu |
| Cumulative Layout Shift (CLS) | Przesunięcia układu | Obrazy bez wymiarów, wstrzykiwane reklamy i banery, fonty |
| Total Blocking Time (TBT) | Czas blokowania głównego wątku przez JavaScript | Ciężkie skrypty, wtyczki, kreatory stron, skrypty firm trzecich |
| Speed Index | Jak szybko wypełnia się widoczna część ekranu | Ogólna ocena postępu ładowania |
| Page Weight / Requests | Waga strony i liczba żądań | Nieskompresowane obrazy, nadmiar skryptów |
Dla porównania z progami Google: dobry LCP to do 2,5 s, dobry CLS do 0,1. TBT jest laboratoryjnym przybliżeniem responsywności — w danych od użytkowników Google mierzy ją wskaźnikiem INP (dobry wynik do 200 ms).
Jak czytać wykres waterfall
Waterfall to serce WebPageTest. Każdy wiersz to jeden zasób (HTML, CSS, JS, obraz, font), a poziomy pasek pokazuje, kiedy i jak długo był pobierany. Pasek dzieli się na kolorowe fazy:
- DNS — rozwiązywanie nazwy domeny,
- connect — nawiązanie połączenia TCP,
- SSL — negocjacja TLS,
- wait (TTFB) — oczekiwanie na pierwszy bajt odpowiedzi serwera,
- content download — pobieranie treści.
Pionowe linie oznaczają momenty takie jak Start Render, LCP czy zdarzenie onload. Legenda kolorów jest nad wykresem — warto ją mieć przed oczami przy pierwszych analizach.
Na co patrzeć po kolei:
- Pierwszy wiersz (dokument HTML). Jeśli faza oczekiwania jest długa, problem leży w serwerze: brak cache strony, wolne zapytania do bazy, słaby hosting, dużo wtyczek. Zwróć uwagę na przekierowania na początku (np.
http→https→www) — każde to dodatkowy obieg. - Zasoby przed linią Start Render. Wszystko, co jest pobierane przed pierwszym renderowaniem i ma ikonę blokowania, opóźnia wyświetlenie strony. Typowi winowajcy to wiele plików CSS, skrypty JS w
<head>bezdeferoraz fonty z zewnętrznych serwerów. - Obraz LCP. Znajdź wiersz z obrazem, który jest elementem LCP. Jeśli zaczyna się pobierać późno — np. dopiero po wykonaniu JavaScriptu lub z leniwym ładowaniem — to łatwa poprawka.
- Nowe połączenia do obcych domen. Każda nowa domena to DNS + connect + SSL. Dziesięć domen reklamowych i analitycznych potrafi dodać sekundy, szczególnie na łączu mobilnym.
- Czerwone wiersze. Błędy 404 i 5xx to pobrania, które nic nie dają, a zajmują czas.
Widok Connection View pokazuje te same dane pogrupowane według połączeń, a zakładka z wykresami procesora (CPU) — jak długo przeglądarka była zajęta wykonywaniem JavaScriptu.
Filmstrip i porównanie testów
W widoku Filmstrip zobaczysz klatki ekranu w odstępach np. 100 ms lub 0,5 s. To najlepszy sposób, żeby zrozumieć, co użytkownik widzi w praktyce: czy przez dwie sekundy patrzy na biały ekran, czy treść pojawia się szybko, a potem przeskakuje (CLS).
Możesz zaznaczyć kilka testów i porównać je obok siebie — klatka po klatce lub jako wideo. To idealne narzędzie do pokazania efektu optymalizacji: test „przed” i „po” na tej samej lokalizacji i tym samym łączu mówi więcej niż sam wynik punktowy. Ten sam mechanizm przyda się do porównania Twojej strony z konkurencją.
Najczęstsze problemy i co poprawić
Na podstawie tego, co pokaże waterfall, najczęściej wdraża się kilka poprawek:
- Długi TTFB: włącz cache strony (w WordPressie wtyczka cache lub cache po stronie serwera), aktualną wersję PHP z OPcache, ogranicz ciężkie wtyczki. Jeśli strona ma użytkowników z wielu krajów, dodaj CDN. W WordPressie sprawdź też, czy zadania WP-Cron nie uruchamiają się przy wizytach — więcej w tekście WP-Cron vs Cron.
- Późny LCP: nie stosuj
loading="lazy"dla pierwszego dużego zdjęcia, dodaj mufetchpriority="high", serwuj je w AVIF lub WebP i w rozmiarze dopasowanym do ekranu (srcset). - Zasoby blokujące renderowanie: skrypty oznacz jako
defer, krytyczny CSS osadź w HTML, resztę ładuj później; fonty hostuj u siebie i używajfont-display: swap. - Wysoki TBT: usuń nieużywane skrypty i wtyczki, przenieś skrypty firm trzecich na później lub ładuj je dopiero po interakcji (np. czat po kliknięciu).
- Wysoki CLS: nadaj obrazom i ramkom
widthiheight(lubaspect-ratio), zarezerwuj miejsce na banery i reklamy. - Brak kompresji i cache: włącz kompresję Brotli lub gzip dla HTML, CSS i JS, ustaw długie nagłówki
Cache-Controldla plików statycznych z wersjonowaną nazwą, upewnij się, że serwer obsługuje HTTP/2 lub HTTP/3.
Szybkość ma wpływ także na widoczność w Google, choć nie jest najważniejszym czynnikiem rankingowym. Przy sklepach internetowych warto połączyć te zmiany z resztą prac SEO, opisanych w poradniku SEO dla sklepu internetowego.
Inne narzędzia do pomiaru wydajności
- Lighthouse — wbudowany w narzędzia deweloperskie Chrome (F12 → zakładka Lighthouse); szybki audyt wydajności, dostępności i SEO.
- Panel Performance w Chrome DevTools — dokładny zapis pracy przeglądarki, przydatny do szukania ciężkiego JavaScriptu.
- PageSpeed Insights i raport Core Web Vitals w Search Console — dane od prawdziwych użytkowników.
- GTmetrix — raport oparty na Lighthouse z waterfallem i wyborem lokalizacji (część funkcji płatna).
- Pingdom Website Speed Test — prosty test z waterfallem, plus płatny monitoring dostępności.
Google Analytics 4 nie ma wbudowanych raportów czasu ładowania stron, jakie znano z Universal Analytics — do stałego monitoringu wydajności u użytkowników lepiej nadają się dane CrUX, Search Console albo narzędzia RUM (Real User Monitoring).
Jak wpleść WebPageTest w regularną pracę nad stroną
Zapisz linki do testów kluczowych podstron jako punkt odniesienia. Po każdej większej zmianie — nowym motywie, wtyczce, skrypcie marketingowym — powtórz test z tymi samymi ustawieniami i porównaj filmstripy. Raz w miesiącu zestaw te wyniki z raportem Core Web Vitals w Search Console. Jeśli dane laboratoryjne się poprawiają, a dane od użytkowników nie, szukaj problemu w warunkach, których test nie odwzorowuje: wolniejszych telefonach, zgodach cookies i skryptach ładowanych dopiero po interakcji.
~ man faq
Najczęściej zadawane pytania
Czy WebPageTest jest darmowy?
Podstawowe testy można wykonywać za darmo w ramach planu z miesięcznym limitem, po założeniu konta. Część funkcji, np. eksperymenty optymalizacyjne bez zmian w kodzie czy większa liczba testów i API, wymaga płatnego planu.
Czym różni się WebPageTest od PageSpeed Insights?
PageSpeed Insights pokazuje dane od prawdziwych użytkowników Chrome z ostatnich 28 dni oraz jeden test Lighthouse. WebPageTest daje szczegółową diagnozę jednego ładowania: waterfall wszystkich zasobów, filmstrip, wybór lokalizacji, przeglądarki i łącza oraz porównania testów.
Co to jest First View i Repeat View w WebPageTest?
First View to pierwsze wejście na stronę z pustą pamięcią podręczną. Repeat View to ponowne załadowanie, gdy część zasobów jest już w cache przeglądarki. Duża różnica między nimi pokazuje, jak dobrze działa cache.
Jaki TTFB jest dobry?
Google jako orientacyjny dobry próg podaje około 0,8 s dla TTFB mierzonego u użytkowników. W teście laboratoryjnym z bliskiej lokalizacji strona z cache powinna odpowiadać wyraźnie szybciej; kilka sekund oznacza zwykle brak cache lub wolny backend.
Ten artykuł jest częścią tematów
$ whoami
Założyciel i redaktor XAD.pl. Pisze o sieciach, bezpieczeństwie IT, administracji systemami Windows i Linux oraz o sprzęcie, który sprawia ludziom problemy na co dzień.


