Rejestracja i zmiana nameserwerów
Zacznij od założenia konta na cloudflare.com i kliknięcia „Add a Site". Wpisz domenę, wybierz plan Free i poczekaj, aż Cloudflare zeskanuje rekordy DNS. Sprawdź listę rekordów, upewnij się, że rekord A dla domeny głównej i subdomeny www jest zaznaczony pomarańczową chmurką (proxy włączony).
Następnie zaloguj się do panelu swojego rejestratora domen (np. home.pl, nazwa.pl, OVH) i zamień dotychczasowe nameservery na dwa adresy podane przez Cloudflare, np.:
ada.ns.cloudflare.combart.ns.cloudflare.com
Propagacja DNS trwa zwykle od kilku minut do kilku godzin. Stan sprawdzisz w panelu Cloudflare, pojawi się zielony komunikat „Active".
Tryb SSL, zawsze Full (strict)
To jeden z ważniejszych kroków konfiguracji Cloudflare dla WordPress. Wejdź w SSL/TLS → Overview i ustaw tryb na Full (strict). Co to oznacza?
- Flexible, szyfrowanie tylko między przeglądarką a Cloudflare; ruch do serwera idzie HTTP. Nie używaj tego trybu, powoduje pętle przekierowań, gdy hosting sam wymusza HTTPS.
- Full, szyfrowanie end-to-end, ale akceptuje certyfikat samopodpisany na serwerze.
- Full (strict), wymaga ważnego certyfikatu (np. Let's Encrypt) na serwerze. Najbezpieczniejszy wybór.
Jeśli Twój hosting (home.pl, cyber_Folks, LH.pl, Zenbox itp.) obsługuje bezpłatny Let's Encrypt, aktywuj go w panelu hostingu przed zmianą nameserwerów. Potem śmiało ustaw Full (strict).
Włącz też opcję Always Use HTTPS (SSL/TLS → Edge Certificates) oraz HSTS, ale HSTS włączaj tylko wtedy, gdy jesteś pewien, że HTTPS działa stabilnie.
Konfiguracja cache i Always Online
W sekcji Caching → Configuration ustaw Browser Cache TTL na co najmniej 4 godziny (lub „Respect Existing Headers", jeśli WordPress sam zarządza cache przez wtyczkę). Poziom cachowania (Caching Level) zostaw na „Standard".
Opcja Always Online (Caching → Always Online) wyświetli wersję strony z cache Cloudflare, jeśli serwer będzie niedostępny, warto ją włączyć.
Ważne: panel admina WordPress nie może być cachowany. Stwórz regułę Page Rule lub Cache Rule wykluczającą:
twojadomena.pl/wp-admin/*, Cache Level: Bypasstwojadomena.pl/wp-login.php, Cache Level: Bypass
Możesz też wykluczyć cache dla żądań z ciasteczkiem wordpress_logged_in_*, w Cache Rules ustaw warunek Cookie contains „wordpress_logged_in" → Bypass cache.
Reguły WAF i Firewall Rules, konfiguracja Cloudflare dla WordPress
W darmowym planie masz dostęp do WAF → Managed Rules oraz możliwość tworzenia własnych reguł (do 5 w Free). Włącz pakiet reguł Cloudflare Managed Ruleset, automatycznie blokuje znane exploity, skanery i boty.
Przydatne reguły, które warto dodać ręcznie (Security → WAF → Custom Rules):
- Blokada krajów o wysokim wskaźniku ataków, jeśli Twoja strona jest tylko dla Polski: pole Country → nie równa się „PL" + URI Path zawiera
/wp-login.php→ Action: Block. - Blokada User-Agent zawierającego
sqlmap,nikto,acunetix→ Action: Block. - Blokada żądań
POSTdo/xmlrpc.php→ Action: Block.
Rate limiting, ochrona przed brute force
W sekcji Security → WAF → Rate Limiting Rules utwórz regułę ograniczającą liczbę żądań do /wp-login.php. Dobry próg to maksymalnie 5 żądań na 1 minutę z jednego IP. Przekroczenie → Action: Block na 10 minut. To skutecznie eliminuje ataki brute force na panel logowania.
Blokada xmlrpc.php i ochrona wp-login.php
Plik /xmlrpc.php jest regularnie atakowany, służy do brute force haseł i ataków DDoS przez amplifikację. Jeśli nie używasz aplikacji mobilnej WordPress ani Jetpack, zablokuj go całkowicie regułą WAF:
- URI Path equals
/xmlrpc.php→ Action: Block
Dla /wp-login.php zalecam podejście wielowarstwowe z artykułu Jak zabezpieczyć WordPress w 2025 roku: rate limiting + blokada krajów + opcjonalnie reguła „tylko wybrane IP mogą się logować" (jeśli logujesz się zawsze z jednego miejsca).
Page Rules, finalne szlify
Page Rules (lub nowsze Cache Rules / Configuration Rules) pozwalają nadpisać ustawienia Cloudflare dla konkretnych ścieżek. Przydatne scenariusze:
twojadomena.pl/wp-admin/*, wyłącz minifikację JS/CSS (unikasz konfliktów z edytorem Gutenberg).twojadomena.pl/*.php, Cache Level: Bypass (strony PHP generowane dynamicznie nie powinny być cachowane globalnie).twojadomena.pl/sitemap*.xml, Cache Level: Cache Everything, Edge Cache TTL: 1 dzień.
Pamiętaj, że w darmowym planie masz limit 3 Page Rules. Wybierz te, które dają największą korzyść.
Częste błędy po włączeniu Cloudflare
Pętla przekierowań (redirect loop)
Przyczyna w 90% przypadków: tryb SSL ustawiony na Flexible przy jednoczesnym wymuszeniu HTTPS po stronie serwera lub w wp-config.php. Rozwiązanie: zmień tryb na Full lub Full (strict).
Mixed content, ostrzeżenia o niezabezpieczonych zasobach
Obrazy i skrypty ładowane przez http:// po przejściu na HTTPS. Włącz opcję SSL/TLS → Edge Certificates → Automatic HTTPS Rewrites, Cloudflare przepisze linki HTTP na HTTPS w locie. Dodatkowo w WordPressie zainstaluj wtyczkę Really Simple SSL lub ręcznie zaktualizuj adresy w bazie danych.
Plan darmowy vs Pro, co zyskujesz za 20 USD/mies.?
Darmowy plan pokrywa 95% potrzeb typowej strony WordPress: CDN, SSL, WAF z podstawowymi regułami, ochrona DDoS, 5 reguł niestandardowych WAF, 3 Page Rules. Plan Pro dodaje zaawansowany WAF z większą liczbą reguł zarządzanych, analitykę wydajności Web Vitals, wsparcie priorytetowe i 20 Page Rules. Dla sklepów WooCommerce lub stron z dużym ruchem warto rozważyć Pro, dla bloga lub strony firmowej Free w zupełności wystarczy.
Jeśli chcesz kompleksowo zabezpieczyć swój serwis, sprawdź moją usługę ochrony Cloudflare dla WordPress, konfiguruję i audytuję całość za Ciebie. Warto też przeprowadzić audyt bezpieczeństwa WordPress, by mieć pewność, że żadna luka nie zostanie przeoczona.
Kiedy lepiej zadzwonić do specjalisty
Konfiguracja Cloudflare dla WordPress jest do zrobienia samodzielnie, ale błędy w ustawieniach DNS lub SSL mogą na kilka godzin odciąć stronę od internetu. Jeśli po zmianie nameserwerów strona przestała działać, widzisz pętle przekierowań, panel admina się nie ładuje albo po prostu nie chcesz ryzykować przestoju, zadzwoń do mnie: 577 020 415. Diagnozuję problem bezpłatnie, a konfigurację przeprowadzam zdalnie, zwykle w ciągu godziny.