Hosting a pluginy pro WordPress

Zrychlení a zabezpečení WordPress: kontrolní seznam pro výkon a pluginy

WordPress je vždy jen tak rychlý a bezpečný jako prostředí, na kterém běží. Zde je praktický kontrolní seznam, který uplatňujeme na každý námi hostovaný web na platformě WordPress – co ukládat do mezipaměti, co zabezpečit a které pluginy si zaslouží své místo oproti těm, které platforma činí zbytečnými.

WordPress je jen tak dobrý, jako prostředí, na kterém běží

WordPress pohání velkou část webu, protože je flexibilní, ale právě kvůli této flexibilitě bývá pomalý a nezabezpečený: výchozí instalace odesílá desítky dotazů do databáze na každou stránku, sděluje svou verzi a technologický balíček každému, kdo se podívá, a vybízí Vás k hromadění pluginů, dokud výkon a plocha pro útoky nenápadně nevzrostou. Nic z toho není ani tak chybou systému WordPress, jako spíše důsledkem jeho provozování na infrastruktuře, která ničím nepomáhá.

Dobrou zprávou je, že většinu z toho vyřeší stejná hrstka rozhodnutí, a jedná se o rozhodnutí týkající se technologického stacku, nikoli obsahu. Agresivně ukládejte do mezipaměti na správné vrstvě, udržujte databázi mimo kritickou cestu, provozujte pouze těch několik pluginů, které si skutečně zaslouží své místo, udržujte vše aktualizované a web izolujte, aby případný problém zůstal ohraničený. Tento příspěvek představuje tento kontrolní seznam v pořadí, v jakém jej aplikujeme na každý web WordPress na platformě.

Ukládejte do mezipaměti na serveru, nejen v pluginu

Největším jednotlivým faktorem ovlivňujícím rychlost WordPressu je nespouštět WordPress při většině návštěv vůbec. Standardní požadavek zavede WordPress, spustí vaše pluginy a odešle dotazy do databáze ještě předtím, než odešle jediný bajt; celostránková mezipaměť při dalším požadavku servíruje hotovou stránku přímo z webového serveru a celé toto zavádění přeskočí. Záleží na tom, kde se tato mezipaměť nachází: cachovací plugin funguje uvnitř PHP, takže se PHP stále spouští dříve, než mezipaměť stihne odpovědět, zatímco mezipaměť na úrovni serveru odpovídá v rámci požadavku dříve a uchovává stránky v podobě, kterou server dokáže okamžitě vyprázdnit.

Každý web na WordPress, který hostujeme, běží na LiteSpeed Enterprise se serverovou vyrovnávací pamětí LSCache a náš vlastní plugin pro ukládání do mezipaměti propojuje WordPress správně hned po vybalení z krabice — je předinstalovaný a automaticky aktualizovaný, takže máte o starost méně s konfigurací či udržováním v aktuálním stavu. Na jiném než LiteSpeed serveru stejný plugin jednoduše nevysílá žádné hlavičky pro celou stránku a nepřekáží, zatímco mezipaměť objektů nadále funguje, takže migrovaný web nikdy nezůstane polonakonfigurovaný. Praktické pravidlo pro Váš kontrolní seznam: jedna mezipaměť pro celou stránku na úrovni serveru a nepřidávejte nad ni druhý plugin pro ukládání do mezipaměti — dochází mezi nimi ke kolizím.

Mezipaměť objektů a databáze

Ne každý požadavek může být statická stránka. Přihlášené relace, administrace, vyhledávání, košíky a jakýkoli personalizovaný fragment musí spouštět PHP a u nich se cíl přesouvá z přeskočení aplikace na přeskočení databáze. Objektová mezipaměť na úrovni webu — v našem případě Redis — uchovává výsledky opakovaných čtení z databáze v paměti, takže stejné možnosti, přechodná data a vyhledávání nejsou dotazovány v databázi při každém načtení. Výsledek se projeví přesně tam, kde mezipaměť celé stránky nemůže pomoci: rychlejší administrace, rychlejší košíky a výrazně nižší zatížení databáze při vysokém provozu.

Klíčovým slovem je „na web“ (per-site). Sdílená objektová mezipaměť (shared object cache) znamená, že jeden vytížený nebo špatně napsaný web může vytlačit data z mezipaměti všech ostatních a připravit své sousedy o prostředky databáze; vyhrazená mezipaměť pro každý web v kombinaci s limity databáze pro jednotlivé weby udrží dosah případného problému pod kontrolou. Na svém kontrolním seznamu považujte trvalou objektovou mezipaměť za nezbytnou pro jakýkoli web s přihlášenými uživateli nebo e-shopem a buďte obezřetní vůči hostingu, kde je sdílena mezi jednotlivými nájemci.

Pluginy, které se vyplatí používat – a ty, které platforma nahrazuje

Každý plugin, který přidáte, je kód, který se spouští při požadavcích, a dveře, kterými by někdo mohl jednoho dne projít, takže upřímným cílem je co nejméně pluginů, které toho zvládnou co nejvíce. Dobrý hosting odstraňuje potřebu celé jejich kategorie: díky mezipaměti na úrovni serveru, spravované mezipaměti objektů a zálohám platformy nepotřebujete plugin pro ukládání do mezipaměti, samostatný plugin pro mezipaměť objektů ani plugin pro zálohování — tyto úlohy jsou prováděny lépe pod WordPress a jejich spouštění nad ním přináší pouze konflikty a zbytečnou zátěž.

To, co má smysl provozovat, je malá sada, která přináší skutečné schopnosti: pluginy, které váš web skutečně potřebuje ke svému fungování, a — na naší platformě — dva pluginy na úrovni oficiálního repozitáře, které vytváříme a dodáváme s každým webem. Náš cachovací plugin propojuje WordPress s mezipamětí serveru a zajišťuje inteligentní promazávání, takže úprava vymaže pouze ty stránky, které by měla. Náš footprint plugin při každém nasazení odstraňuje identifikační znaky, které výchozí instalace WordPress vysílá — tagy verze a generátoru, koncové body pro zjišťování, XML-RPC, pingbacky a hlavičku powered-by —, takže je aktualizace pluginu nebo šablony nemůže potichu vrátit zpět. Oba jsou vytvořeny podle standardů adresáře pluginů WordPress.org, jsou zdarma a samy se aktualizují.

Udržování WordPressu v bezpečí a aktuálním stavu

Většina narušení bezpečnosti WordPress není nijak důmyslná; jsou zastaralá. Zastaralé jádro, šablona nebo plugin se známou, zveřejněnou zranitelností představují zdaleka nejčastější způsob napadení webů, díky čemuž je udržování aktuálnosti tím nejcennějším bezpečnostním úkolem — a zároveň nejúnavnějším, což je důvod, proč se často opomíjí. Spravovaný hosting by měl tuto starost sejmout z Vašich beder: záplatovat systémové prostředí pod WordPress a zajistit bezpečné nasazení aktualizací jádra a pluginů tím, že Vám poskytne testovací kopii k jejich vyzkoušení a zálohu pro případný návrat zpět.

Kromě aktuálnosti očekávejte, že hranice budou hlídány za Vás: skenování malwaru zapnuté ve výchozím nastavení, aby byla infekce zachycena dříve, než ji objeví návštěvník, izolace zaručující, že jeden napadený web neohrozí jiný, ochrana proti DDoS útokům na okraji sítě a TLS všude s automaticky obnovovanými certifikáty. Nic z toho nenahrazuje základní hygienu — silné přihlašovací údaje, přístup s nejnižšími nutnými oprávněními, odstraňování modulů plug-in, které již nepoužíváte — znamená to však, že infrastruktura není slabým článkem. Otázka pro jakéhokoli poskytovatele hostingu na Vašem kontrolním seznamu je jednoduchá: je bezpečnost výchozím standardem, nebo balíčkem, který si musíte dokoupit?

WooCommerce a stránky, které nikdy nesmíte ukládat do mezipaměti

Obchod je místem, kde agresivní ukládání do mezipaměti dosahuje největších úspěchů, ale při naivním přístupu napáchá ty nejhorší škody. Stránky katalogu, produktů a kategorií jsou vaše nejnavštěvovanější a nejlépe cachovatelné stránky a jejich načítání z celostránkové mezipaměti je to nejlepší, co můžete pro rychlost obchodu udělat. Stránky košíku, pokladny a účtu jsou však osobní a nikdy se nesmí načítat ze sdílené mezipaměti – udělejte to a zákazník uvidí košík někoho jiného, což znamená jak nefunkční obchod, tak selhání ochrany soukromí.

Způsobem, jak získat obojí, je stránku cachovat a pro dynamické části vytvořit průchody. Edge Side Includes vykreslují fragment košíku, souhrny minikošíku a stav účtu pro každý požadavek, zatímco zbytek stránky je obsluhován z mezipaměti, a stránky cart, checkout, my-account i jakékoli stránky s nonce nebo session jsou ve výchozím nastavení vyloučeny. Čerstvost zajišťuje inteligentní automatické mazání, které se spouští při změně produktu, ceny nebo objednávky, takže zastaralá cena nikdy nezůstává viset. Pokud provozujete WooCommerce, toto je část kontrolního seznamu, kterou je třeba nastavit naprosto přesně: rychlý obchod z mezipaměti, dynamický košík pro každého uživatele a žádné osobní údaje v mezipaměti.

Často kladené otázky

Stále potřebuji plugin pro ukládání do mezipaměti, jako je WP Rocket?

Ne. Ukládání celých stránek do mezipaměti zajišťuje na webovém serveru LSCache od LiteSpeed, náš vlastní plugin pro mezipaměť s ním propojuje WordPress a stará se o inteligentní promazávání, a za ním funguje objektová mezipaměť Redis pro každý web zvlášť. Přidání druhého pluginu pro ukládání celých stránek do mezipaměti obvykle se serverovou mezipamětí spíše bojuje, než aby pomáhalo, proto není potřebné ani doporučené.

Které pluginy činí platforma zbytečnými?

Cachovací pluginy, samostatné pluginy pro mezipaměť objektů a zálohovací pluginy jsou zde nadbytečné, protože tyto úlohy probíhají pod úrovní WordPress — cachování na úrovni serveru, spravovaná objektová mezipaměť pro každý web a zálohy na úrovni platformy. Jejich odstranění snižuje riziko konfliktů a zmenšuje prostor pro útoky. To, co má smysl ponechat, jsou pluginy, které Váš web skutečně potřebuje pro své fungování, a navíc naše dva bezplatné pluginy pro mezipaměť a footprint, které jsou dodávány předinstalované.

Naruší ukládání do mezipaměti můj košík WooCommerce nebo stránky pro přihlášené uživatele?

Ne. Stránky Cart, checkout, my-account a jakékoli stránky s nonce nebo relacemi jsou ve výchozím nastavení vyloučeny z mezipaměti a technologie Edge Side Includes udržuje fragment košíku a souhrny aktuální i na jinak mezipamětí ukládaných stránkách. Nakupující vždy uvidí svůj vlastní košík a funkční pokladnu, zatímco výloha obchodu se stále načítá z mezipaměti, a chytré automatické promazávání vymaže dotčené stránky při změně produktu, ceny nebo objednávky.

Jak udržujete WordPress zabezpečený, aniž bych jej musel spravovat?

Aktualizujeme systémové vrstvy pod WordPress, zajišťujeme bezpečné nasazení aktualizací jádra a pluginů pomocí testovacího prostředí (staging) a obnovení jedním kliknutím, ve výchozím nastavení udržujeme aktivní kontrolu malwaru a ochranu proti DDoS, izolujeme jednotlivé weby, aby se případné napadení nemohlo šířit, a automaticky vystavujeme i obnovujeme TLS certifikáty. Tím se odstraňuje infrastruktura jako slabý článek; základní hygiena, jako jsou silné přihlašovací údaje a odstraňování nepoužívaných pluginů, však zůstává na Vás.

Vyzkoušejte zdarma na 14 dní

Spusťte své první weby na 14 dní zdarma — bez nutnosti zadávat kartu. Převádíte stávající web nebo síť? Migrace jsou zdarma a bez omezení.

Začněte zdarma