Lehká full-page HTML cache pro rychlejší WordPress
Cache Lite vykreslí stránku jednou a uloženou HTML pak servíruje dalším návštěvníkům místo opakovaného běhu PHP a dotazů do databáze. Cache se automaticky promaže při změně obsahu, respektuje nastavené TTL a jde i ručně vyprázdnit z admin lišty.
Hlavní funkce
- Automatická invalidace při publikování nebo úpravě příspěvku — promaže jen dotčené stránky, ne celou cache
- Ruční „Vyprázdnit vše“ přímo z admin lišty
- Nastavitelné TTL — záznamy v cache samy expirují a znovu se obnoví
- Přihlášení uživatelé se z cache záměrně vynechávají, stejně jako stránky s cache-bustovacími cookies (nastavitelné, např. košík WooCommerce)
- Požadavky add-to-cart a wc-ajax WooCommerce jsou z cache vyloučené záměrně, aby košík vždy fungoval správně
- Volitelný automatický preload po vyprázdnění, aby první návštěvníci nenarazili na studenou cache
- Debug hlavičky pro ověření hit/miss chování při testování
- Ostatní moduly i cizí pluginy mohou vyprázdnění cache vyvolat programově přes SMRK_Cache::purge_all() / purge_url(), nebo prostě přes do_action('smrk_cache_purge') bez tvrdé závislosti na tomhle modulu
Jak to funguje
První požadavek na stránku vykreslí PHP/Timber jako obvykle, výstup se ale navíc uloží jako statický HTML soubor. Další požadavek na stejnou URL se servíruje rovnou z tohoto souboru, dřív, než by se vůbec načetl zbytek WordPress bootstrapu — proto je zrychlení tak citelné.
Invalidace se váže na standardní hooky pro uložení příspěvku (save_post apod.) a promaže jen soubory cache reálně dotčené danou změnou, ne celou cache najednou. Vynechání přihlášených uživatelů, WooCommerce cookies a add-to-cart/wc-ajax požadavků je zabudované přímo v podmínce, jestli se má stránka vůbec cachovat — takže dynamický obsah nikdy neskončí uložený jako statický pro všechny.
Cache Lite je záměrně „lite“ varianta oproti WP Super Cache, W3 Total Cache, WP Rocket, LiteSpeed Cache nebo WP Fastest Cache — jen full-page HTML cache, žádná desítka dalších optimalizačních funkcí navíc.