Cache Everything na Cloudflare bezpečně: návod pro WordPress + FlyingPress

11. 8. 2025

Cachování je jedna z nejefektivnějších metod, jak zrychlit načítání webu. Většina majitelů WordPress webů používá cache pluginy (WP Fastest Cache, W3 Total Cache, FlyingPress aj.), ale ty ukládají obsah především na úrovni vašeho hostingu.
Pokud ale chceme opravdu snížit TTFB (Time To First Byte) a zrychlit načtení stránek po celém světě, je ideální využít Cloudflare Cache Everything.
V tomto článku vám ukážu, jak jej nastavit bezpečně – tedy tak, aby se nikdy neuložila přihlášená administrátorská verze webu. A to i ve Free verzi Cloudflare.

💡 Tip: Nastavení funguje i ve Free verzi Cloudflare. Přidání domény do Cloudflare vysvětlím v jednom z dalších článků.

Proč nestačí jen cache plugin

Cache plugin ve WordPressu ukládá kopie stránek na serveru vašeho hostingu. To pomáhá, ale:

  • Pořád se musí čekat na odezvu serveru.

  • U levnějších nebo sdílených hostingů může být TTFB výrazně vyšší.

  • Návštěvníci z jiných zemí mají delší dobu načítání.

Cloudflare naopak ukládá kopie stránek do své globální sítě CDN. To znamená:

  • Stránka se načítá z nejbližšího datacentra.

  • Server vašeho hostingu není při každém načtení tolik zatěžován.

  • TTFB se může snížit z více než 500 ms třeba na 50–70 ms.

Proč je důležité „bezpečné“ nastavení

⚠️ Pozor: Špatné nastavení Cache Everything může vést k tomu, že se uloží přihlášená verze webu. To je vážný bezpečnostní problém!

Funkce Cache Everything je výkonná, ale nebezpečná, pokud není nastavena správně.
Bez výjimek by se mohla uložit i verze pro přihlášeného administrátora – včetně administrační lišty, nebo dokonce neveřejného obsahu.

Proto nastavíme Page Rule / Transform Rule, která:

  • Cachuje obsah pro běžné návštěvníky.

  • Automaticky bypasuje cache, pokud má návštěvník cookies přihlášeného uživatele.

  • Vyloučí administraci, login a API cesty.

Co budete potřebovat

  • Účet na Cloudflare (Free verze stačí).

  • Doména přidaná do Cloudflare (návod přinesu v jednom z dalších článků).

  • Plugin FlyingPress (nebo jiný cache plugin, ale v článku ukazuji na FlyingPress).

  • Přístup do WordPress administrace.

Krok za krokem – nastavení v Cloudflare

ℹ️ Tip: Názvy sekcí v Cloudflare se mohou mírně lišit podle verze rozhraní, ale princip je stejný.

Vytvoření Cache Rules

1. pravidlo: Bypass Logged-in & Admin

  • Otevřete Cloudflare → CachingCache rules
  • Klikněte na Create rule
  • Ukáží se 3 možnosti – vyberte Bypasse Cache → Create a rule
  • Pravidlo si můžeme pojmenovat jako Bypass Logged-in & Admin
  • Vybereme Custom filter expression a nastavíme podmínky (stačí podmínky níže uvedené okopírovat a v tomto formátu vložit)
				
					(http.request.uri.path contains "/wp-admin") or 
(http.request.uri.path contains "/wp-login.php") or 
(http.request.uri.path contains "/wp-json/") or 
(http.cookie contains "fp_logged_in_roles") or 
(starts_with(http.cookie, "wordpress_logged_in_")) or 
(starts_with(http.cookie, "wordpress_sec_")) or 
(starts_with(http.cookie, "wp-settings-")) or 
(starts_with(http.cookie, "fp_logged_in_roles"))

				
			
  • Zaškrtneme Bypass cache
  • Browser TTL nastavíme na Respect origin TTL 
  • Place at nastavíme na First
  • Pravidlo uložíme
ℹ️ Tip: Níže vkládám screeny z Cloudflare pro snadnější nastavení v pořadí, jak jsem pravidlo nastavovala. Kliknutím si obrázek zvětšíte.

Nyní nastavíme druhé pravidlo

2. pravidlo: Cache everything HTML

  • Otevřete Cloudflare → CachingCache rules
  • Klikněte na Create rule
  • Ukáží se 3 možnosti – vyberte Cache Everything → Create a rule
  • Pravidlo si můžeme pojmenovat jako Cache everything HTML
  • Vybereme Custom filter expression a nastavíme podmínky (stačí podmínky níže uvedené okopírovat a v tomto formátu vložit)
				
					not http.cookie contains "wordpress_logged_in_" 
and not http.cookie contains "wordpress_sec_" 
and not http.cookie contains "wp-settings-" 
and not http.cookie contains "wp-postpass_" 
and not http.cookie contains "fp_logged_in_roles" 
and not http.request.uri.path contains "/wp-admin" 
and not http.request.uri.path contains "/wp-login.php" 
and not http.request.uri.path contains "/wp-json/"

				
			
  • Zaškrtneme Eligible for cache
  • Edge TTL necháme na volbě Use cache-control header if present, cache request with Cloudflare’s default TTL for the response status if not
  • Browser TTL nastavíme na Override origin and use this TTL s hodnotou např. 1 den 
  • Pravidlo uložíme
ℹ️ Tip: Níže vkládám screeny z Cloudflare pro snadnější nastavení v pořadí, jak jsem pravidlo nastavovala. Kliknutím si obrázek zvětšíte.

Nová pravidla tedy vypadají takto, jako na obrázku níže.

⚠️ Pozor: Nezapomeňte nyní vyprázdnit serverovou cache na Cloudflare zmáčknutím Purge Everything.

Pokud jsme tam ještě neučinili a pokud používáte cachovací plugin (WP Fastest Cache, W3 Total Cache, FlyingPress aj.) je důležité v něm mít nastaveno zakázání kešování pro přihlášené uživatele. FlyingPress pro správné fungování bylo třeba donastavit Bypass dle obrázku níže a přidat výjimky :

wordpress_logged_in_
wordpress_sec_
wp-settings-
wp-postpass_
fp_logged_in_roles

 

⚠️ Pozor: Nyní je třeba provést důkladnou kontrolu nastavení, zda se nám všechny výjimky propsaly a kešuje se jen to, co se kešovat má.

Jak otestovat, zda cache funguje správně

  • Otevřete web v anonymním/privátním okně
    (v Chrome nebo Edge použijte Ctrl + Shift + N, ve Firefoxu Ctrl + Shift + P).

  • Zapněte DevTools
    → klávesa F12 nebo klikněte pravým tlačítkem na stránku a vyberte „Prozkoumat“.

  • Přejděte do záložky Network
    a obnovte stránku (Ctrl + R nebo F5).

  • Klikněte na první požadavek na stránku (většinou váš https://domena.cz/) a vpravo otevřete panel Headers (Záhlaví).

  • V sekci Response Headers zkontrolujte řádek:

    • cf-cache-status
      → pro nepřihlášené uživatele by měl být HIT (obsah se načetl z Cloudflare cache).
      → pro přihlášené uživatele nebo v administraci by měl být BYPASS nebo DYNAMIC (stránka se nenačetla z cache).

  • Proveďte test i v přihlášeném režimu

    • Otevřete web normálně (jako přihlášený do WordPress administrace).

    • Ověřte v DevTools, že na úvodní stránce máte BYPASS/DYNAMIC.

    • Pokud vidíte HIT, znamená to, že se cachuje i přihlášená verze – to je špatně a pravidla je třeba upravit.

ℹ️ Tip: Vkládám níže screeny, kde co sledovat – nejprve jsou 2 obrázky z anonymního okna a poté 2 obrázky ze zalogované stránky. Kliknutím obrázek zobrazíte celý.
✅ Příklad z praxe: Než se radujete, že máte „Cache Everything“ správně nastavené, ověřte si, že se náhodou do cache neukládá i přihlášená verze webu. Pokud by se to stalo, riskujete, že běžní návštěvníci uvidí administrátorskou lištu nebo obsah určený jen pro vás. Proto je potřeba udělat rychlý test v anonymním okně a v přihlášeném režimu. Postup je jednoduchý a díky DevTools ho zvládnete během pár sekund, jak popisuji výše a ukazuji na screenech.
Facebook
LinkedIn

A nyní je na řadě Vaše realizace a Vaše představa. Jsme tu pro Vás, abychom Vám pomohli vytvořit nový web, nebo dát "nový kabát" stávajícímu.

Kolik stojí webové stránky?

Jednostránkový web

Jednostránka s max. 5 sekcemi
Od 9 999,- Kč
  •  

Standardní web

Web do 5 samostatných podstránek
Od 12 499,- Kč
  •  
Oblíbený

Profi web

Více podstránek, blogy, magazíny, inzerce, kalkulace...
Od 17 999,- Kč
  •  

E-shop

Kompletní eshop
Od 24 900,- Kč
  •  

Řekli o nás...

Cenu přizpůsobíme Vašemu rozpočtu a představám

Zjistěte cenu vašeho projektu

Plánujete nový web nebo potřebujete oživit ten stávající? Napište nám a získejte přesnou cenovou kalkulaci  právě pro vaše potřeby. Bez závazků, plně přizpůsobené vašemu rozpočtu a představám.

Napište nám...