Prečo Cloudflare a nie len dobrý hosting?
Dobrý hosting rieši výkon servera. Cloudflare rieši všetko pred serverom — a to je práve to, čo väčšina WordPress stránok potrebuje. Keď bot zaútočí na váš /wp-login.php, hosting to zaregistruje až potom, čo server zaťaženie pocíti. Cloudflare ho zastaví skôr, než požiadavka váš server vôbec dosiahne.
Free plán Cloudflare obsahuje:
- Globálna CDN — statické súbory servírované z najbližšieho PoP (300+ lokalít)
- DDoS ochrana — L3/L4 neobmedzene, L7 základná úroveň
- WAF — managed ruleset (obmedzený na free plán, ale efektívny)
- SSL/TLS — automatický certifikát, HTTP→HTTPS redirect
- Turnstile — CAPTCHA náhrada zdarma
- Analytics — návštevnosť bez cookies
Krok 1 — Pridanie stránky do Cloudflare a presun DNS
Cloudflare funguje ako reverzná proxy — všetka návštevnosť prechádza cez ich sieť. Toto aktivujete presunom nameserverov.
Vytvorte účet na cloudflare.com a pridajte svoju doménu. Cloudflare automaticky naskenuje existujúce DNS záznamy — skontrolujte ich pred potvrdením.
Zmeňte nameservery u registrátora domény na tie, ktoré Cloudflare pridelí (napr. aria.ns.cloudflare.com). Propagácia trvá 5–30 minút.
Skontrolujte proxy status pre A záznamy — oranžová oblak = cez Cloudflare, šedá oblak = priamo na server (DNS only). Pre WordPress chcete oranžový oblak na A zázname domény.
mail.vasadomena.sk) nechajte na šedej — teda DNS only. Mailový traffic cez Cloudflare proxy nefunguje správne.
Krok 2 — SSL/TLS nastavenie
V sekcii SSL/TLS → Overview nastavte režim na Full (strict). Nie „Flexible" — ten posiela traffic zo servera k Cloudflare bez šifrovania, čo je bezpečnostná diera.
| Režim | Browser → CF | CF → Server | Odporúčanie |
|---|---|---|---|
| Off | HTTP | HTTP | ❌ Nikdy |
| Flexible | HTTPS | HTTP | ❌ Nebezpečné |
| Full | HTTPS | HTTPS (self-signed) | ⚠️ Iba dočasne |
| Full (strict) | HTTPS | HTTPS (platný cert) | ✅ Produkcia |
Zapnite aj Always Use HTTPS a Automatic HTTPS Rewrites — tým eliminujete mixed content problémy so starými HTTP odkazmi v obsahu.
Krok 3 — CDN a caching pre WordPress
Cloudflare predvolene cachuje statické súbory (CSS, JS, obrázky). WordPress stránky (HTML) sa predvolene necachujú — čo je správne, keďže obsah je dynamický a personalizovaný (prihlásení používatelia, košík).
Cache Rules pre výkon
V sekcii Caching → Cache Rules (nástupca starých Page Rules) nastavte:
# Pravidlo 1: Necachovať admin a prihlásených užívateľov
Podmienka: (http.request.uri.path contains "/wp-admin")
OR (http.cookie contains "wordpress_logged_in")
OR (http.cookie contains "woocommerce_items_in_cart")
Akcia: Bypass cache
# Pravidlo 2: Agresívne cachovať statické súbory
Podmienka: (http.request.uri.path.extension in {"css" "js" "png" "jpg" "webp" "avif" "woff2" "ico"})
Akcia: Cache, TTL: 1 rok (31536000 s), Browser TTL: 1 deň
Speed nastavenia
V sekcii Speed → Optimization:
- Auto Minify — JavaScript, CSS, HTML: zapnúť
- Brotli — zapnúť (lepšia kompresia ako gzip)
- Rocket Loader — opatrne, môže kolidovať s niektorými pluginmi. Testujte pred zapnutím.
- Early Hints — zapnúť (preload hints pre prehliadač)
Krok 4 — WAF pravidlá pre WordPress
Web Application Firewall je najsilnejšia bezpečnostná funkcia Cloudflare. Na free pláne máte prístup k managed rulesetom a 5 vlastným pravidlám.
Managed rulesets
V sekcii Security → WAF → Managed rules zapnite Cloudflare Managed Ruleset. Automaticky blokuje bežné útoky — SQL injection, XSS, path traversal.
Vlastné WAF pravidlá — 5 najdôležitejších
# Pravidlo 1: Blokovanie brute-force na wp-login
Podmienka: (http.request.uri.path eq "/wp-login.php")
AND (http.request.method eq "POST")
AND (not ip.src in $povolene_ip)
Akcia: Managed Challenge (CAPTCHA)
# Pravidlo 2: Ochrana XML-RPC
Podmienka: (http.request.uri.path eq "/xmlrpc.php")
Akcia: Block
# Pravidlo 3: Blokovanie prístupu k citlivým súborom
Podmienka: (http.request.uri.path contains "wp-config.php")
OR (http.request.uri.path contains ".env")
OR (http.request.uri.path contains "readme.html")
Akcia: Block
# Pravidlo 4: Ochrana REST API (ak ho nepoužívate externe)
Podmienka: (http.request.uri.path contains "/wp-json/")
AND (not http.request.headers["origin"] contains "vasadomena.sk")
AND (http.request.method in {"POST" "PUT" "DELETE"})
Akcia: Managed Challenge
# Pravidlo 5: Blokovanie known bad bots
Podmienka: (cf.client.bot) AND (not cf.verified_bot_category in {"Search Engine Crawlers"})
Akcia: Block
$povolene_ip (Cloudflare → Account → Lists). Inak si sami zablokujete prístup do administrácie.
Krok 5 — Turnstile: koniec so spamom vo formulároch
Cloudflare Turnstile je náhrada za Google reCAPTCHA — funguje bez cookies, je zadarmo a používateľ väčšinou nemusí nič klikať (challenge prebieha na pozadí).
Pre WordPress použite plugin Simple Cloudflare Turnstile (dostupný zadarmo na wordpress.org). Konfigurácia:
V Cloudflare Dashboarde → Turnstile → Add Site. Zadajte doménu, vyberte typ widgetu (Managed pre väčšinu prípadov).
Skopírujte Site Key a Secret Key.
V plugine Simple Cloudflare Turnstile zadajte kľúče a aktivujte ochranu pre: prihlasovací formulár, registráciu, komentáre a WooCommerce checkout.
Výsledok: spam komentáre a brute-force pokusy na prihlásenie klesnú na minimum bez toho, aby ste otravovali legitímnych návštevníkov.
Krok 6 — DDoS ochrana a Rate Limiting
Free plán obsahuje automatickú DDoS ochranu na L3/L4 (sieťová vrstva). Pre L7 (HTTP) môžete pridať Rate Limiting pravidlá.
V sekcii Security → DDoS skontrolujte, že HTTP DDoS Attack Protection je aktívna (predvolene áno). Pre agresívnejšiu ochranu zmeňte Sensitivity na High.
Rate Limiting (Security → WAF → Rate limiting rules) — pridajte pravidlo:
# Ochrana wp-login pred brute-force
Zdroj: http.request.uri.path eq "/wp-login.php"
Charakteristika: IP adresa
Prah: 5 požiadaviek za 1 minútu
Akcia: Block na 10 minút
Krok 7 — Ochrana pôvodného servera (Origin)
Keď Cloudflare filtruje traffic, váš server by mal akceptovať požiadavky iba od Cloudflare IP adries. Priamy prístup na server IP by mal byť zablokovaný.
# Nginx — povolenie iba Cloudflare IP (aktualizovaný zoznam: cloudflare.com/ips)
geo $cloudflare_ip {
default 0;
103.21.244.0/22 1;
103.22.200.0/22 1;
103.31.4.0/22 1;
104.16.0.0/13 1;
104.24.0.0/14 1;
108.162.192.0/18 1;
131.0.72.0/22 1;
141.101.64.0/18 1;
162.158.0.0/15 1;
172.64.0.0/13 1;
173.245.48.0/20 1;
188.114.96.0/20 1;
190.93.240.0/20 1;
197.234.240.0/22 1;
198.41.128.0/17 1;
}
server {
if ($cloudflare_ip = 0) { return 444; }
}
Cloudflare tiež ponúka funkciu Authenticated Origin Pulls — server akceptuje iba požiadavky podpísané Cloudflare certifikátom. Aktivujte v SSL/TLS → Origin Server → Authenticated Origin Pulls.
Krok 8 — Monitoring a Analytics
Cloudflare Analytics v sekcii Analytics & Logs ukazuje:
- Počet zablokovaných požiadaviek WAF pravidlami
- Cache hit rate (cieľ: nad 80 % pre statické stránky)
- Geografické rozloženie návštevníkov
- Bandwidth úspory (koľko ste ušetrili na serveri)
Záver: Cloudflare free plán = enterprise ochrana zadarmo
Za 30 minút nastavenia dostanete CDN, WAF, DDoS ochranu, automatický HTTPS a Turnstile anti-spam — všetko zadarmo. Pre väčšinu WordPress stránok je to výrazné zlepšenie bezpečnosti aj výkonu bez akýchkoľvek nákladov.
Cloudflare Pro plán (25 USD/mesiac) pridáva pokročilý WAF ruleset, Image Resizing a lepší Rate Limiting — odporúčam pre e-shopy a portály s vyššou návštevnosťou.
Potrebujete nastaviť Cloudflare alebo zabezpečiť WordPress?
Nakonfigurujem Cloudflare, WAF pravidlá a bezpečnosť vášho WordPressu na mieru. Audit + implementácia, odpoveď do 24 hodín.
Nezáväzný dopyt