WordPress cache: stránky, objekty, prohlížeč a CDN bez konfliktů

Jak fungují vrstvy WordPress cache, co cachovat, co vyloučit a jak řešit invalidaci, přihlášené uživatele, formuláře a CDN.

WordPress cache: stránky, objekty, prohlížeč a CDN bez konfliktů
Stručná odpověď

Veřejné stránky cachujte v page cache nebo CDN, personalizované účty, košíky a callbacky vylučte. Objektovou cache používejte pro opakované výpočty a dotazy, nikoli jako náhradu jejich opravy. Definujte cache key a invalidaci při změně obsahu, ceny či oprávnění a testujte anonymního i přihlášeného uživatele.

WordPress cache zrychluje web tím, že nemusí opakovaně procházet celou cestu od PHP a databáze po vzdálené soubory. Existuje však více vrstev: page cache, objektová cache, opcode cache, CDN a prohlížeč. Každá ukládá jiný výsledek a má jiná pravidla platnosti. Dva pluginy nastavující stejnou vrstvu mohou vytvořit konflikt, zatímco chybějící invalidace zobrazuje starou cenu nebo obsah.

Správný návrh začíná klasifikací stránek na veřejné, personalizované a citlivé. Veřejný článek lze bezpečně sdílet mnoha návštěvníkům, účet nebo košík nikoli. Klíč cache musí zohlednit jazyk, měnu či potřebnou roli a po změně dat se musí příslušný záznam odstranit. Výkon se ověřuje spolu s funkčností, nikoli pouze podle hit rate.

Rozlište jednotlivé vrstvy cache

Page cache ukládá hotovou HTML odpověď a obchází velkou část WordPressu. Objektová cache uchovává výsledky datových operací mezi požadavky. Opcode cache zrychluje vykonávání PHP kódu a prohlížeč si ukládá statické soubory podle hlaviček. CDN může cachovat obrázky, CSS nebo celé veřejné stránky na okraji sítě.

Před zapnutím nového pluginu zjistěte, co již poskytuje hosting nebo proxy. Dvojitá page cache komplikuje čištění i diagnostiku. Zdokumentujte vlastníka každé vrstvy, administrační cestu a nouzový purge. Vyčištění všeho může dočasně zatížit server, proto u velkého webu upřednostněte cílenou invalidaci.

Klasifikujte veřejný a personalizovaný obsah

Články, služby a veřejné archivy jsou vhodnými kandidáty, pokud jejich výstup nezávisí na identitě. Administrace, náhled konceptu, účet, košík, pokladna, nonce a platební callback se nemají servírovat z veřejné cache. Formulář na cachované stránce musí generovat nebo obnovovat bezpečnostní tokeny podporovaným způsobem.

Přihlášený redaktor může vidět lištu, edit link a neveřejný obsah, proto cache rozlišuje cookies nebo se pro tyto relace obchází. Členský web potřebuje jemnější klíč podle role či oprávnění, ale nesmí explodovat do neomezeného počtu variant. Nejprve minimalizujte personalizaci veřejné stránky.

  • Veřejné anonymní HTML
  • Vyloučené účty a transakce
  • Oddělené přihlášené relace
  • Žádná tajemství v cache klíči ani logu

Klíč může zahrnovat URL, jazyk, měnu, zařízení (pouze pokud se obsah skutečně liší) a další kontrolované varianty. Ignorujte kampaňové parametry, které nemění obsah, aby nevznikaly tisíce kopií. Naopak parametr filtru, který mění výsledek, nesmí dostat HTML jiné kombinace. Normalizaci otestujte i s kódovanými hodnotami.

Při uložení článku vyčistěte jeho detail, relevantní archiv, domovskou sekci a sitemap podle závislostí. Změna globální hlavičky může ovlivnit celý web, proto vyžaduje širší invalidaci. Cena nebo sklad vyžaduje krátkou platnost či událost z integrace. Časové TTL je pojistka, nikoli náhrada přesného purge po kritické změně.

Objektovou cache používejte pro vhodná data

Perzistentní objektová cache pomáhá opakovaným dotazům a výpočtům, pokud mají stabilní klíč a rozumnou životnost. Nemá zachraňovat dotaz, který načte všechny záznamy bez limitu. Sledujte hit rate, paměť, evictions a latenci úložiště. Nesprávně nastavený vzdálený cache server může být pomalejší než lokální databáze.

Klíče opatřete jmenným prostorem (namespace) podle webu a prostředí, zejména u multisite nebo sdíleného Redisu. Produkce a staging nesmějí číst stejné objekty. Při deploymentu se změnou datového formátu zvyšte verzi namespace nebo proveďte bezpečnou invalidaci. Nikdy neukládejte citlivou odpověď jako veřejný objekt bez kontroly přístupu.

  • Stabilní klíč s namespace
  • Přiměřená životnost a velikost
  • Oddělená prostředí
  • Monitoring paměti a vyprazdňování

Testujte cache jako funkční součást

Otestujte první i opakovanou návštěvu, anonymní a přihlášené okno, dva jazyky, mobil, formulář a náhled. Změňte článek, menu, cenu nebo oprávnění a změřte čas do správného výstupu. Zkontrolujte hlavičky cache, Age, Vary a stav CDN. Nikdy netestujte pouze jako administrátor, u kterého se cache často obchází.

Při chybě postupujte od prohlížeče přes CDN a serverovou page cache po objekty, nikoli současným smazáním všeho. Tak zjistíte, která vrstva je viníkem. Po aktualizaci cache pluginu proveďte regresní test kritických cest. Runbook má popsat cílené čištění, úplný purge, očekávanou dočasnou zátěž a kontakt na hosting.

Časté dotazy

Proč po úpravě WordPress stále zobrazuje starý obsah?

Starou odpověď může držet prohlížeč, CDN, page cache nebo objektová cache. Prohlédněte hlavičky a čistěte vrstvy postupně. Poté opravte invalidaci při konkrétní změně, aby redaktor nemusel pokaždé mazat vše.

Mohu cachovat košík WooCommerce?

Veřejnou page cache pro košík a pokladnu nepoužívejte. Katalog lze cachovat s invalidací ceny a skladu. Konkrétní cookies, fragmenty a endpointy nastavte podle WooCommerce, hostingu a použitých rozšíření.

Je více vrstev cache vždy rychlejší?

Ne. Každá vrstva přidává pravidla, invalidaci a možný síťový krok. Používejte jen vrstvy s měřitelným přínosem a jasným vlastníkem. Duplicitní mechanismy page cache mohou zhoršit spolehlivost.

Zdroje a další čtení

Adam Antoni, vývojář digitálních řešení
Adam Antoni · Webiant

Adam Antoni vyvíja weby, aplikácie a softvér na mieru. Prepája firemné systémy, automatizuje procesy a vytvára AI agentov. Pôsobí v Spišskej Novej Vsi a spolupracuje s firmami na celom Slovensku.

Potřebujete toto téma vyřešit ve svém projektu?

Napište, co chcete zlepšit, s čím dnes bojujete a jaký výsledek očekáváte. Na úvodní konzultaci projdeme vhodný rozsah a další postup.

Vyberte si, které cookies povolíte. Volbu můžete kdykoli změnit přes odkaz v patičce nebo tlačítko cookies.

Ochrana soukromí a podrobnosti o cookies