BiałystokPodlaskie i cała PolskaPonad 10 lat doświadczenia83% klientów z polecenia
jak przyspieszyć wolną stronę

Jak przyspieszyć wolną stronę WordPress – krok po kroku

Maciej, CustomSite · · Blog

Dlaczego wolna strona WordPress niszczy Twój biznes (i SEO)?

Strona WordPress ładująca się dłużej niż 3 sekundy traci średnio 40% odwiedzających, zanim cokolwiek zdążą zobaczyć. Google od 2021 roku oficjalnie uwzględnia szybkość strony jako czynnik rankingowy – wolna strona dosłownie spada w wynikach wyszukiwania.

Dla małej firmy oznacza to konkretne straty: mniej zapytań ofertowych, wyższy koszt reklamy Google Ads (Wynik Jakości spada = płacisz więcej za kliknięcie) i gorsze pozycje organiczne niż konkurencja z szybszą stroną.

Realne liczby, które powinny Cię zaniepokoić:

  • Czas ładowania powyżej 3 s – tracisz większość ruchu mobilnego
  • Wynik PageSpeed Insights poniżej 50/100 na mobile – widoczny problem SEO
  • TTFB (czas odpowiedzi serwera) powyżej 400 ms – prawie zawsze problem z hostingiem

Jak odczytać wyniki Google PageSpeed Insights – co oznaczają liczby?

Wejdź na pagespeed.web.dev, wpisz adres swojej strony i kliknij Analyze. Zawsze sprawdzaj najpierw zakładkę Mobile – Google indeksuje strony według wersji mobilnej (mobile-first indexing), więc to ten wynik decyduje o pozycjach.

Co oznaczają kolory wyników:

  • 0-49 (czerwony) – strona wymaga pilnej interwencji
  • 50-89 (pomarańczowy) – jest nad czym pracować, SEO cierpi
  • 90-100 (zielony) – dobry wynik, strona nie hamuje pozycji

Po analizie przewiń do sekcji Diagnostics. Tam znajdziesz konkretne problemy z szacowanym zyskiem w sekundach po naprawieniu każdego z nich. Skup się na tych z największą liczbą sekund do zaoszczędzenia.

Ważna zasada: wynik desktop jest zawsze wyższy niż mobile – nie daj się zmylić zielonym wynikiem 95/100 na desktop, jeśli mobile pokazuje 40/100.

Core Web Vitals 2026 – LCP, INP i CLS wyjaśnione po ludzku

Core Web Vitals to trzy metryki, które Google mierzy na Twojej stronie. Od marca 2026 roku obowiązuje INP zamiast starego FID – część poradników w internecie podaje nieaktualne informacje.

Metryka Co mierzy Dobry wynik Słaby wynik
LCP (Largest Contentful Paint) Czas załadowania największego elementu na ekranie (zdjęcie, nagłówek) do 2,5 s powyżej 4 s
INP (Interaction to Next Paint) Czas reakcji strony na kliknięcie, tapnięcie lub wpisanie tekstu do 200 ms powyżej 500 ms
CLS (Cumulative Layout Shift) Jak bardzo elementy przeskakują po załadowaniu strony do 0,1 powyżej 0,25

Najczęstszy błąd: właściciele stron widzą słaby LCP i zaczynają optymalizować losowe rzeczy. LCP to w 80% przypadków zdjęcie w nagłówku (baner, hero image) – od niego zacznij.

Od czego zacząć? Priorytety według efektu i kosztu

Poniżej lista działań od największego efektu przy najniższym koszcie. Wykonuj je w tej kolejności – każdy kolejny punkt ma sens dopiero po zrobieniu poprzedniego.

  1. Zmiana hostingu – jeśli TTFB przekracza 400 ms, żadna wtyczka tego nie naprawi
  2. Wtyczka cache – darmowa WP Rocket alternative lub płatny WP Rocket
  3. Optymalizacja obrazów – największy potencjał oszczędności na większości stron firmowych
  4. Minifikacja CSS i JS – mniejszy efekt niż obrazy, ale łatwa do wdrożenia
  5. CDN – sensowne gdy strona ma ruch z różnych regionów Polski lub z zagranicy

Krok 1 – Hosting i TTFB: fundament szybkiej strony

TTFB (Time to First Byte) to czas, jaki mija od kliknięcia linku do otrzymania pierwszego bajtu danych z serwera. Sprawdzisz go w PageSpeed Insights w sekcji Diagnostics pod pozycją „Reduce initial server response time”.

TTFB powyżej 400 ms = zmień hosting. Żadna wtyczka cache nie naprawia słabego serwera – tylko go maskuje.

Co szukać przy wyborze hostingu pod WordPress:

  • Serwery LiteSpeed lub Nginx (nie Apache – jest wolniejszy)
  • PHP 8.2 lub nowszy dostępny w panelu
  • Serwery fizycznie w Polsce (skróci TTFB dla polskich użytkowników)
  • Opcja włączenia OPcache i Redis/Memcached w panelu

Polskie hostingi z dobrym wynikiem TTFB w 2026 roku: home.pl (plany Business), LH.pl, Cyberfolks. Unikaj najtańszych planów shared hosting za 10 zł/miesiąc – na nich dziesiątki stron walczą o zasoby jednego serwera.

Po migracji na lepszy hosting włącz w panelu hostingowym:

  1. OPcache – kompiluje pliki PHP, przyspiesza WordPress o 30-50%
  2. PHP 8.2 lub 8.3 – w panelu cPanel/DirectAdmin zmień wersję PHP w sekcji Select PHP Version

Krok 2 – Wtyczka cache: które ustawienia naprawdę działają?

Cache zapisuje gotową stronę HTML na dysku serwera i serwuje ją bez generowania od nowa przy każdym odwiedzeniu. To daje największy efekt po dobrym hostingu.

Nie instaluj dwóch wtyczek cache jednocześnie – to jeden z najczęstszych błędów. Konflikt między nimi psuje stronę i pogarsza wyniki zamiast je poprawiać.

Rekomendowane wtyczki (wybierz jedną):

  • WP Rocket – płatna (ok. 59 USD/rok), najprostsza w obsłudze, działa dobrze po wyjęciu z pudełka
  • LiteSpeed Cache – darmowa, ale wymaga hostingu na LiteSpeed; bardzo skuteczna
  • W3 Total Cache – darmowa, wymaga ręcznej konfiguracji, więcej opcji do pomylenia

Minimalne ustawienia w WP Rocket (Ustawienia – WP Rocket w menu WordPress):

  1. Zakładka Cache: włącz Enable caching for mobile devices
  2. Zakładka File Optimization: włącz Minify CSS, Minify JavaScript, Defer JS Execution
  3. Zakładka Media: włącz Enable LazyLoad dla obrazów i iframe
  4. Zakładka Preload: włącz Activate Preloading

Uwaga dla sklepów WooCommerce: Strony koszyka, zamówienia i konta użytkownika muszą być wykluczone z cache. W WP Rocket są wykluczone automatycznie. W innych wtyczkach dodaj ręcznie ścieżki /cart/, /checkout/, /my-account/ do listy wykluczeń. Osobna sprawa to AJAX Cart Fragments w WooCommerce – domyślnie blokuje cache na całej stronie. Wyłącz je wtyczką Disable Cart Fragments, jeśli nie używasz mini-koszyka w nagłówku.

Krok 3 – Optymalizacja obrazów (WebP, AVIF, lazy loading bez błędu LCP)

Obrazy odpowiadają za 50-70% rozmiaru strony na większości witryn firmowych. To największa rezerwa do odzyskania.

Krok po kroku – co zrobić z obrazami:

  1. Zainstaluj wtyczkę Imagify lub ShortPixel (oba mają darmowe plany z limitem zdjęć miesięcznie). W ustawieniach wybierz format WebP – obsługują go wszystkie nowoczesne przeglądarki. AVIF daje lepszą kompresję, ale nie jest jeszcze wspierany przez wszystkie narzędzia cache.
  2. Skompresuj istniejące obrazy: w Imagify wejdź do Media – Bulk Optimization i kliknij Optimize all. Wtyczka przetworzy wszystkie obrazy w bibliotece mediów.
  3. Ustaw wymiary obrazów przed uploadem: nie wgrywaj zdjęcia 4000×3000 px na blog firmowy. Przeskaluj je do maksymalnie 1200-1600 px szerokości przed wgraniem.
  4. Lazy loading – ważna pułapka z LCP: lazy loading opóźnia ładowanie obrazów poza ekranem, ale nie może dotyczyć obrazu LCP (czyli pierwszego dużego elementu widocznego po wejściu na stronę, najczęściej bannera w nagłówku). Jeśli obraz LCP ma atrybut loading="lazy", Google ukarze Cię słabym wynikiem LCP.

Jak sprawdzić, który obraz to LCP: w PageSpeed Insights rozwiń sekcję Largest Contentful Paint element – zobaczysz dokładnie wskazany element. Jeśli to zdjęcie, upewnij się, że w kodzie strony ma loading="eager" (lub w ogóle nie ma atrybutu loading) i dodaj mu fetchpriority="high".

W WordPress Gutenberg kliknij na obraz nagłówkowy, w panelu bocznym znajdź Advanced i ustaw Loading na Eager. W Elementorze: kliknij obraz, zakładka Advanced, opcja Lazy Load – wyłącz dla głównego bannera.

Krok 4 – Minifikacja CSS i JS oraz usuwanie zbędnych zasobów

Minifikacja usuwa spacje, komentarze i zbędne znaki z plików CSS i JavaScript – pliki stają się mniejsze bez zmiany działania strony.

Jeśli używasz WP Rocket, minifikacja jest już skonfigurowana w kroku 2. Jeśli nie – zainstaluj wtyczkę Autoptimize:

  1. Wejdź w Ustawienia – Autoptimize
  2. Zaznacz Optimize JavaScript Code, Optimize CSS Code
  3. Kliknij Save Changes and Empty Cache
  4. Sprawdź stronę – jeśli coś się popsuło wizualnie, odznacz Also aggregate inline JS

Usuwanie zbędnych zasobów – to ważniejsze niż minifikacja. Wiele wtyczek WordPress ładuje swoje pliki CSS i JS na każdej podstronie, nawet jeśli tam nie są potrzebne. Wtyczka Asset CleanUp (wersja darmowa wystarczy) pozwala wyłączyć konkretne zasoby na konkretnych podstronach.

Jak to zrobić w Asset CleanUp:

  1. Zainstaluj i aktywuj wtyczkę
  2. Wejdź na stronę główną w trybie edycji (dodaj ?asset-cleanup=1 do adresu URL)
  3. Zobaczysz listę wszystkich załadowanych skryptów i styli
  4. Wyłącz zasoby od wtyczek kontaktowych (np. Contact Form 7 CSS) na stronach, gdzie nie ma formularzy

Krok 5 – CDN, czyli szybkie ładowanie dla całej Polski

CDN (Content Delivery Network) to sieć serwerów rozmieszczonych geograficznie. Statyczne pliki (obrazy, CSS, JS) są serwowane z serwera najbliższego użytkownikowi, co skraca czas pobierania.

Dla strony firmowej działającej w Polsce CDN ma mniejszy priorytet niż hosting, cache i obrazy. Staje się istotny gdy:

  • Twoja strona ma ruch z kilku regionów Polski lub z zagranicy
  • Zrobiłeś już kroki 1-4 i szukasz kolejnych milisekund
  • Masz dużo statycznych plików (galeria, portfolio, wiele zdjęć)

Najprostsze opcje dla małych firm:

  • Cloudflare (darmowy plan) – zmień serwery DNS domeny na Cloudflare, włącz Auto Minify i Rocket Loader w ustawieniach Speed. Zajmuje około 20 minut.
  • BunnyCDN – płatny, ale bardzo tani (ok. 1-3 USD/miesiąc przy normalnym ruchu), świetne serwery w Polsce, łatwa integracja z WP Rocket przez zakładkę CDN w ustawieniach

Konfiguracja Cloudflare krok po kroku:

  1. Załóż konto na cloudflare.com i dodaj swoją domenę
  2. Cloudflare przeskanuje DNS i pokaże aktualne rekordy – zaakceptuj je
  3. Zmień serwery DNS w panelu rejestratora domeny na te podane przez Cloudflare
  4. Po propagacji (do 24 h) w panelu Cloudflare wejdź w Speed – Optimization
  5. Włącz Auto Minify dla CSS, JS i HTML

Błędy, które najczęściej niszczą wynik – sprawdź czy je popełniasz

  • Dwie wtyczki cache jednocześnie – np. WP Rocket + W3 Total Cache lub LiteSpeed Cache + WP Super Cache. Objaw: strona działa wolniej niż przed instalacją cache, w konsoli błędów pojawiają się konflikty. Rozwiązanie: odinstaluj wszystkie wtyczki cache i zostaw tylko jedną.
  • Lazy loading na obrazie LCP – obraz nagłówkowy ma loading="lazy", przez co Google mierzy gorszy LCP. Objaw: PageSpeed Insights pokazuje słaby LCP mimo że strona subiektywnie ładuje się szybko. Rozwiązanie: opisane w Kroku 3.
  • Elementor lub inny page builder ładuje style globalne na każdej stronie – Elementor domyślnie ładuje swój CSS wszędzie, nawet na stronach zbudowanych klasycznym edytorem. Wejdź w Elementor – Ustawienia – Zaawansowane – Ładowanie CSS i zmień na External File zamiast Internal Embedding.
  • Nieużywane wtyczki pozostają aktywne – każda aktywna wtyczka ładuje swoje pliki, nawet jeśli nie jest widoczna na stronie. Przejdź do Wtyczki – Zainstalowane wtyczki i dezaktywuj wszystko, czego faktycznie nie używasz.
  • Brak aktualizacji PHP – PHP 7.4 jest ok. 2-3 razy wolniejszy od PHP 8.2. Sprawdź wersję w Narzędzia – Zdrowie witryny – Informacje, a zmień ją w panelu hostingowym.

Checklista audytu szybkości WordPress do samodzielnego użycia

Przejdź przez każdy punkt i zaznacz co jest zrobione. Zacznij od tych bez ptaszka.

  • Sprawdzony wynik PageSpeed Insights dla wersji mobile (pagespeed.web.dev)
  • TTFB poniżej 400 ms (widoczny w sekcji Diagnostics w PageSpeed)
  • PHP 8.2 lub nowszy włączony w panelu hostingowym
  • OPcache włączony na hostingu
  • Dokładnie jedna wtyczka cache aktywna
  • Cache włączony dla wersji mobilnej
  • Obrazy skompresowane i serwowane w formacie WebP
  • Lazy loading wyłączony dla obrazu LCP (nagłówek/baner)
  • Atrybut fetchpriority="high" na obrazie LCP
  • CSS i JS zminifikowane
  • Zbędne zasoby wtyczek wyłączone na stronach gdzie nie są potrzebne
  • Nieużywane wtyczki dezaktywowane i odinstalowane
  • Cloudflare lub inny CDN skonfigurowany
  • LCP poniżej 2,5 s, INP poniżej 200 ms, CLS poniżej 0,1
  • Wynik PageSpeed mobile powyżej 80/100

Kiedy samodzielna optymalizacja nie wystarczy?

Samodzielna optymalizacja według tej instrukcji wystarczy dla większości prostych stron firmowych. Są jednak sytuacje, kiedy trzeba sięgnąć po pomoc specjalisty:

  • Wynik PageSpeed po zrobieniu wszystkich kroków wciąż poniżej 60/100 na mobile
  • Strona na Elementorze lub Divi z dziesiątkami sekcji i animacji – page buildery mają ograniczenia optymalizacyjne, które wymagają ingerencji w kod
  • Sklep WooCommerce z dużą liczbą produktów i filtrami – cache nie działa standardowo, potrzebna konfiguracja fragment cache
  • Złożona integracja z zewnętrznymi systemami (CRM, ERP, systemy rezerwacji), które spowalniają TTFB
  • Wynik Core Web Vitals „Poor” w Google Search Console mimo poprawnej konfiguracji wtyczek

Jeśli chcesz zlecić optymalizację lub postawić od początku szybką stronę firmową, sprawdź strony internetowe dla firm od CustomSite – projektowane z myślą o wydajności od pierwszego dnia, bez potrzeby późniejszego „naprawiania”.

Najczęstsze problemy

Problem: Po włączeniu cache strona wygląda inaczej lub brakuje elementów.
Rozwiązanie: Opróżnij cache we wtyczce (w WP Rocket przycisk Clear Cache w górnym pasku), następnie w panelu WordPress wejdź w Ustawienia – Permalinki i kliknij Zapisz zmiany (to przebudowuje reguły .htaccess). Jeśli problem zostaje – wyłącz opcję Combine JS w ustawieniach wtyczki cache.

Problem: PageSpeed pokazuje dobry wynik, ale strona w przeglądarce ładuje się wolno.
Rozwiązanie: PageSpeed mierzy stronę z szybkiego połączenia. Sprawdź wynik w zakładce Field Data (dane realne od użytkowników) zamiast Lab Data. Jeśli Field Data jest słabe – sprawdź Google Search Console, zakładka Core Web Vitals, tam zobaczysz realne problemy z podziałem na typy urządzeń.

Problem: Po instalacji Cloudflare strona przestała działać lub pokazuje błąd 521/522.
Rozwiązanie: W panelu Cloudflare wejdź w SSL/TLS i zmień tryb szyfrowania na Full (nie Full Strict). Jeśli hosting nie ma certyfikatu SSL – zmień na Flexible. Błąd 521 oznacza że Cloudflare nie może się połączyć z serwerem – sprawdź czy hosting nie blokuje IP Cloudflare w firewallu.

FAQ

Dlaczego moja strona WordPress ładuje się wolno mimo wtyczki cache?

Wtyczka cache pomaga tylko gdy serwer ma wystarczające zasoby. Jeśli TTFB przekracza 400 ms, problemem jest hosting – cache serwuje szybciej już wygenerowany HTML, ale nie przyspiesza samego serwera. Sprawdź też czy nie masz dwóch wtyczek cache jednocześnie – to częsty błąd, który paradoksalnie pogarsza wyniki.

Ile powinien wynosić wynik PageSpeed Insights, żeby strona dobrze pozycjonowała się w Google?

Google nie podaje dokładnego progu, ale praktyka pokazuje że wynik powyżej 80/100 na mobile nie hamuje pozycji z powodu szybkości. Poniżej 50/100 na mobile to wyraźna strata w stosunku do konkurencji z lepszym wynikiem. Ważniejsze od liczby w PageSpeed są rzeczywiste Core Web Vitals – LCP poniżej 2,5 s, INP poniżej 200 ms i CLS poniżej 0,1.

Czy Elementor spowalnia stronę WordPress?

Tak, Elementor ładuje sporo CSS i JS – to fakt. Ale odpowiednio skonfigurowany (zewnętrzny plik CSS, wyłączone zbędne widgety w Elementor – Ustawienia – Elementy) i połączony z dobrym cache może działać wystarczająco szybko dla strony firmowej. Problem pojawia się gdy strona ma kilkadziesiąt animacji, widgetów i nakładające się sekcje – wtedy wynik mobile rzadko przekroczy 60-70/100.

Jak sprawdzić, która wtyczka WordPress spowalnia moją stronę?

Zainstaluj wtyczkę Query Monitor (darmowa). Po aktywacji w górnym pasku WordPress pojawi się pasek debugowania – kliknij go i sprawdź zakładkę Scripts i Styles, gdzie zobaczysz wszystkie załadowane zasoby z podziałem na wtyczki. Alternatywnie: dezaktywuj wszystkie wtyczki poza niezbędnymi, zmierz wynik PageSpeed, a następnie włączaj je po jednej i mierz ponownie – tak zidentyfikujesz winowajcę.

Potrzebujesz strony WordPress?

Profesjonalna strona od 3500 zł — SEO, szybkość i efekt od pierwszego dnia.

Bezpłatna wycena →

Czas na nową stronę?

Szybki kontakt i bezpłatna wycena bez zobowiązań.