Menu
Szybki wybór
Hosting Domeny VPS SSL Kalkulator Porównania FAQ
Aktywne kody
Wszystkie kody rabatowe

Optymalizacja szybkości WordPress — kompletny przewodnik

Opublikowano: 9 kwietnia 2026 · Kategoria: WordPress

Szybkość strony WordPress ma bezpośredni wpływ na pozycję w Google (Core Web Vitals są czynnikiem rankingowym), konwersje i bounce rate. Niezoptymalizowany WordPress może ładować się 5-10 sekund — po optymalizacji ten sam serwis powinien ładować się poniżej 2 sekund. Ten przewodnik pokazuje wszystkie warstwy optymalizacji: od cachingu przez obrazy po konfigurację serwera.

Core Web Vitals — co mierzyć

Google używa Core Web Vitals jako czynnika rankingowego. Trzy kluczowe metryki:

Metryka Dobry Wymaga poprawy Słaby
LCP (Largest Contentful Paint) < 2.5 s 2.5–4 s > 4 s
INP (Interaction to Next Paint) < 200 ms 200–500 ms > 500 ms
CLS (Cumulative Layout Shift) < 0.1 0.1–0.25 > 0.25

Mierz w Google PageSpeed Insights (dane laboratoryjne) i Google Search Console (dane terenowe z prawdziwych użytkowników — ważniejsze dla SEO).

Caching — trzy warstwy

Caching w WordPress działa na trzech poziomach:

  • Page Cache (caching stronicowy) — zapisuje gotowe HTML strony na dysku lub w pamięci. Kolejne żądania dostają plik HTML bez uruchamiania PHP i zapytań do bazy. Największy wpływ na TTFB.
  • Object Cache (Redis/Memcached) — cachuje wyniki zapytań do bazy danych i obliczenia PHP w pamięci RAM. Szczególnie ważny dla stron z logowaniem (user-specific dane nie mogą być w page cache).
  • Fragment Cache (opcjonalnie) — cachuje części strony (np. sidebar, menu), gdy reszta jest dynamiczna. Realizowany przez LiteSpeed ESI lub własny kod.

Wtyczki cache — porównanie

Wtyczka Cena Wymagania Zalety
LiteSpeed Cache Darmowa Serwer LiteSpeed Natywny cache serwera, ESI, object cache, image optim
WP Rocket ~$59/rok Dowolny hosting Łatwa konfiguracja, wszystko w jednym, świetny wsparcie
W3 Total Cache Darmowa (Pro: $99) Dowolny hosting Elastyczna konfiguracja, Redis, Memcached, CDN integracja
WP Super Cache Darmowa Dowolny hosting Prosta, mało zasobożerna, Automattic (twórcy WP)

Redis Object Cache — konfiguracja

Jeśli hosting oferuje Redis (lub masz VPS), włącz Redis object cache. Instalacja:

# Na VPS: zainstaluj Redis
sudo apt install redis-server
sudo systemctl enable --now redis

# Zainstaluj wtyczkę Redis Object Cache (przez WP-CLI lub panel admin)
wp plugin install redis-cache --activate

# Dodaj do wp-config.php (przed /* That's all, stop editing! */)
define('WP_REDIS_HOST', '127.0.0.1');
define('WP_REDIS_PORT', 6379);
define('WP_REDIS_DATABASE', 0);
# define('WP_REDIS_PASSWORD', 'twoje-haslo'); # jeśli Redis ma hasło

# Włącz obiektowe cachowanie z WP-CLI
wp redis enable

# Sprawdź status
wp redis status

Optymalizacja obrazów — WebP i lazy load

Obrazy to zwykle największy element wpływający na LCP. Strategia optymalizacji:

  • Format WebP — o 25-35% mniejszy niż JPEG/PNG przy tej samej jakości. Wtyczki: Smush (automatyczna konwersja), ShortPixel, Imagify. LiteSpeed Cache ma wbudowaną konwersję WebP.
  • Lazy Loading — obrazy poza viewportem ładują się dopiero gdy użytkownik scrolluje. WordPress 5.5+ ma natywny lazy load (loading="lazy"). Pierwszy obraz LCP NIE powinien mieć lazy load — użyj loading="eager" i fetchpriority="high".
  • Rozmiary responsywne — WordPress generuje kilka rozmiarów każdego obrazu i serwuje odpowiedni przez srcset. Sprawdź czy masz poprawnie ustawione rozmiary w Ustawieniach → Media.
  • Kompresja — Smush (darmowy do 50 MB/msc), ShortPixel (brak limitu miesięcznego dla istniejących obrazów, płatny). Zalecana kompresja stratna (lossy) — różnica niewidoczna dla użytkownika.

CDN — Cloudflare i BunnyCDN

CDN (Content Delivery Network) serwuje statyczne zasoby z serwerów bliskich geograficznie użytkownikowi:

  • Cloudflare (darmowy) — zmień nameservery domeny na Cloudflare. Automatycznie cachuje statyczne pliki (JS, CSS, obrazy), chroni przed DDoS, zapewnia darmowy SSL. Wystarczy dla większości stron.
  • BunnyCDN (~$1/msc) — dedykowany CDN do serwowania mediów (Pull Zone). Szczególnie dobry dla galerii zdjęć i serwisów z dużą ilością obrazów. Integruje się z WP Rocket i innymi wtyczkami cache.

Baza danych — optymalizacja wp_options

-- Sprawdź największe opcje z autoload=yes
SELECT option_name, LENGTH(option_value) AS size_bytes
FROM wp_options
WHERE autoload = 'yes'
ORDER BY size_bytes DESC
LIMIT 20;

-- Usuń wygasłe transients (cache)
DELETE FROM wp_options
WHERE option_name LIKE '_transient_%'
   OR option_name LIKE '_site_transient_%';

-- Wyczyść tabele (usuń wersje, spam itp.)
-- Najlepiej przez wtyczkę WP-Optimize lub WP-CLI:
-- wp db optimize
-- wp transient delete --all

Wtyczka WP-Optimize (darmowa) automatyzuje czyszczenie: wersje postów, spam komentarze, transients, optymalizacja tabel InnoDB. Uruchamiaj co tydzień.

Minimalizacja JS/CSS — defer i async

# W wp-config.php lub functions.php możesz ręcznie dodać defer:
# Ale lepiej używaj wtyczki (WP Rocket, W3TC, LiteSpeed Cache)

# WP Rocket: Dashboard → File Optimization:
# - Minify CSS ✓
# - Combine CSS ✓ (ostrożnie — sprawdź czy nie psuje designu)
# - Remove Unused CSS ✓
# - Minify JavaScript ✓
# - Defer JavaScript execution ✓
# - Delay JavaScript execution (do interakcji) ✓

# WP-CLI: sprawdź które skrypty ładują się bez defer/async:
wp eval 'global $wp_scripts; foreach ($wp_scripts->registered as $s) { if (!isset($s->extra["defer"]) && !isset($s->extra["async"])) echo $s->handle . "\n"; }'

PHP OPcache i konfiguracja serwera

# Sprawdź czy OPcache jest aktywny
php -r "echo opcache_get_status()['opcache_enabled'] ? 'OPcache ON' : 'OPcache OFF';"

# Optymalna konfiguracja php.ini dla WordPress (PHP 8.2+):
[opcache]
opcache.enable = 1
opcache.memory_consumption = 256       ; MB pamięci dla OPcache
opcache.interned_strings_buffer = 16   ; MB dla interned strings
opcache.max_accelerated_files = 10000  ; ile plików PHP cachować
opcache.revalidate_freq = 60           ; co ile sekund sprawdzać zmiany
opcache.validate_timestamps = 1        ; 0 w produkcji (szybciej) jeśli nie edytujesz plików live
opcache.jit_buffer_size = 100M         ; JIT (PHP 8+) — dodatkowe przyspieszenie
opcache.jit = 1255

Wyniki przed i po optymalizacji — typowe wartości

Metryka Przed optymalizacją Po optymalizacji
TTFB (Time to First Byte) 800–2000 ms 50–200 ms (z page cache)
LCP 4–8 s 1–2.5 s
Rozmiar strony 3–8 MB 0.5–2 MB (WebP + minifikacja)
Liczba requestów HTTP 80–150 20–50 (po połączeniu CSS/JS)
PageSpeed Insights (mobile) 20–50 pkt 70–95 pkt

Najczęstsze pytania

Która wtyczka cache jest najlepsza dla WordPress? +
To zależy od hostingu i budżetu. LiteSpeed Cache (darmowa) jest najlepsza jeśli masz hosting z LiteSpeed — korzysta z natywnego cache serwera (ESI, object cache). WP Rocket (płatna, ~$59/rok) jest najłatwiejsza w konfiguracji i działa na każdym hostingu — idealna dla użytkowników bez technicznej wiedzy. W3 Total Cache (darmowa) jest najbardziej elastyczna ale trudna w konfiguracji — dobra dla zaawansowanych użytkowników. Na hostingu z Nginx i Redis: W3TC lub WP Rocket z integracją Redis object cache.
Co to są Core Web Vitals i jak je poprawić w WordPress? +
Core Web Vitals to metryki Google oceniające UX strony: LCP (Largest Contentful Paint) — czas ładowania głównego elementu strony, cel &lt; 2.5s; INP (Interaction to Next Paint) — responsywność na kliknięcia, cel &lt; 200ms; CLS (Cumulative Layout Shift) — stabilność układu strony, cel &lt; 0.1. W WordPress: LCP poprawisz przez caching, CDN i optymalizację obrazów (WebP, lazy load, preload LCP image). INP przez defer/async dla JS i eliminację render-blocking scripts. CLS przez określanie wymiarów obrazów (width + height w HTML) i unikanie dynamicznie wstrzykiwanych elementów zmieniających layout.
Czy CDN jest konieczny dla małego bloga WordPress? +
Dla bloga z głównie polską publicznością i hostingiem w Polsce — CDN nie jest konieczny, ale Cloudflare (darmowy) zawsze warto włączyć. Cloudflare cachuje statyczne zasoby (JS, CSS, obrazy) i zapewnia ochronę DDoS bez kosztów. Dla większych serwisów z globalną publicznością lub dużą ilością mediów — BunnyCDN (~$1/msc) znacząco skróci czas ładowania obrazów i filmów. CDN jest kluczowy gdy serwer jest fizycznie daleko od użytkowników (np. hosting w USA, użytkownicy w Polsce).
Jak wyczyścić transients i autoload w WordPress? +
Transients to tymczasowe dane cache w tabeli wp_options. Z czasem się nagromadzają (zwłaszcza po odinstalowaniu wtyczek). Usuń je: DELETE FROM wp_options WHERE option_name LIKE "_transient_%" OR option_name LIKE "_site_transient_%"; Autoload to pole w wp_options które określa czy dana opcja jest ładowana przy każdym żądaniu. Opcje z autoload=yes i dużym rozmiarem (wtyczki pozostawiają śmieci) spowalniają TTFB. Sprawdź: SELECT option_name, LENGTH(option_value) as size FROM wp_options WHERE autoload="yes" ORDER BY size DESC LIMIT 20; Wyłącz autoload dla nieużywanych opcji lub usuń je. Wtyczka WP-Optimize robi to automatycznie.

Sprawdź oferty pasujące do tego scenariusza

Poniżej masz szybkie przejścia do ofert i stron z kodami rabatowymi tam, gdzie są dostępne.