Co je edge caching a proč je klíčový pro moderní web
Edge caching je strategie doručování obsahu, při které se často požadovaná data (HTML, JSON, obrázky, CSS/JS, fonty) ukládají na takzvaných okrajích sítě – v PoP (Points of Presence) geograficky blízkých uživatelům. Cílem je snížit latenci, zatížení původního serveru, zlepšit stabilitu a doručování v době špičky, a tím také zlepšit metriky uživatelské zkušenosti (zejména LCP, INP a CLS). Pro AIO/AEO a moderní SEO to znamená rychleji indexovatelné stránky, vyšší dostupnost a lepší konverzní výkon.
Architektura: od originu po okraj
- Origin: původní server nebo kontejnerová/bezeserverová aplikace, kde vzniká „pravda“ – kanonická data a šablony.
- CDN/Edge vrstva: globální síť PoP, která uchovává cachované objekty a provádí logiku na okraji (režii, transformace, validace).
- Klient: prohlížeč nebo robot, který přistupuje k obsahu přes nejbližší PoP, čímž se zkracuje RTT a stahování se paralelizuje.
Po prvním požadavku na origin se odpověď opatří cacheovacími hlavičkami a uloží do edge cache. Následující požadavky ze stejného regionu pak obslouží PoP bez nutnosti přístupu k originu, dokud nevyprší TTL nebo neproběhne invalidace.
Cache key: identita objektu v cache
Cache key určuje, co se považuje za „stejný“ obsah. Typicky zahrnuje schéma, hostitele a cestu (scheme://host/path). V praxi jej rozšiřujeme o další dimenze:
- Query string: určete, které parametry jsou součástí klíče (allowlist, např.
page,lang) a které se mají ignorovat (např.utm_*). - Variace podle hlaviček (
Vary): jazyk (Accept-Language), komprese (Accept-Encoding), zařízení nebo geolokační signály. - Princip bez cookies: vyhněte se zahrnutí všech cookies do klíče; jinak se cache roztříští až na úroveň jednotlivých uživatelů.
TTL, revalidace a stale mechanismy
- TTL (Time To Live): základní doba platnosti. Kratší TTL snižuje riziko zastarání, delší zvyšuje hit rate.
- Revalidace: pomocí
ETag/If-None-MatchaLast-Modified/If-Modified-Sincemůže edge ověřit aktuálnost bez úplného přenosu. - stale-while-revalidate: PoP okamžitě vrátí starší verzi a souběžně si vyžádá aktuální; další požadavek už dostane aktualizovanou verzi.
- stale-if-error: při chybě originu se raději doručí nedávná verze, než aby se zobrazila chyba 5xx.
Cache-Control, Surrogate-Control a Vary: řízení chování
- Cache-Control: např.
public, max-age=600, stale-while-revalidate=30. - Surrogate-Control: rozšířené pokyny pro edge, odlišné od pokynů pro prohlížeče (umožní delší TTL na edge než v prohlížeči).
- Vary: omezte pouze na skutečně potřebné hlavičky, abyste nezpůsobili explozi počtu variant.
Strategické vrstvení: co a jak cachovat
- Statické zdroje (obrázky, fonty, CSS/JS): agresivní cachování s verzováním názvů souborů (hash v URL) a dlouhým TTL.
- HTML: krátké až střední TTL, revalidace a selektivní personalizace prostřednictvím logiky na edge (ESI/fragmenty, server-side includes, částečné šablony na edge).
- Odpovědi API: idempotentní požadavky GET se správnými hlavičkami a klíči; zohledněte
Accepta stránkování. - Varianty obrázků (AVIF/WebP, šířky): generování a cachování přímo na edge podle hlavičky
Accepta požadovaných rozměrů.
Personalizace a variace bez narušení cache
Častou chybou je úplná personalizace HTML na origin serveru spolu s nastavováním cookies, což znemožní sdílenou cache. Lepší přístupy:
- Fragmentace na edge: většina stránky se cachuje; personalizované fragmenty se vkládají dynamicky (např. podle bezstavové identity, geolokace nebo varianty A/B testu).
- Client hints a detekce funkcí: volte variace podle schopností zařízení, nikoli podle uživatele.
- Podepsané/šifrované cookies pouze v opravdu nezbytných případech a pokud možno mimo cache key.
Invalidace: purge, soft purge a cílené obnovení
- Invalidace podle URL: zneplatnění konkrétní cesty po publikování obsahu.
- Invalidace podle tagu/klíče: přiřazení „tagů“ objektům (např. ID článku, kategorie) umožňuje hromadnou invalidaci souvisejících URL.
- Soft purge: označení objektu za zastaralý, ale stále doručitelný prostřednictvím stale-while-revalidate, což umožňuje nulové výpadky.
- Obnovení řízené událostmi: CI/CD nebo webhook CMS spouští přepočítání a předběžné naplnění cache (prefetch, pre-warm) u klíčových stránek.
Bezpečnost, soulad s předpisy a ochrana před útoky
- WAF a omezení počtu požadavků na edge vrstvě k ochraně originu.
- Podepsané URL/cookies pro chráněné zdroje, aby nebylo možné cache zneužít.
- Ochrana před cache poisoningem: přísná kontrola hlaviček, normalizace query a seznam povolených hodnot pro
Vary. - Ukončení HTTPS/TLS na edge minimalizuje latenci navazování spojení; podpora HTTP/2 a HTTP/3.
Edge compute: transformace a logika na okraji
Kromě samotného cachování dokáže edge provádět nenáročné výpočty a transformace: úpravy hlaviček, směrování A/B testů, geotargeting, převod formátu obrázků, přepočítávání přesměrování, validaci tokenů nebo omezování počtu požadavků. Dobře navržená logika snižuje počet cache miss na origin a zlepšuje kontrolu nad variacemi.
Měření přínosů: metriky výkonu a efektivity cache
- Poměr zásahů cache (globálně i podle PoP), odlehčení originu a počet revalidací oproti úplným načtením.
- Latence TTFB a percentily (p50/p75/p95) podle regionů.
- Core Web Vitals (LCP, INP, CLS) z dat CrUX/field a syntetických měření.
- Stabilita ve špičce: chybovost 5xx, saturace spojení na originu, odezva během kampaní a nasazení.
Edge caching a moderní SEO/AEO
- Rychlost indexace: nižší TTFB a stabilní doručování zlepšují crawl budget a frekvenci opětovné indexace.
- Možnost vykreslení: předpřipravené HTML (SSR/SSG) s krátkým TTL minimalizuje riziko neúplného vykreslení roboty.
- Internacionalizace: variace podle jazyka a země s disciplinovaným
Varyahreflangpřehledně mapují obsah. - Stabilita kampaní: při špičkách (virální obsah, PR) edge eliminuje efekt „thundering herd“ na originu.
Antivzory, které ničí hit rate a UX
- Nekontrolované cookies na úrovni celého webu, které se dostanou do cache key.
- Příliš široké Vary (např. pro všechny hlavičky), což vede k fragmentaci.
- Nejednoznačné URL a parametry bez normalizace (duplicitní obsah, problémy s kanonizací).
- Žádná revalidace: buď extrémně krátké TTL (továrna na cache miss), nebo naopak příliš dlouhé bez mechanismu „stale“.
- Vložený kritický obsah bez verzování, což znemožňuje dlouhé cachování statických zdrojů.
Provozní postupy: jak navrhnout politiku cache
- Segmentace obsahu: rozdělte obsah na statický (agresivní TTL + hash) a dynamický (krátké TTL + revalidace).
- Definujte cache key: seznam povolených query parametrů; minimalizujte
Vary; odstraňte nepotřebné cookies. - Nastavte hlavičky:
Cache-Control, případněSurrogate-Control,ETagaLast-Modified. - Zaveďte stale strategie: stale-while-revalidate a stale-if-error pro zajištění kontinuity doručování.
- Automatizujte invalidaci: hooky CI/CD, purge podle tagů a soft purge při změnách obsahu.
- Monitorujte: poměr zásahů podle PoP, TTFB podle regionu, CWV v terénu a zpětnou vazbu uživatelů.
Optimalizace obrázků a médií na edge
- Automatická konverze formátů (AVIF/WebP) podle hlavičky
Accepta záložní formát. - Změna velikosti podle šířky (srcset, dpr, specifické varianty) s cachováním variant přímo na edge.
- Líné načítání a náznaky priority v kombinaci s krátkým TTFB mají výrazný vliv na LCP.
Edge caching a SPA/SSR/SSG
- SSG: jednoduché řešení – dlouhé TTL, invalidace po nasazení, výborný hit rate.
- SSR: HTML s kratším TTL a revalidací; kritické fragmenty přes edge.
- SPA: předběžné vykreslení vstupních stránek (první načtení) a agresivní cachování statických bundle; načítání dat z API s rozumným TTL.
Governance: kdo odpovídá za cache a jak řídit změny
- Odpovědnost: vlastník politiky cache (typicky platformní tým) s jasnými pravidly pro produktové týmy.
- Šablony a ochranná opatření: přednastavené profily TTL a Vary pro typy stránek/komponent.
- Provozní příručky: postupy pro incidenty (purge, rollback, dočasné zkrácení TTL) a události s vysokým provozem.
Kontrolní seznam pro nasazení edge cache
- URL jsou kanonizované, query parametry normalizované a nepodstatné ignorované.
Cache-Controla/neboSurrogate-Controldefinují TTL, stale politiky a možnost cachování.ETagneboLast-Modifiedjsou zapnuté; revalidace funguje.- Minimalistické
Vary(jazyk, encoding) – bez dalších hodnot, pokud k tomu není důvod. - Statické zdroje jsou verzované hashem v názvu a mají velmi dlouhé TTL.
- HTML má konzervativní TTL a stale-while-revalidate; vybrané fragmenty se personalizují na edge.
- Automatická invalidace je navázaná na CMS/CI/CD; podporuje se purge podle tagů.
- Monitorování poměru zásahů podle PoP, TTFB podle regionu a CWV v terénu; upozornění při poklesu poměru zásahů.
- WAF a ochrana proti cache poisoning; podpisy pro privátní zdroje.
Edge caching jako základ škálovatelného webu připraveného na SEO
Edge caching je víc než jen „sklad obrázků“ – je to architektonický princip, který přesouvá výpočty i data blíže k uživateli. Správně navržená politika cache s jasným cache key, vyváženým TTL, disciplinovaným Vary, revalidací a automatizovanou invalidací přináší rychlejší načítání, stabilitu ve špičce, lepší Core Web Vitals a konzistentní doručování uživatelům i robotům. Pro AIO/AEO a moderní SEO je to nezbytná infrastrukturní schopnost, která vytváří trvalou konkurenční výhodu.
