Hosting a výkon
Jak zrychlujeme WordPress: LiteSpeed Enterprise, LSCache a Redis pro každý web
Nejrychlejší požadavek WordPress je ten, který se vůbec nespustí — zde se dozvíte, jak náš stack obsluhuje většinu návštěv z mezipaměti ještě předtím, než se vůbec vyvolá PHP nebo MySQL, a co to znamená pro Core Web Vitals.
Nejrychlejší požadavek je ten, který se nikdy nespustí
Běžný požadavek na WordPress je náročný. Webový server jej předá PHP, PHP spustí WordPress, provede pluginy, několik desítekkrát se dotáže MySQL, sestaví HTML a teprve poté pošle bajty zpět. Na vytíženém webu se celý tento proces odehrává pro každého návštěvníka a právě zde strávíte téměř celý svůj čas do prvního bajtu.
Naší odpovědí je zajistit, aby se při většině návštěv nic z toho vůbec nestalo. Na webech, které hostujeme — přes 100 000 PBN webů plus běžný spravovaný WordPress — je naprostá většina zobrazení stránek na front-endu obsluhována jako předem vyrenderovaná celá stránka přímo z mezipaměti, aniž by se spouštělo PHP nebo docházelo ke kontaktu s databází. Zbytek tohoto příspěvku je o tom, jak do sebe zapadají vrstvy, které to umožňují, a kde si každá z nich zaslouží své místo.
Důležitým východiskem je, že se nejedná o navzájem si konkurující mezipaměti, mezi kterými byste si museli vybírat. Mezipaměť celých stránek, objektová mezipaměť a CDN edge zachycují každá jinou třídu požadavků a jejich skutečná hodnota spočívá v tom, jak si požadavky vzájemně předávají.
LiteSpeed Enterprise + LSCache: vrstva celé stránky
Každý web běží na LiteSpeed Enterprise se serverovým LSCache. Když lze odpověď front-endu uložit do mezipaměti, webový server ji označí hlavičkami LiteSpeed cache-control a tagy, a LiteSpeed při dalším požadavku obslouží celou stránku přímo — nespustí se žádný proces PHP, neodešle se žádný dotaz MySQL. To je ten největší faktor ovlivňující WordPress TTFB, protože z kritické cesty zcela odstraňuje spouštění aplikace.
Protože se LSCache nachází přímo ve webovém serveru a nikoli v PHP pluginu, začíná pracovat dříve v životním cyklu požadavku a uchovává stránky v podobě, kterou může server okamžitě vyprázdnit. Prohledávač mezipaměti udržuje oblíbené stránky připravené, takže první návštěvník po promazání není tím, kdo musí čekat na opětovné vygenerování stránky. Výsledkem je výrazně nižší a konzistentnější TTFB než u mezipaměti založené pouze na pluginu připojeném k obecnému zásobníku, kde se mezipaměť stále nachází za PHP.
Náš vlastní cache plugin na úrovni repozitáře se dodává předinstalovaný a automaticky aktualizovaný na každém webu, přičemž ihned po vybalení správně propojuje WordPress s LSCache. Na zdroji, který není LiteSpeed, jednoduše nevysílá žádné hlavičky pro celostránkové ukládání do mezipaměti a ustoupí z cesty, zatímco mezipaměť objektů a pravidla pro vyloučení nadále plní svou funkci — migrovaný web tak nikdy nezůstane v nefunkčním, polokonfigurovaném stavu.
Udržení vysoké rychlosti bez poskytování zastaralého obsahu: ESI a inteligentní automatické promazávání
Agresivní ukládání celých stránek do mezipaměti má dva klasické způsoby selhání: zobrazení cizí stránky přihlášenému uživateli a zobrazení stránky komukoli, která se již měla změnit. Obojí se řeší na úrovni ukládání do mezipaměti, nikoli menším rozsahem mezipaměti.
Technologie ESI (Edge Side Includes) nám umožňuje ukládat stránku do mezipaměti a zároveň vytvářet dynamické výřezy pro části, které musí zůstat aktuální. V obchodě WooCommerce jsou stránky katalogu, produktů a kategorií poskytovány jako mezipaměť celé stránky pro co nejrychlejší TTFB, zatímco ESI vykresluje fragment košíku, součty v mini košíku a stav účtu při každém požadavku. Košík, pokladna, můj účet a jakékoli stránky nonce nebo relací jsou ve výchozím nastavení vyloučeny. Nakupující vždy vidí svůj vlastní košík a funkční pokladnu; výloha obchodu se všem i nadále načítá z mezipaměti.
Aktuálnost obsahu zajišťuje inteligentní automatické promazávání. Promazávací háčky (purge hooks) se spouštějí automaticky při změně obsahu, produktů, cen nebo objednávek, takže se příslušné stránky z mezipaměti obnovují okamžitě a nikoli podle časovače; promazání můžete navíc provést i na vyžádání z ovládacího panelu nebo přímo z WordPress. Promazávání na základě štítků znamená, že úprava jednoho příspěvku vymaže pouze daný příspěvek a jeho archivy – nikoli celou mezipaměť –, takže jediná úprava nezpůsobí studený start celého webu.
Objektová mezipaměť Redis pro jednotlivé weby: pro to, co nemůže být celou stránkou
Ne každý požadavek může být statická celá stránka. Přihlášené relace, administrace WordPress, košíky WooCommerce, vyhledávání a dynamické fragmenty, které ESI ponechává živé, musí všechny spouštět PHP. U nich se cíl mění z „přeskočit aplikaci“ na „přeskočit databázi“.
Každý web získá svou vlastní vyhrazenou objektovou mezipaměť Redis. WordPress ukládá do paměti výsledky opakovaných čtení z databáze — nastavení, přechodná data (transients), vyhledávání příspěvků a výrazů, údaje o produktech a relacích WooCommerce — takže se stejný dotaz nespouští v databázi MySQL při každém načtení. Výsledek je nejvíce patrný právě tam, kde mezipaměť celých stránek nepomůže: rychlejší nástěnky, rychlejší košíky a výrazně nižší zatížení databáze při vysokém provozu.
Objektová mezipaměť je vyhrazena pro každý web zvlášť a není sdílená, což je důležité jak pro výkon, tak pro izolaci. V kombinaci s regulací databáze pro jednotlivé weby nemohou náročné nebo špatně napsané dotazy jednoho webu připravit sousední weby o databázové prostředky. Více informací o tom, jak celý vícevrstvý systém funguje, si můžete přečíst na naší stránce funkcí ukládání do mezipaměti a o hranicích mezi jednotlivými nájemci v sekci o izolaci.
Edge a transport pod ním
Mezipaměť, která se nachází na zdrojovém serveru, musí stále procházet sítí. Před serverem se nachází CDN edge, takže statické prostředky a stránky, které lze ukládat do mezipaměti, jsou odbavovány z přístupového bodu poblíž návštěvníka a zdrojový server zůstává nevytížený i při vysoké zátěži. Pro naši řadu hostingu bez zanechání stop (footprint-free) je tato edge tvořena multi-CDN poolem rozloženým mezi několik poskytovatelů, což slouží jak cílům v oblasti SEO stop, tak výkonu; na běžném WordPress jde jednoduše o rychlou a spolehlivou vrstvu, která udržuje zdrojové servery v klidu.
Uvnitř se na základech nešetřilo. Weby běží na NVMe úložišti s HTTP/3, takže bajty, které mezipaměť odesílá, dorazí přes moderní multiplexovaný přenos s rychlým úložištěm za každým výpadkem mezipaměti (cache miss). Žádná z těchto vrstev není volitelným doplňkem: LiteSpeed, LSCache, Redis pro každý web, NVMe a HTTP/3 jsou standardem každého plánu, nikoli dodatečným placeným upgradem.
Co skutečně ovlivňuje Core Web Vitals
Vyplatí se být přesný, protože u hostingu se vliv na Core Web Vitals často přeceňuje. TTFB je část rovnice, kterou řídí server, a výše uvedený zásobník mezipaměti je tím, co ji stlačuje dolů — celá stránka v mezipaměti obsluhovaná přes HTTP/3 z okraje sítě představuje přibližně nejnižší možnou hodnotu TTFB. Protože je TTFB počáteční fází metriky Largest Contentful Paint, rychlý výchozí server poskytuje každé navazující metrice náskok, který by jinak získat nemohla.
Metriky LCP, CLS a INP se však z většiny rozhodují v prohlížeči, samotnou stránkou: neoptimalizovaný hlavní obrázek (hero), CSS a JavaScript blokující vykreslování, posuny rozvržení při načítání písem a reklam a náročné úlohy v hlavním vlákně způsobené pluginy. Žádné množství serverového cachování nespraví 2MB hlavní obrázek ani šablonu, která načítá megabajty JavaScriptu. Poctivý hosting zajistí, že vliv serveru je prakticky zanedbatelný a konzistentní, ale udržet frontend štíhlý je již úkolem samotného webu.
Tato dělba práce představuje užitečný myšlenkový model. My zaručujeme, že požadavek dorazí do prohlížeče rychle a zůstane rychlý i při vysoké zátěži; Vy udržujete velikost přenášených dat malou a stabilní. Právě tam, kde se obojí střetává — zahřívání mezipaměti, doručování na okraji sítě (edge delivery) a udržování responzivní databáze, aby dynamické stránky nevázly — je náš technologický stack přesně vyladěn, a právě to činí spravovaný WordPress na této platformě rychlejším než tentýž web na běžném hostingu.
Často kladené otázky
Stále potřebuji plugin pro ukládání do mezipaměti, jako je WP Rocket?
Ne. Mezipaměť celých stránek je na webovém serveru řešena modulem LSCache od LiteSpeed a náš vlastní modul pro mezipaměť — předinstalovaný a automaticky aktualizovaný — s ním správně propojuje WordPress, přičemž na pozadí využívá objektovou mezipaměť Redis pro každý web. Použití druhého pluginu pro mezipaměť celých stránek se obvykle s mezipamětí na úrovni serveru spíše bije, než aby pomáhalo, takže to není nutné a nedoporučuje se to.
Naruší ukládání do mezipaměti můj košík WooCommerce nebo stránky pro přihlášené uživatele?
Ne. Košík, pokladna, my-account a jakékoli stránky s nonce nebo relacemi jsou ve výchozím nastavení vyloučeny z mezipaměti a ESI udržuje fragment košíku a součty aktuální na jinak mezipamětí ukládaných stránkách. Nakupující vždy vidí svůj vlastní košík a funkční pokladnu, zatímco výloha obchodu se stále načítá z mezipaměti.
Jak zůstává mezipaměť aktuální, když publikuji nebo upravuji?
Chytré automatické promazávání se spouští na příslušných hooks WordPress, takže publikování, úprava obsahu nebo změna produktu, ceny či objednávky vymaže pouze dotčené stránky a jejich archivy – nikoli celou mezipaměť – a crawler je znovu přednačte. Promazání můžete provést také na vyžádání z ovládacího panelu nebo přímo z prostředí WordPress.
Může mi samotný hosting zajistit dokonalé Core Web Vitals?
Získáte tak nejlepší možný TTFB, což je podíl serveru a náskok pro Largest Contentful Paint. O LCP, CLS a INP však do značné míry rozhoduje stránka samotná — velikosti obrázků, prostředky blokující vykreslování, stabilita rozvržení a JavaScript v hlavním vlákně. Náš technologický stack zajišťuje rychlý a konzistentní přínos serveru; udržení štíhlého front-endového payloadu je to, co překlene zbytek mezery.
Související
Vyzkoušejte zdarma na 14 dní
Spusťte své první weby na 14 dní zdarma — bez nutnosti zadávat platební kartu. Převádíte existující síť? Migrace jsou bezplatné a bez omezení.
Začněte zdarma