Krótka odpowiedź: strona zwykle nie jest wolna dlatego, że serwer jest za słaby. Jest wolna, bo przy każdym wejściu wykonuje za dużo pracy i robi to za daleko od użytkownika. Dlatego przeniesienie tej samej strony na droższy hosting często daje mniej, niż obiecuje sprzedawca - a czasem nie daje nic.
Trzy rzeczy, które naprawdę decydują o szybkości
1. Odległość
Serwer w Warszawie odpowiada użytkownikowi z Gdyni w kilkadziesiąt milisekund. Temu samemu użytkownikowi z Berlina - wolniej, z Nowego Jorku - jeszcze wolniej, bo dane fizycznie muszą przebyć drogę tam i z powrotem. Nie da się tego przyspieszyć lepszym procesorem.
Rozwiązaniem jest sieć brzegowa: strona jest serwowana z węzła najbliższego użytkownikowi. Cloudflare ma takich lokalizacji ponad trzysta. Dla firmy działającej lokalnie brzmi to jak przesada - do momentu, w którym trafia jej się klient z zagranicy albo Google zaczyna sprawdzać stronę z innego kontynentu.
2. Ile pracy serwer wykonuje przy każdym wejściu
Tu leży najczęstsza przyczyna. Typowa strona na WordPressie z kilkunastoma wtyczkami przy każdym wejściu uruchamia kod PHP każdej z nich i wykonuje od kilkudziesięciu do kilkuset zapytań do bazy danych. Zanim odezwie się pierwszy bajt strony, upływa czas, którego nie widać w żadnej ładnej animacji.
Dlatego cache potrafi zdziałać cuda: nagle ta sama strona serwuje gotowy plik zamiast liczyć wszystko od nowa. I dlatego cache bywa też plastrem na złamaną nogę - działa, dopóki treść się nie zmienia.
3. Ile kodu ląduje w przeglądarce
Ten etap widzi użytkownik. Zdjęcie 4 MB wrzucone prosto z aparatu, trzy biblioteki animacji, slider, licznik, czat, dwa systemy analityki i webfont ładowany z zewnętrznego serwera - to wszystko przeglądarka musi pobrać, przetworzyć i narysować. Telefon w LTE robi to kilka razy wolniej niż Twój komputer w biurze.
Co znaczą liczby z PageSpeed
Google mierzy trzy rzeczy z perspektywy człowieka, a nie serwera:
| Wskaźnik | Co mierzy | Po ludzku |
|---|---|---|
| LCP | czas do wyświetlenia największego elementu | „kiedy widzę, że strona się załadowała" |
| CLS | przesunięcia układu w trakcie ładowania | „czy treść skacze mi pod palcem" |
| INP | czas reakcji na kliknięcie | „czy strona reaguje, kiedy w nią stukam" |
Do tego TTFB - czas do pierwszego bajtu, czyli ile trwa, zanim serwer w ogóle zacznie odpowiadać. To jest ten wskaźnik, który poprawia sieć brzegowa, i ten, którego nie poprawi ani nowy motyw, ani lżejsze zdjęcia.
Jak to wygląda u mnie
Strona, którą właśnie czytasz, stoi na tym samym silniku, co strony NEO, które robię klientom. Aktualny pomiar PageSpeed dla itama.pl: 99 dla wydajności i po 100 punktów za dostępność, dobre praktyki i SEO, przy trzech na trzy zaliczonych wskaźnikach Core Web Vitals.
Nie piszę tego dla pochwały, tylko dlatego, że wykonawca strony powinien umieć pokazać wynik swojej własnej witryny. To jedyne portfolio wydajności, którego nie da się podrasować w Photoshopie. Jeśli ktoś sprzedaje Ci „błyskawiczne strony", zmierz jego własną - zajmuje to trzydzieści sekund.
Co realnie daje ten wynik: renderowanie na krawędzi sieci zamiast na jednym serwerze, kilka zapytań do bazy zamiast kilkuset przez warstwę wtyczek, zdjęcia w nowoczesnych formatach, fonty serwowane z własnej domeny i wczytywane z wyprzedzeniem oraz brak frameworka, który przeglądarka musiałaby uruchomić, żeby narysować tekst.
Czego nie naprawi zmiana hostingu
- zdjęć 4 MB - ten sam plik pobiera się tak samo długo na każdym serwerze,
- dwudziestu wtyczek - jadą razem ze stroną,
- karuzeli na całą szerokość ekranu ładowanej przed treścią,
- skryptów firm trzecich - czat, piksele, mapy, widgety opinii; każdy z nich to cudzy serwer w Twojej ścieżce ładowania,
- braku cache'u dla plików statycznych - jeśli przeglądarka za każdym razem pobiera te same fonty i obrazki od zera, to nie jest problem mocy serwera, tylko konfiguracji.
Od czego zacząć, jeśli Twoja strona jest wolna
- Zmierz ją: PageSpeed Insights, wynik dla telefonu, nie dla komputera. Wersja mobilna to ta, którą widzi większość ludzi.
- Sprawdź największe zdjęcie na stronie głównej. Jeśli waży więcej niż 300 KB, masz pierwszy punkt do poprawy.
- Policz skrypty firm trzecich. Każdy usunięty to realny zysk.
- Sprawdź TTFB. Powyżej 600 ms problem jest po stronie serwera i wtedy - dopiero wtedy - rozmowa o hostingu ma sens.
Nie chcesz się w to bawić? Wyślij mi adres swojej strony. Odeślę pomiar i listę trzech rzeczy, które w Twoim przypadku dadzą najwięcej - w kolejności od największego zysku. Za samo sprawdzenie nic nie biorę.
Najczęstsze pytania
Czy szybsza strona realnie zwiększa sprzedaż? Szybkość nie sprzedaje sama z siebie, ale wolna strona kosztuje: część osób wychodzi, zanim cokolwiek zobaczy. Najbardziej boli to na telefonie, poza zasięgiem Wi-Fi.
Czy wynik 100 punktów jest potrzebny? Nie. Liczy się to, żeby strona zaliczała Core Web Vitals i otwierała się szybko na telefonie. Ostatnie punkty w PageSpeed bywają kosmetyką.
Mam WordPressa, czy da się go przyspieszyć? Zwykle tak, i to sporo: cache, kompresja zdjęć, usunięcie zbędnych wtyczek i skryptów. Nie zamieni się w stronę statyczną, ale różnica bywa dwukrotna.
Czy hosting w Polsce jest szybszy dla polskich klientów? Dla samego serwera - tak, jest blisko. Sieć brzegowa daje jednak to samo lokalnie i dodatkowo działa dla użytkowników spoza kraju.