Jak Cloudflare funguje
Řešení, které může poskytnout obojí bez nutnosti investovat do drahých technologií, je využití Cloudflare Free CDN. Tato služba funguje jako ochranná bariéra mezi vaším serverem a internetem a zároveň zajišťuje rychlejší doručování statického obsahu návštěvníkům.
Cloudflare působí jako reverzní proxy – veškerá komunikace mezi návštěvníkem a vaším serverem prochází přes jeho globální síť serverů. Představte si, že místo přímého připojení k vašemu serveru, který může být umístěn například v Evropě, se uživatel připojuje k serveru, který je nejblíže jeho geografické poloze. Takový přístup snižuje latenci, eliminuje zbytečné prodlevy a zároveň umožňuje vyrovnávat zátěž na vašem hostingu. Tím, že Cloudflare automaticky ukládá do mezipaměti statický obsah, jako jsou obrázky, CSS nebo JavaScriptové soubory, se vaše stránky načítají mnohem rychleji – a to bez nutnosti zásahu do kódu vašeho webu.
Praktické výhody a dodatečné benefity Cloudflare
Nejde však jen o zrychlení webu. V dnešním online prostředí, kde se neustále objevují nové formy útoků, je ochrana proti DDoS útokům a další formy kybernetických hrozeb zásadní. Cloudflare Free nabízí základní úroveň ochrany, která dokáže zastavit velkou část škodlivého provozu ještě dříve, než se dostane na váš server. Můžete si tak být jisti, že v případě masivního útoku váš web zůstane dostupný a návštěvníci uvidí nejaktuálnější verzi obsahu, protože v případě výpadku původního serveru Cloudflare dokáže i automaticky zobrazit uloženou verzi.
Další zajímavou vlastností je možnost implementace SSL certifikátu bez dalších nákladů. Tato funkce nejenže zvyšuje bezpečnost komunikace mezi uživatelem a serverem, ale také podporuje lepší hodnocení ve vyhledávačích, protože vyhledávače dávají přednost zabezpečeným stránkám. Pro majitele webů, kteří nemají rozsáhlé technické zázemí, je toto řešení obzvlášť cenné, jelikož umožňuje snadno zvýšit důvěryhodnost a profesionální vzhled webu.
Z pohledu administrace WordPressu je integrace Cloudflare velmi příjemná díky oficiálnímu pluginu. Po instalaci pluginu stačí připojit váš Cloudflare účet pomocí API klíče a plugin automaticky nastaví optimální konfiguraci, která zajistí, že cache se automaticky vyprázdní při publikování nového obsahu. Tímto způsobem se eliminuje nutnost manuálního zásahu a úpravy konfigurace při každé změně webu.
Doporučení pro správnou implementaci
Když se rozhodnete využít Cloudflare Free pro váš WordPress web, je důležité věnovat pozornost několika bodům:
Přesné nastavení DNS záznamů: Než přepnete nameservery (NS) na Cloudflare, pečlivě zkontrolujte všechny DNS záznamy (A, CNAME, MX, TXT). Chybná konfigurace může vést k dočasné nedostupnosti webu případně e-mailů, což je nepříjemné nejen pro vás, ale i pro návštěvníky. Pokud je ikonka ve sloupci Proxy status oranžova, znamená to tedy, že DNS záznam je proxovan přes Cloudflare.
Ideální variantou je, aby Cloudflare načetl DNS záznamy sám. V některých případech se však může stát, že některé záznamy chybí, a proto je nutné je pečlivě zkontrolovat a případně manuálně doplnit.

Optimální nastavení Cloudflare pro začátečníky
SSL/TLS (Zabezpečení)
V sekci SSL/TLS Edge Certificates:
Zapněte „Always Use HTTPS“ pro automatické přesměrování veškerého provozu na zabezpečený protokol.
Aktivujte HSTS (HTTP Strict Transport Security) s následujícími hodnotami:
Status: On
Max-Age: 6 months (Doporučeno)
Include subdomains: On
Preload: On
V sekci „Minimum TLS Version“ nastavte verzi TLS 1.2
Zapněte „Opportunistic Encryption“
Zapněte „TLS 1.3“
Zapněte „Automatic HTTPS Rewrites“
Zapněte „Certificate Transparency Monitoring“
V sekci SSL/TLS Origin Server:
Aktivujte „Authenticated Origin Pulls“ pro zvýšení zabezpečení mezi Cloudflare a vaším původním serverem.
Bezpečnost (Security)
V menu Security > Bots:
Zapněte „Bot Fight Mode“, pokud chcete, aby Cloudflare automaticky blokoval škodlivé a potenciálně nebezpečné boty.
V menu Security > Settings:
Zapněte „Browser Integrity Check“ pro blokování potenciálně škodlivých požadavků.
Rychlost (Speed)
V menu Speed > Optimization:
Klikněte na modré tlačítko „Enable all available settings“, které nastaví doporučené hodnoty a zapne optimální nastavení.
Ujistěte se, že všechny možnosti v této sekci jsou zapnuté.
Mezipaměť (Caching)
V menu Caching > Configuration:
Nastavte „Caching Level“ na „Standard“
Nastavte „Browser Cache TTL“ na hodnotu mezi 4 hodinami a 2 měsíci (dle vašich potřeb)
Zapněte „Crawler Hints“
V menu Caching > Tiered Cache:
Zapněte „Tiered Cache“
Nastavte „Tiered Cache Topology“ na hodnotu „Smart Tiered Caching Topology“
Scrape Shield (Ochrana proti kopírování)
V menu „Scrape Shield“ nedoporučuji zapínat:
Email Address Obfuscation – Ačkoliv tato funkce maskuje emailové adresy před automatickými sběrači, přidává do webu JavaScript kód, který může negativně ovlivnit rychlost stránky a snížit skóre v Page Speed Insights, zejména v mobilní verzi webu.
Hotlink Protection – Tato funkce sice řídí pravidla pro hotlinking obrázků (použití vašich obrázků na jiných webech), ale může způsobit komplikace při sdílení URL vašeho webu na sociálních sítích a jinde, protože se nemusí správně načítat náhledové obrázky.
Tato nastavení poskytují dobrou rovnováhu mezi zabezpečením, výkonem a funkčností pro většinu webových stránek. Postupem času můžete tato nastavení upravit podle konkrétních potřeb vašeho webu.
Testování a monitorování
Po implementaci doporučuji pravidelně kontrolovat výkon webu pomocí nástrojů jako https://webpagetest.org nebo PageSpeed Insights a ideálně sledovat pomocí Google Search Console v sekci Core Web Vitals. Tato monitorovací řešení vám poskytnou představu, zda změny skutečně zkracují dobu načítání a zda nedochází k problémům s cachováním. Pokud se objeví nesrovnalosti, můžete zapnout vývojový režim (Development Mode) a ručně smazat cache.

Bezpečnostní strategie
Cloudflare v bezplatné verzi (Free) poskytuje základní úroveň ochrany, ale pokud by se váš web stal cílem sofistikovanějšího útoku, může být vhodné zvážit upgrade na placenou variantu, která nabízí pokročilé funkce jako Web Application Firewall (WAF) nebo další možnosti nastavení DDoS ochrany.
V sekci Security > WAF > Custom Rules muzete nastavit až 5 pravidel pro firewall.
Uvedu 5 příkladu, ktere nejčastějí bězně pouzivam osobne na webech. Pravidla jsem pojmenoval dle vlastního uvážení. Jak je nazvete sami, je čistě na vás.
DŮRAZNÉ UPOZORŇUJI, že ne všechna pravidla jsou vhodná pro každý web a je nutno pečlivě zvážit zda pravidlo potřebujete nebo ne. Může vest k blokování návštěvností, v přístupů důležitým robotům, bráněni propojeni pomoci API a tak dále.
Country block:
Toto pravidlo blokuje přístup ze všech zemí kromě České republiky, Slovenska, USA a Mexika, přičemž vynechává legitimní boty (např. vyhledávače). Akce je nastavena na „Managed Challenge“, což znamená, že návštěvníci z jiných zemí musí projít bezpečnostní kontrolou nebo managed Captchou Cloudflare.
Velmi dobře omezuje přístup z potenciálně rizikových zemí a snižuje riziko útoků. Nicméně může blokovat legitimní uživatele z jiných zemí, což může vést ke ztrátě potenciálních zákazníků nebo návštěvníků webu.
Ukázka pravidla (expression). Lze zkopírovat a vložit do Expression Preview pomoci Edit expression
(not ip.geoip.country in {"CZ" "SK" "US" "MX"} and not cf.client.bot)
INIPravidlo Zabezpečení wp-admin:
Toto pravidlo aplikuje bezpečnostní kontrolu na přístupy do administrátorské sekce WordPress, ale vynechává admin-ajax.php (používané pro AJAX požadavky) a theme-editor.php. Pravidlo je nastaveno na „Managed Challenge“.
Chrání administrátorskou část webu před neoprávněným přístupem, ale zachovává funkčnost AJAX požadavků.
Zopakuji, pravidlo vynechá theme-editor.php a tak může představovat bezpečnostní riziko, protože tento soubor umožňuje úpravy kódu šablony.
Ukázka pravidla (expression). Lze zkopírovat a vložit do Expression Preview pomoci Edit expression
(http.request.uri.path contains "/wp-admin/" and not http.request.uri.path contains "/wp-admin/admin-ajax.php" and not http.request.uri.path contains "/wp-admin/theme-editor.php")
INIPravidlo Skip:
Toto pravidlo vynechává bezpečnostní kontroly pro specifické autonomní systémy (AS) identifikované čísly 32934 (Facebook), 15169 (Google) a 63293 (též Facebook). Pravidlo je nastaveno tak, aby přeskočilo všechny WAF komponenty včetně vlastních pravidel, rate limitů, managed rules a dalších bezpečnostních funkcí.
Umožňuje bezproblémový přístup legitimním službám jako jsou vyhledávací boty nebo sociální sítě. Pokud by došlo ke kompromitaci IP adres v těchto AS, mohlo by to vést k obejití všech bezpečnostních opatření. Příliš široké vynechání bezpečnostních kontrol může vytvářet zranitelnosti.
Ukázka pravidla (expression). Lze zkopírovat a vložit do Expression Preview pomoci Edit expression
(ip.geoip.asnum in {32934}) or (ip.geoip.asnum in {15169}) or (ip.geoip.asnum in {63293})
INIOchrana souboru xmlrpc.php:
Skript xmlrpc.php je častým cílem útoků na WordPress, zejména pokusů o hrubou sílu (Brute force neboli také brute attack). Toto pravidlo zablokuje nebo vyzve k ověření (challenge) požadavky směřující na tento soubor, pokud nepocházejí z ověřeného zdroje.
Ukázka pravidla (expression). Lze zkopírovat a vložit do Expression Preview pomoci Edit expression
(http.request.uri.path eq "/xmlrpc.php")
INIBlokování pokusů o XSS útoky v dotazovacím řetězci
Pokud dotaz obsahuje podezřelé vzory, jako je například značkování skriptů („<𝚜𝚌𝚛𝚒𝚙𝚝>“) může to signalizovat pokus o cross-site scripting útok. Pravidlo odfiltruje takové požadavky, čímž přispívá k ochraně webu.
Ukázka pravidla (expression). Lze zkopírovat a vložit do Expression Preview pomoci Edit expression
(http.request.uri.query matches "(?i)<script>")
INIKonfigurace pravidel v sekci Page Rules
I když bezplatná verze umožňuje vytvořit jen omezený počet pravidel a to konkrétně pouze 3, je dobré je využít k optimalizaci nebo ochraně citlivých částí webu – například administrace nebo stránky pro přihlášení. Doporučuje se nastavit, aby pro tyto části neprobíhalo cachování, což pomáhá předcházet problémům při správě obsahu. Zde si můžete přečíst více o Page Rules. Pro optimalizaci výkonu a bezpečnosti vašeho WordPress/WooCommerce webu na bezplatné verzi Cloudflare doporučuji následující pravidla stránek Page Rules:
DŮRAZNÉ UPOZORŇUJI, že ne všechna pravidla jsou vhodná pro každý web a je nutno pečlivě zvážit zda pravidlo potřebujete nebo ne. Může vest k nefunkčnosti webu a/nebo rozhození vzhledu a překešování stránek a tak dále.
Kešování statického obsahu:
Toto pravidlo zajišťuje, že soubory, které se nemění (například obrázky, CSS nebo JavaScript), jsou uloženy (kešováné) na serverech Cloudflare. Díky tomu se tyto soubory načítají z místní mezipaměti namísto z vašeho hlavního serveru, což výrazně zrychluje načítání stránek a snižuje zátěž vašeho hostingu.
URL vzor: *vasedomena.cz/wp-content/uploads/*
Nastavení: "Cache Level" na "Cache Everything", "Edge Cache TTL" na "a month".
INIOchrana administrace:
Administrátorská část webu (obvykle wp-admin) by neměla být kešována, protože obsahuje dynamické informace, které se mění při každém přihlášení nebo úpravě (editaci obsahu). Pravidlo zajistí, že žádný kešovací mechanismus nezasáhne do těchto stránek, a navíc zvýší bezpečnostní úroveň, což pomáhá chránit přístup k administraci před neautorizovanými uživateli.
URL vzor: *vasedomena.cz/wp-admin/*
Nastavení: "Cache Level" na "Bypass", "Security Level" na "High", "Disable Apps", "Disable Performance".
ININe-kešování dynamického obsahu:
Pravidlo zakáže kešování stránek, které obsahují dynamické informace, jako jsou košík, pokladna nebo zákaznický účet. U WooCommerce je to důležité, protože tyto stránky se musí vždy aktualizovat, aby správně odrážely aktuální stav objednávek a zásob. Díky tomu se zabrání zobrazování zastaralých informací.
URL vzor: *vasedomena.cz/cart/*, *vasedomena.cz/checkout/*, *vasedomena.cz/my-account/*
Nastavení: "Cache Level" na "Bypass", "Disable Performance".
INIOchrana přihlašovací stránky:
Stránka pro přihlášení (wp-login.php) je častým cílem útoků hrubou silou, kdy se útočníci snaží prolomit hesla. Toto pravidlo zajistí, že tato stránka nebude kešována a zároveň nastaví vyšší bezpečnostní úroveň, aby bylo složitější útočníkům získat přístup. Toto pravidlo je na zváženi, protože pravděpodobně je již nastaveno WAF pravidlo.
URL vzor: *vasedomena.cz/wp-login.php*
Nastavení: "Security Level" na "High", "Cache Level" na "Bypass", "Disable Apps", "Disable Performance".
INIOptimalizace hlavní stránky:
Pro hlavní stránku je vhodné nastavit specifické kešovací pravidlo, které pomůže dosáhnout stabilního a rychlého načítání. Nastavením standardní úrovně kešování a určením doby uchovávání obsahu (Edge Cache TTL) na jeden den se zajistí, že hlavní stránka bude vždy rychle dostupná pro návštěvníky.
URL vzor: *vasedomena.cz/
Nastavení: "Cache Level" na "Standard", "Edge Cache TTL" na "a day".
INICloudflare Cache Rules pro WordPress / WooCommerce
Pravidlo pro statické soubory:
Toto pravidlo zachytí všechny soubory ve složce wp-content, což jsou většinou obrázky, dokumenty a další statické soubory, které se nemění často.
Proč je dobré: Dramaticky zrychlí načítání webu, protože statické soubory tvoří většinu objemu stahovaných dat.
Omezení: Pokud často aktualizujete obsah ve složce wp-content (například obrázky), návštěvníci mohou vidět starší verze. Je nutné Page Cache promazávat!
Ukázka pravidla (expression). Lze zkopírovat a vložit do Expression Preview pomoci Edit expression
(http.request.uri.path contains "/wp-content/")
INIPravidlo pro RSS feedy:
Kešuje RSS kanály, které používají čtečky a agregátory obsahu pro zobrazování vašich novinek.
Proč je dobré: Chrání server před přetížením, když mnoho čteček najednou kontroluje aktualizace.
Omezení: Nové články se mohou v RSS feedech objevit se zpožděním třeba až za hodinu, podle nastavení.
Ukázka pravidla (expression). Lze zkopírovat a vložit do Expression Preview pomoci Edit expression
(http.request.uri.path contains "/feed/" or http.request.uri.path eq "/feed")
INIPravidlo pro API požadavky:
Zabraňuje kešování API požadavků, které se používají pro komunikaci s mobilními aplikacemi nebo jinými službami.
V sekci „Cache Status“ vyberte „Bypass cache“
Proč je dobré: Zajišťuje, že API poskytuje vždy aktuální data, což je kritické pro správnou funkčnost.
Omezení: API požadavky budou vždy zatěžovat váš server, což může být problém při velkém provozu.
Ukázka pravidla (expression). Lze zkopírovat a vložit do Expression Preview pomoci Edit expression
(http.request.uri.path contains "/wp-json/" or http.request.uri.path contains "/wc-api/")
INIPravidlo pro soubory médií:
Kešuje všechny běžné typy mediálních souborů bez ohledu na jejich umístění.
Proč je dobré: Mediální soubory tvoří největší část dat na webu, jejich kešování zásadně zrychlí načítání.
Omezení: Pokud nahradíte obrázek stejným názvem, návštěvníci uvidí starou verzi po dobu až 4 hodiny nebo až 2 měsíce, podle nastavení. Je nutné Page Cache promazávat!
Ukázka pravidla (expression). Lze zkopírovat a vložit do Expression Preview pomoci Edit expression
(http.request.uri.path matches ".*\.(jpg|jpeg|png|gif|webp|svg|mp4|webm|mp3|ogg)$")
INIPravidlo pro JavaScript a CSS soubory:
Kešuje JavaScript a CSS soubory, které definují funkčnost a vzhled vašeho webu.
Proč je dobré: Tyto soubory jsou důležité pro rychlost načítání a jejich kešování výrazně zlepšuje výkon.
Omezení: Po aktualizaci motivu nebo pluginu nemusí být změny ihned viditelné kvůli kešování. Je nutné Page Cache promazávat!
Ukázka pravidla (expression). Lze zkopírovat a vložit do Expression Preview pomoci Edit expression
(http.request.uri.path matches ".*\.(js|css)$")
INIPravidlo pro AJAX požadavky:
Vynechává z keše AJAX požadavky, které se používají pro dynamickou funkčnost bez nutnosti znovu načítat stránku.
V sekci „Cache Status“ vyberte „Bypass cache“
Proč je dobré: Zabraňuje problémům s interaktivními prvky webu, jako jsou formuláře nebo filtry produktů.
Omezení: Všechny AJAX požadavky budou zatěžovat váš server, což může být problém při vysokém provozu.
Ukázka pravidla (expression). Lze zkopírovat a vložit do Expression Preview pomoci Edit expression
(http.request.uri.path contains "/wp-admin/admin-ajax.php")
INIPravidlo pro ignorování reklamních parametrů v cache jako je GCLID, UTM a Facebook parametry:
Toto pravidlo zajišťuje, že stránky budou kešovány bez ohledu na parametry jako GCLID, UTM_source a další, které se používají pro sledování marketingových kampaní.
Proč je dobré: Dramaticky zlepšuje poměr zásahů v cache, protože stejný obsah stránky s různými UTM parametry bude sdílet stejnou verzi v cache.
Omezení: Může způsobit problémy, pokud máte obsah, který se skutečně mění na základě URL parametrů.
Cache status: Cache eligible
Cache Key Fields: Ignore Query String
Edge TTL: 2 hours
Cache Level: Cache everything
Respektovat hlavičky origin expirace: Yes
Ukázka pravidla (expression). Lze zkopírovat a vložit do Expression Preview pomoci Edit expression
(http.request.method eq "GET")
INIAlternativní přístup s Cache Key Fields
Pokud potřebujete více specifické řešení, můžete použít nastavení „Custom Cache Key“, kde můžete explicitně definovat, které parametry se mají ignorovat.
V sekci When incoming requests match… vytvořte složitější podmínku:
Klikněte na Edit expression:
(http.request.method eq "GET" and http.request.uri.query contains "gclid" or http.request.uri.query contains "utm_" or http.request.uri.query contains "fbclid")
INIAlternativně můžete podmínku vytvořit pomocí grafického rozhraní přidáním více pravidel a operátorů
V sekci Cache status vyberte Cache eligible V sekci Cache key vyberte Custom cache key
Zaškrtněte Query string
V rozevíracím menu vyberte Exclude
Do pole zadejte jednotlivé parametry, které chcete ignorovat. Můžete je zadávat buď jednotlivě, nebo je oddělit čárkami:
gclid, utm_source, utm_medium, utm_campaign, utm_term, utm_content, fbclid, fb_ref
INIV sekci Edge TTL nastavte 2 hours (podle vlastní potřeby)
V sekci Cache level vyberte Cache everything
Zaškrtněte Honor origin headers
Nakonec klikněte na tlačítko Deploy pro uložení pravidla.
Toto pokročilejší nastavení je užitečné, když chcete mít jemnější kontrolu nad tím, které konkrétní parametry se ignorují při kešování, zatímco ostatní parametry jsou stále respektovány. Je to vhodné zejména pro weby, které používají URL parametry pro některé funkční účely (např. filtrování), ale zároveň také obsahují marketingové parametry.
Co můžete očekávat v praxi
Uživatelé, kteří implementovali Cloudflare Free CDN na svých WordPress webech, si často chválí zejména rychlost načítání, která se může zlepšit až o desítky procent. Mnozí zaznamenali, že díky optimalizaci statického obsahu se výrazně snížila zátěž na jejich původní hosting / server, což se projevilo i stabilitou webu během náporu návštěv. Na druhou stranu se ale někdy objeví problémy s mezipamětí, kdy je třeba cache ručně vyprázdnit, aby se projevily nové změny. Tyto situace jsou však obvykle snadno řešitelné pomocí přehledného rozhraní v Cloudflare administraci a oficiálního WordPress pluginu.
Navíc integrace Cloudflare nabízí i další nečekané benefity – například díky rychlejšímu načítání se zlepšuje celková uživatelská zkušenost, což se pozitivně odráží na míře zapojení návštěvníků a v konečném důsledku i na SEO. V dnešní době, kdy je konkurence v online prostoru velká, může být právě tato kombinace výkonu a bezpečnosti tím, co vám pomůže udržet a rozvíjet vaši online přítomnost.
Závěrečné slovo
Implementace Cloudflare Free CDN pro WordPress weby není pouze o rychlejším načítání, ale představuje komplexnější řešení, které zvyšuje bezpečnost a stabilitu vašeho webu. Správné nastavení DNS, pečlivá konfigurace pravidel a pravidelné monitorování výkonu vám umožní získat maximum z této služby. I když bezplatná verze má svá omezení, pro malé a střední weby poskytuje dostatečnou ochranu a výrazné zrychlení načítání. Pokud se vám projekt rozroste a požadavky na ochranu či výkon vzrostou, je možné přejít na pokročilejší tarify a/nebo Cloudflare APO
Další významnou výhodou je základní ochrana proti DDoS útokům a některým automatizovaným hrozbám. Cloudflare také poskytuje bezplatný SSL certifikát, který zabezpečuje komunikaci mezi návštěvníky a vaším webem a zvyšuje důvěryhodnost stránky. Snadná integrace s WordPress je umožněna díky oficiálnímu pluginu, který dokáže automaticky vyprázdnit cache při úpravách obsahu, což zjednodušuje správu webu. Pro začátečníky nebo mírně pokročilé uživatele jde o skvělou volbu.
Na druhou stranu, bezplatná verze má určitá omezení. Nabízí například jen omezený počet page rules, což může znamenat nedostatečnou flexibilitu při nastavování specifických pravidel pro dynamický obsah, administraci či přihlašovací stránky. Neposkytuje pokročilé funkce webového firewallu ani detailní ochranu proti složitějším útokům, což může být problém u větších nebo více navštěvovaných stránek. Od bezplatné verze lze tedy očekávat základní úroveň zrychlení a ochrany, která však nemusí stačit pro komplexní provoz nebo vysoce náročné aplikace.
Tento návod je určen k tomu, aby vám pomohl nejen pochopit, jak Cloudflare Free CDN funguje, ale také jak jej efektivně implementovat a využít k dlouhodobému zlepšení uživatelské zkušenosti a bezpečnosti vašeho webu. Díky této strategii můžete mít jistotu, že váš WordPress web bude nejen o něco rychlejší, ale také odolnější vůči nepříznivým vlivům moderního online prostředí.
Pokud nechcete zkoumat pokročilejší nastavení Cloudflare, můžete tedy využít oficiální plugin pro WordPress, který automaticky nastaví základní optimální konfiguraci. Není to nic revolučního, ale jedná se o pohodlné řešení. Více informací najdete na stránce: Cloudflare integrace s WP
Jednoduše, je lepší mít nasazeno Cloudflare než nemít 🙂