Edge caching: ukládání obsahu na okraji sítě

Co je edge caching a proč je klíčový pro moderní web

Edge caching je strategie doručování obsahu, při níž se často požadovaná data (HTML, JSON, obrázky, CSS/JS, fonty) ukládají na tzv. 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 špičkách, 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á rychlejší indexovatelné stránky, vyšší dostupnost a lepší konverzní výkon.

Architektura: od originu po okraj

  • Origin: původní server nebo kontejnerová/bezserverová aplikace, kde vzniká „pravda“ – kanonická data a šablony.
  • CDN/Edge vrstva: globální síť PoP, která uchovává cacheované objekty a provádí logiku na okraji (režie, 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 zásahu na origin se odpověď označí cacheovacími hlavičkami a uloží v edge cache. Následující požadavky ze stejného regionu pak obslouží PoP bez nutnosti cestovat k originu, dokud nevyprší TTL nebo nedojde k invalidaci.

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: definujte, které parametry jsou součástí klíče (allowlist, např. page, lang) a které ignorovat (např. utm_*).
  • Header-based variace (Vary): jazyk (Accept-Language), komprese (Accept-Encoding), zařízení nebo geolokační signály.
  • Bezcookies princip: vyhněte se zahrnutí všech cookies do klíče; jinak by se cache fragmentovala až na úroveň jednotlivců.

TTL, revalidace a stale mechaniky

  • 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-Match a Last-Modified/If-Modified-Since může edge ověřit čerstvost bez plného přenosu.
  • stale-while-revalidate: PoP vrátí starší verzi okamžitě a paralelně si zažádá o čerstvou; další hit už dostane aktualizaci.
  • stale-if-error: při chybě originu se raději doručí nedávná verze než zobrazit 5xx chybu.

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žňuje delší edge TTL než browser TTL).
  • Vary: minimalizujte jen na skutečně potřebné hlavičky, abyste nezpůsobili explozivní množství variant.

Strategické vrstvení: co a jak cacheovat

  • Statické zdroje (obrázky, fonty, CSS/JS): agresivní cache 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 přes edge logiku (ESI/fragmenty, server-side includes, edge template partials).
  • API odpovědi: idempotentní GET s správnými hlavičkami a klíči; berte v potaz Accept a stránkování.
  • Obrázkové varianty (AVIF/WebP, šířky): generování a cache přímo na edge podle Accept a požadovaných rozměrů.

Personalizace a variace bez rozbití cache

Častý omyl je kompletní personalizace HTML na origin serveru s nastavováním cookies, což znemožňuje sdílenou cache. Lepší přístupy:

  • Edge fragmentace: většina stránky je cacheována; personalizované fragmenty se dynamicky vkládají (např. podle bezstavové identity, GEO nebo AB varianty).
  • Client hints a feature detection: vybírejte variace podle schopností zařízení, nikoli podle uživatele.
  • Signed/Encrypted cookies pouze pro skutečně nezbytné případy a mimo cache key, pokud je to možné.

Invalidace: purge, soft purge a cílená přestavba

  • URL-based purge: zneplatnění konkrétní cesty po publikaci obsahu.
  • Tag/Key purge: přiřazení „tagů“ objektům (např. ID článku, kategorie) umožňuje hromadnou invalidaci spojených URL.
  • Soft purge: označení objektu jako zastaralého, ale stále doručitelného přes stale-while-revalidate pro nulové výpadky.
  • Event-driven rebuild: CI/CD nebo CMS webhook spouští přepočítání a teplé předcache (prefetch, pre-warm) klíčových stránek.

Bezpečnost, shoda a ochrana proti útokům

  • WAF a rate limiting na edge vrstvě pro ochranu originu.
  • Signed URLs/cookies pro chráněné zdroje, aby cache nebyla zneužitelná.
  • Ochrana proti cache poisoning: přísná kontrola hlaviček, normalizace query a whitelist pro Vary.
  • HTTPS/TLS terminace na edge minimalizuje latenci handshake; podpora HTTP/2 a HTTP/3.

Edge compute: transformace a logika na okraji

Kromě samotného cacheování dokáže edge provádět lehké výpočty a transformace: úpravy hlaviček, A/B směrování, geotargeting, převod formátu obrázků, přepočet redirectů, validaci tokenů či limity požadavků. Dobře navržená logika sníží počet cache missů na origin a zlepší kontrolu nad variacemi.

Měření přínosů: metriky výkonu a cache efektivity

  • Cache hit ratio (globálně i per-PoP), origin offload a počet revalidací vs. plných fetchů.
  • Latence TTFB a percentily (p50/p75/p95) podle regionů.
  • Core Web Vitals (LCP, INP, CLS) z CrUX/field dat a syntetických měření.
  • Stabilita v špičkách: chybovost 5xx, saturace spojení na origin, odezva během kampaní a vydání.

Edge caching a moderní SEO/AEO

  • Rychlost indexace: nižší TTFB a stabilní doručení zlepšuje crawl budget a frekvenci reindexace.
  • Renderovatelnost: předpřipravený HTML (SSR/SSG) s krátkým TTL minimalizuje riziko neúplného renderu robotů.
  • Mezinárodizace: variace podle jazyka a země s disciplinovaným Vary a hreflang přehledně mapují obsah.
  • Stabilita kampaní: při špičkách (virály, PR) edge eliminuje „thundering herd“ efekt na origin.

Anti-patterny, které ničí hit-rate a UX

  • Nekontrolované cookies na úrovni celého webu, které se dostanou do cache key.
  • Příliš široké Vary (např. na všechny hlavičky), což vede k fragmentaci.
  • Nejednoznačné URL a parametry bez normalizace (duplicita obsahu, kanonikalizační problémy).
  • Žádná revalidace: buď extrémně krátké TTL (miss-factory), nebo naopak příliš dlouhé bez mechanizmu „stale“.
  • Inline kritický obsah bez verzování, což znemožňuje dlouhý cache pro statické zdroje.

Operační postupy: jak navrhnout cache politiku

  1. Segmentace obsahu: rozdělte na statické (agresivní TTL + hash) a dynamické (krátké TTL + revalidace).
  2. Definujte cache key: allowlist query parametrů; minimalizujte Vary; eliminujte nepotřebné cookies.
  3. Nastavte hlavičky: Cache-Control, případně Surrogate-Control, ETag a Last-Modified.
  4. Zaveďte stale strategie: stale-while-revalidate a stale-if-error pro kontinuitu doručování.
  5. Automatizujte invalidaci: CI/CD hooky, tag-based purge a soft purge pro změny obsahu.
  6. Monitorujte: hit ratio per-PoP, TTFB per region, CWV v poli a zpětnou vazbu uživatelů.

Edge optimalizace pro obrázky a média

  • Automatická konverze formátů (AVIF/WebP) podle Accept hlavičky a fallback.
  • Resampling podle šířky (srcset, dpr, specifické varianty) s cacheováním variant přímo na edge.
  • Lazy loading a priority hints v kombinaci s krátkým TTFB přinášejí výrazný dopad na LCP.

Edge caching a SPA/SSR/SSG

  • SSG: jednoduché – dlouhý TTL, invalidace po nasazení, vynikající hit-rate.
  • SSR: HTML s kratším TTL a revalidací; kritické fragmenty přes edge.
  • SPA: prerender vstupních stránek (první hit) a agresivní cache statických bundle; data fetching API s rozumným TTL.

Governance: kdo vlastní cache a jak řídit změny

  • Zodpovědnost: vlastník politiky cache (typicky platformový tým) s jasnými pravidly pro produktové týmy.
  • Šablony a guardrails: přednastavené profily TTL a Vary pro typy stránek/komponent.
  • Runbooky: postupy pro incidenty (purge, rollback, dočasné snížení TTL) a pro peak traffic události.

Kontrolní seznam pro nasazení edge cache

  • URL kanonikalizované, query parametry znormalizované, nepodstatné ignorované.
  • Cache-Control a/nebo Surrogate-Control definují TTL, stale politiky a cacheovatelnost.
  • ETag nebo Last-Modified zapnuté; revalidace funguje.
  • Minimalistický Vary (jazyk, encoding) – nic navíc bez důvodu.
  • Statické zdroje 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 vázaná na CMS/CI/CD; podpora tag-based purge.
  • Monitoring hit-rate per-PoP, TTFB per region a CWV v poli; alerting při poklesu hit-rate.
  • WAF a ochrana proti cache poisoning; podpisy pro privátní zdroje.

Edge caching jako základ škálovatelného a SEO-ready webu

Edge caching je víc než jen „sklad obrázků“ – je to architektonický princip, který posouvá výpočty i data blíže k uživateli. Správně navržená cache politika s jasným cache key, vyváženým TTL, disciplinovaným Vary, revalidací a automatizovanou invalidací přináší rychlejší načítání, stabilitu v špičkách, lepší Core Web Vitals a konzistentní doručování pro uživatele i roboty. Pro AIO/AEO a moderní SEO je to nezbytná infrastrukturní schopnost, která vytváří trvalou konkurenční výhodu.