Wolna strona prawie nigdy nie ma jednej przyczyny. Zwykle nakłada się kilka warstw naraz, od serwera i wersji PHP, przez brak pamięci podręcznej, po zdjęcia wgrane prosto z aparatu. Kolejność pracy ma tu znaczenie, bo pierwsze trzy kroki z tego przewodnika dają zazwyczaj większy skok niż wszystkie kolejne razem wzięte.
Poniżej opisujemy kolejność, w jakiej sami wchodzimy w cudzą instalację, zajmując się przyspieszaniem działania stron WordPress. Najpierw pomiar, potem fundament serwerowy, na końcu szczegóły w kodzie. Jeśli wolisz od razu listę do odhaczenia, znajdziesz ją w przedostatniej sekcji.
Jak sprawdzić szybkość strony WordPress

Bez punktu odniesienia każda zmiana jest zgadywanką. Zanim ruszysz cokolwiek w ustawieniach, zmierz stan wyjściowy i zapisz wynik. Inaczej po tygodniu nie odróżnisz poprawy od złudzenia.
Do pomiaru wystarczą trzy narzędzia, każde pokazuje co innego:
- PageSpeed Insights, dane od Google, osobno dla telefonu i komputera, razem z listą konkretnych zaleceń,
- GTmetrix, wykres kaskadowy pokazujący, który dokładnie plik blokuje ładowanie,
- WebPageTest, testy z wybranej lokalizacji i przeglądarki, przydatne przy odbiorcach spoza Polski.
Progi, do których warto celować:
- LCP (największy element widoczny na ekranie) poniżej 2,5 sekundy,
- INP (czas reakcji strony na kliknięcie) poniżej 200 milisekund,
- CLS (stabilność układu, czyli przeskakiwanie treści przy ładowaniu) poniżej 0,1,
- TTFB (czas do pierwszej odpowiedzi serwera) poniżej 0,8 sekundy.
Testuj podstrony, na których naprawdę zależy Ci na wyniku, a nie wyłącznie stronę główną. Karta produktu, wpis na blogu i strona kontaktowa potrafią mieć zupełnie inne czasy ładowania, bo ładują inne wtyczki i inne obrazy.
Dlaczego strona wypada gorzej niż kilka lat temu, choć nic się nie zmieniło
Jeśli stronę stawiano albo przyspieszano kilka lat temu, jest spora szansa, że dziś wypada w narzędziach gorzej, choć nikt jej od tamtej pory nie tknął. Zmienił się nie kod, tylko miarka. Google w 2021 roku wpisało Core Web Vitals do sygnałów rankingowych, a w 2024 wymieniło jeden z trzech głównych wskaźników na inny. Lighthouse, na którym opiera się PageSpeed Insights, po drodze kilka razy przeliczał wagi poszczególnych pomiarów, więc ta sama strona dostaje dziś inną liczbę niż dwa lata temu.
Gorzej, że część dawnych zaleceń zdążyła się zestarzeć. Łączenie wszystkich plików CSS i JavaScript w jeden duży plik oraz rozrzucanie zasobów po kilku subdomenach miało sens przy starym protokole HTTP/1.1, który pobierał pliki jeden po drugim. Przy HTTP/2 przeglądarka ściąga je równolegle, więc ten zabieg przestał pomagać, a przy dużych plikach potrafi opóźnić wyświetlenie treści.
Wniosek jest prosty, nie porównuj dzisiejszego wyniku ze zrzutem ekranu sprzed lat, tylko z pomiarem zrobionym dziś, przed zmianami. Zajrzyj też w ustawienia wtyczki cache i sprawdź, czy nie masz tam włączonego łączenia plików CSS i JavaScript z czasów, gdy uchodziło to za dobrą praktykę.
Hosting, czyli fundament, którego nie obejdziesz wtyczką
Jeśli TTFB z poprzedniego kroku przekracza sekundę, problem leży poniżej WordPressa i dalsze grzebanie w kodzie niewiele zmieni. Przeciążonego serwera nie naprawisz żadną wtyczką.
Do wyboru masz cztery poziomy, uporządkowane od najtańszego:
- Hosting współdzielony, wystarcza dla strony wizytówkowej z niewielkim ruchem. Dzielisz zasoby z setkami innych witryn, więc czas odpowiedzi bywa nieprzewidywalny.
- Hosting zarządzany pod WordPressa, środowisko dostrojone pod ten system, zwykle z pamięcią podręczną po stronie serwera. Najlepszy stosunek efektu do wysiłku dla większości firmowych stron.
- VPS, wydzielone zasoby i pełna kontrola nad konfiguracją. Wymaga kogoś, kto tym serwerem zarządza.
- Serwer dedykowany, rozwiązanie dla dużego ruchu i sklepów z rozbudowanym katalogiem.
Niezależnie od poziomu, sprawdź u dostawcy:
- obsługę PHP w wersji 8.1 lub nowszej,
- dyski NVMe zamiast starszych SSD,
- obsługę protokołu HTTP/2 lub HTTP/3,
- pamięć podręczną po stronie serwera, na przykład Redis albo Memcached,
- lokalizację serwerowni, przy polskich odbiorcach serwer w Polsce albo w Niemczech wygrywa z amerykańskim,
- deklarowaną dostępność powyżej 99,9 procent.
Zmiana hostingu brzmi groźniej, niż wygląda w praktyce, choć przy nieostrożnym przenoszeniu łatwo zgubić pocztę albo certyfikat. Opisaliśmy to osobno, razem z kolejnością kroków, w tekście o tym, jak przenieść stronę WordPress na inny serwer.
Wersja PHP, najtańsza optymalizacja z całego zestawu
PHP to język, w którym napisany jest WordPress. Kolejne wersje przetwarzają ten sam kod szybciej, więc sama zmiana ustawienia w panelu hostingu potrafi skrócić czas generowania strony, bez dotykania jej zawartości. To zwykle kwestia dwóch kliknięć i zero złotych.
Jest jeden warunek. Przed zmianą zaktualizuj wtyczki i motyw, bo starsze rozszerzenia potrafią nie współpracować z nowym PHP i wyłożyć stronę na biały ekran. Pełną instrukcję ze sprawdzeniem zgodności znajdziesz w poradniku, jak zaktualizować PHP w WordPressie.
Ten strach przed białym ekranem kosztuje więcej, niż się wydaje. Jeden z naszych klientów miał dwie strony na wspólnym serwerze i co roku płacił hostingodawcy osobną pozycję na fakturze, za wsparcie starych wersji PHP. Nie aktualizował, bo nie wiedział, czy obie witryny to wytrzymają. Zmodernizowaliśmy je w ramach abonamentu, a z jego rachunku za hosting zniknęła coroczna opłata rzędu kilkuset złotych. Do naszej rozmowy nie wiedział nawet, że ją płaci.
Pamięć podręczna, największy pojedynczy zysk
Domyślnie WordPress składa każdą podstronę od nowa przy każdym wejściu, odpytując bazę danych i uruchamiając kod wtyczek. Pamięć podręczna zapisuje gotowy wynik i podaje go kolejnym odwiedzającym. To najczęściej największa pojedyncza zmiana, jaką da się wprowadzić w ciągu kwadransa.
Działa na dwóch poziomach i najlepiej mieć oba:
- Po stronie WordPressa, przez wtyczkę. WP Rocket jest płatny i najprostszy w obsłudze, LiteSpeed Cache działa bardzo dobrze, ale tylko na serwerach z oprogramowaniem LiteSpeed, W3 Total Cache i WP Super Cache są darmowe i wymagają więcej ustawiania.
- Po stronie serwera, przez Redis albo Memcached. Trzymają w pamięci wyniki zapytań do bazy, co daje odczuwalną różnicę przy sklepach i stronach z dużą liczbą podstron. Przy prostej wizytówce zysk bywa niezauważalny.
Zasady, które oszczędzają nerwów przy konfiguracji:
- Zmierz przed i po każdej większej zmianie ustawień.
- Włączaj opcje pojedynczo. Gdy włączysz pięć naraz i strona się rozjedzie, nie będziesz wiedzieć, która to sprawka.
- Czyść pamięć podręczną po każdej zmianie treści, inaczej odwiedzający zobaczą starą wersję.
Sprawdź też wynik na zalogowanym i niezalogowanym koncie. Dla zalogowanych pamięć podręczna zwykle nie działa, więc jako administrator widzisz wolniejszą wersję strony niż Twoi klienci.
Obrazy, najcięższy element większości stron

Zdjęcia odpowiadają zwykle za większość wagi podstrony, a najczęstszy błąd jest banalny, plik prosto z aparatu ma cztery tysiące pikseli szerokości i trafia w miejsce, które wyświetla tysiąc dwieście. Przeglądarka i tak musi pobrać całość.
Zmniejsz wymiary przed wgraniem, włącz konwersję do formatu WebP i skompresuj to, co już wisi w bibliotece mediów. Porównanie wtyczek do kompresji oraz różnice między WebP a AVIF opisaliśmy w osobnym poradniku o optymalizacji zdjęć w WordPress.
Kod strony, czyli ładowanie tylko tego, co potrzebne
Typowa instalacja ładuje na każdej podstronie style i skrypty wszystkich aktywnych wtyczek, także tych, które akurat nie mają nic do roboty. Formularz kontaktowy dokłada swój kod do wpisu na blogu, wtyczka galerii do strony kontaktowej.
Da się to ograniczyć na kilku poziomach:
- Minifikacja, usuwa z plików spacje i komentarze, które są potrzebne programiście, a nie przeglądarce. Robią to wtyczki pamięci podręcznej albo Autoptimize.
- Warunkowe ładowanie zasobów, czyli wyłączanie plików wtyczki tam, gdzie nie jest używana. Służą do tego Perfmatters i Asset CleanUp. To najbardziej pracochłonny punkt z całej listy, ale przy rozbudowanej stronie także jeden z najbardziej opłacalnych.
- Opóźnione ładowanie obrazów, WordPress robi to sam od wersji 5.5. Wyjątkiem jest główna grafika na górze strony, jej nigdy nie opóźniaj, bo to zwykle właśnie ona jest mierzona jako LCP i opóźnienie pogarsza wynik.
Po każdej zmianie w tej sekcji obejrzyj stronę na telefonie i na komputerze. Minifikacja i wyłączanie zasobów potrafią popsuć wygląd w miejscu, którego się nie spodziewasz.
Jak wyczyścić bazę danych WordPressa
Baza puchnie nawet wtedy, gdy niczego nie zmieniasz. Składają się na to wersje robocze wpisów, dane tymczasowe zostawione przez wtyczki, spam w komentarzach i tabele po rozszerzeniach odinstalowanych dwa lata temu. Przy stronie prowadzonej od kilku lat sporą część bazy zajmują dane, których nikt nigdy nie odczyta.
Do porządków wystarczy WP-Optimize, który czyści wersje robocze i dane tymczasowe oraz optymalizuje tabele. Ustaw ograniczenie liczby wersji roboczych na wpis, żeby problem nie wracał.
Przed pierwszym czyszczeniem zrób kopię zapasową. Operacje na bazie są nieodwracalne, a odzyskanie skasowanej tabeli bez kopii jest niemożliwe. Co powinna zawierać porządna kopia, opisaliśmy w tekście o tym, czym jest backup strony internetowej.
Czy liczba wtyczek spowalnia WordPressa
Sama liczba wtyczek mówi niewiele, dwadzieścia lekkich rozszerzeń zaszkodzi mniej niż jedno rozbudowane. Liczy się to, ile każde z nich dokłada zapytań do bazy i plików do pobrania.
Przejrzyj listę i zadaj sobie przy każdej pozycji trzy pytania:
- Czy funkcja tej wtyczki jest jeszcze używana na stronie?
- Czy nie dubluje się z inną, na przykład dwie wtyczki SEO albo dwa mechanizmy pamięci podręcznej naraz?
- Czy autor nadal ją rozwija? Brak aktualizacji od dwóch lat to problem wydajnościowy i dziura w bezpieczeństwie w jednym.
Nieużywane wtyczki usuwaj, a nie tylko dezaktywuj. Nieaktywne rozszerzenie nie spowalnia strony, ale jego pliki wciąż leżą na serwerze i bywają furtką przy ataku. Z motywów zostaw aktywny plus jeden domyślny na wypadek awarii, resztę skasuj.
Zewnętrzne skrypty, cudzy kod na Twojej stronie
Czat, piksel reklamowy, mapa, widget opinii i osadzone wideo mają wspólną cechę, ładują się z cudzego serwera i Twoja strona czeka, aż tamten odpowie. Nad tą częścią czasu ładowania nie masz kontroli.
Zacznij od wykresu kaskadowego w GTmetrix i zobacz, które zewnętrzne adresy zajmują najwięcej czasu. Fonty przenieś na własny serwer zamiast pobierać je z zewnątrz. Czat i mapę ładuj dopiero po interakcji odwiedzającego albo tylko na tej podstronie, na której są potrzebne. Osadzone wideo zastąp miniaturą, która uruchamia odtwarzacz po kliknięciu.
Czy Twoja strona potrzebuje CDN
CDN to sieć serwerów rozstawionych po świecie, które podają pliki Twojej strony z lokalizacji najbliższej odwiedzającemu. Skraca czas oczekiwania na pliki, ale nie przyspiesza generowania samej strony.
Ma sens, gdy masz odbiorców w kilku krajach albo dużo grafiki i wideo. Przy firmowej stronie z polskimi klientami i serwerem w Europie różnica bywa niewielka, a dochodzi kolejna warstwa do konfigurowania i kolejne miejsce, w którym trzeba czyścić pamięć podręczną. Najpopularniejszym wyborem jest Cloudflare, bezpłatny w podstawowym zakresie.
Checklista optymalizacji WordPressa
Kolejność ma znaczenie, punkty od pierwszego do czwartego dają największy efekt przy najmniejszym nakładzie:
- Zmierzyłem stan wyjściowy i zapisałem wynik jako punkt odniesienia.
- Sprawdziłem TTFB i wiem, czy problem leży po stronie serwera.
- Mam PHP w wersji 8.1 lub nowszej.
- Mam działającą pamięć podręczną i sprawdziłem stronę jako niezalogowany.
- Obrazy mają rozsądne wymiary, są skompresowane i podawane w formacie WebP.
- Główna grafika na górze strony nie jest ładowana z opóźnieniem.
- Włączyłem minifikację i obejrzałem stronę na telefonie oraz na komputerze.
- Wyczyściłem bazę danych, mając wcześniej kopię zapasową.
- Usunąłem nieużywane wtyczki i motywy, nie tylko je wyłączyłem.
- Wiem, które zewnętrzne skrypty zabierają najwięcej czasu, i ograniczyłem je.
- Zmierzyłem stan końcowy i porównałem go z zapisanym punktem odniesienia.
Jak nie stracić efektu po trzech miesiącach
Efekt optymalizacji się zużywa. Strona zwalnia z powrotem, bo przybywa treści, dochodzą nowe wtyczki, a aktualizacje zmieniają sposób działania kodu. Mechanizmy tego procesu rozpisaliśmy w osobnym tekście o tym, dlaczego strona WordPress zwalnia po kilku miesiącach.
Najprostsze zabezpieczenie to powtórny pomiar co kwartał i po każdej większej zmianie na stronie. Do tego narzędzie, które samo zgłosi, gdy strona przestanie odpowiadać albo zacznie ładować się dłużej niż zwykle. Co takie narzędzie faktycznie sprawdza, opisaliśmy w tekście o tym, czym jest monitoring strony www.
Co dalej?
Jeśli chcesz przejść tę listę samodzielnie, zacznij od pomiaru i od czterech pierwszych punktów. To zwykle kilka godzin pracy i największa część możliwego zysku.
Jeśli wolisz oddać to komuś, kto robi to na co dzień, zajmujemy się przyspieszaniem działania stron WordPress razem z pomiarem przed i po, żebyś zobaczył różnicę w liczbach, a nie w deklaracjach. Utrzymanie efektu w czasie wchodzi w zakres kompleksowej opieki nad WordPressem, razem z cotygodniowymi aktualizacjami, codziennym backupem i monitoringiem dostępności co 15 minut.
Stawki są jawne, opiekę zamawiasz przez koszyk, bez umowy terminowej i z 14 dniami na odstąpienie. Zakres poszczególnych planów znajdziesz w cenniku opieki nad stroną WordPress.
Pytania i odpowiedzi
Jaki wynik w PageSpeed Insights jest dobry?
Sama ocena od 0 do 100 to duże uproszczenie. Liczą się progi trzech wskaźników, LCP poniżej 2,5 sekundy, INP poniżej 200 milisekund i CLS poniżej 0,1. Strona z oceną 70, która mieści się w tych progach na telefonach, jest w lepszej sytuacji niż strona z oceną 95 mierzoną wyłącznie na komputerze.
Co najbardziej spowalnia stronę WordPress?
Najczęściej serwer i brak pamięci podręcznej, dopiero w dalszej kolejności zdjęcia i nadmiar wtyczek. Dlatego czas odpowiedzi serwera sprawdza się przed jakimikolwiek zmianami w kodzie. Bez tego łatwo tygodniami poprawiać rzeczy, które nie są przyczyną problemu.
Czy sama wtyczka cache wystarczy, żeby strona działała szybko?
Na prostej stronie wizytówkowej często tak, bo pamięć podręczna daje zwykle największy pojedynczy zysk. Przy sklepie WooCommerce to za mało, ponieważ koszyk i konto klienta z założenia omijają pamięć podręczną. Wtedy o czasie ładowania decyduje wydajność serwera i liczba zapytań do bazy danych.
Czy szybkość strony wpływa na pozycję w Google?
Tak, Core Web Vitals są jednym z sygnałów rankingowych od 2021 roku, ale to sygnał o niewielkiej wadze. Przy dwóch stronach o zbliżonej treści szybsza wygra. Sama optymalizacja nie wypchnie natomiast w górę strony, która nie odpowiada na zapytanie użytkownika.
Czy darmowe wtyczki do optymalizacji wystarczą, czy trzeba płatnych?
Darmowe wtyczki robią technicznie to samo co płatne, tylko wymagają więcej ustawiania i częściej trzeba łączyć kilka narzędzi naraz. Płatne kosztują mniej Twojego czasu i mają realne wsparcie, gdy po zmianie ustawień coś się rozjedzie. Przy jednej stronie firmowej darmowy zestaw zwykle wystarcza.
