LiteSpeed Cache pro WordPress a e-shop
Naše servery běží na LiteSpeed. Pro WordPress je proto bezplatný plugin LiteSpeed Cache logickou volbou cachovacího pluginu: ukládá hotové stránky na server, takže se nemusí při každé návštěvě znovu vytvářet. Váš web bude rychlejší a Váš balíček bude mít méně práce. U e-shopu ale musíte vědět, které stránky nesmí nikdy skončit v cache. Tento článek popisuje základy a to, co přibývá u WooCommerce.
Základy
- Přejděte ve WordPressu na Pluginy > Nový plugin, vyhledejte "LiteSpeed Cache", zkontrolujte, že vydavatelem je LiteSpeed Technologies, a plugin nainstalujte a aktivujte.
- Otevřete v menu LiteSpeed Cache > Cache a zkontrolujte, že je zapnuté Enable Cache.
- Používáte li ještě jiný cachovací plugin, vypněte ho. Dvě cache vedle sebe způsobují podivné chyby.
- Poté otestujte svůj web v anonymním okně.
Chcete li vědět více o tom, proč je Váš web pomalý a co ještě pomáhá, přečtěte si Můj web je pomalý nebo využívá příliš mnoho CPU: takto ho zrychlíte.
E-shop: dva druhy stránek
| Druh stránky | Příklady | Cache stránky? |
|---|---|---|
| Pro všechny stejná | Domovská stránka, stránka obchodu, kategorie, stránky produktů | Ano, tam je největší přínos |
| Pro každého návštěvníka jiná | Košík, pokladna, Můj účet, formulář pro odstoupení od smlouvy | Nikdy |
Pokud se to pokazí, zákazník uvidí košík nebo dokonce adresu někoho jiného. To je rovněž únik dat; viz Je toto únik dat a musím ho nahlásit?
Co už řeší WooCommerce a LiteSpeed Cache
WooCommerce sám označuje košík, pokladnu a Můj účet jako "necachovat", pomocí konstanty (DONOTCACHEPAGE) a pomocí hlaviček no-cache. Jakmile někdo vloží něco do košíku, WooCommerce nastaví cookies jako woocommerce_items_in_cart, woocommerce_cart_hash a wp_woocommerce_session_. LiteSpeed Cache se podle vlastní dokumentace těmito pravidly WooCommerce řídí. V běžném e-shopu tedy nemusíte nic přidávat.
Kdy přidat vlastní výjimky
Výjimky najdete v LiteSpeed Cache > Cache, na kartě Excludes:
- Do Not Cache URIs: adresy, které nesmí nikdy skončit v cache, jedna na řádek. Přidejte je, pokud jste stránkám obchodu dali jiný název (například
/kosik/), pokud plugin pro překlad vytváří vlastní adresy (jako/de/warenkorb/), nebo pro formulář pro odstoupení od smlouvy pod Mým účtem. - Do Not Cache Cookies: cookies, kvůli kterým se stránka nenačítá z cache. Buďte zde opatrní: cookie, která je na každé stránce, vypne cache pro celý Váš web.
Kromě toho nepoužívejte druhou vrstvu, která cachuje vše. CDN s pravidlem jako "cache everything" ignoruje hlavičky WooCommerce; v takovém případě tam rovněž vylučte stránky obchodu a cookies.
Objektová cache s Redis
Košík a pokladna se vždy znovu vytvářejí z databáze. Objektová cache uchovává často používané výsledky z databáze v paměti, a to se u e-shopu hodí. Redis je součástí Power Webhost Three, Power Webhost Four a Power Reseller. Zapněte Redis v DirectAdmin, zapněte PHP rozšíření redis a v LiteSpeed Cache na kartě Cache, podkartě Object, zvolte metodu Redis s cestou k socketu. Všechny kroky najdete v Redis. Pokud více webů ve Vašem balíčku používá Redis, dejte každému webu vlastní Redis Database ID.
Kontrola, zda je vše nastaveno správně
Otevřete svůj web v anonymním okně, stiskněte F12, zvolte kartu Síť, znovu načtěte stránku a klikněte na první požadavek.
- Domovská stránka nebo stránka produktu, načíst dvakrát: při druhém načtení je uvedeno
x-litespeed-cache: hit. - Košík, pokladna a Můj účet: žádný hit, ale
x-litespeed-cache-control: no-cacheacache-controlsno-cache. - Vložte produkt do košíku a otevřete stránku produktu: uvidíte svůj vlastní košík, žádnou uloženou verzi.
Co cache nevyřeší
Pokud je Váš e-shop při vytížení přesto pomalý, podívejte se také na aktuální verzi PHP, méně pluginů a naplánované akce WooCommerce. Dlouhý seznam neúspěšných akcí zpomaluje databázi; viz WooCommerce Status a Naplánované akce: zjišťování problémů.
Další čtení
- Bezplatný kurz WordPress, lekce 6.2 Caching
- LiteSpeed Cache: nastavení karty Cache (anglicky)
- WooCommerce: nastavení cachovacích pluginů (anglicky)
