WordPress Hosting & Plugins
Zajištění rychlosti a bezpečnosti WordPressu: Kontrolní seznam pro výkon a pluginy
WordPress je vždy jen tak rychlý a bezpečný, jak rychlé a bezpečné je to, co ho pohání. Zde je praktický kontrolní seznam, který uplatňujeme na každém námi hostovaném webu WordPress – co cachovat, co zabezpečit a které plugin si zaslouží své místo oproti těm, které platforma činí zbytečnými.
WordPress je jen tak dobrý, jak dobré je to, co ho pohání
WordPress pohání velkou část webu, protože je flexibilní, ale tato flexibilita je také důvodem, proč se stává pomalým a nezabezpečeným: výchozí instalace se dotazuje databáze desítkámkrát na stránku, prozrazuje svou verzi a technologický stack každému, kdo se podívá, a svádí k vrstvení pluginů, dokud výkon a plocha pro útok tiše nenarostou. Nic z toho není chybou WordPressu, ale spíše důsledkem jeho provozování na infrastruktuře, která s tím nijak nepomáhá.
Dobrou zprávou je, že stejná hrstka rozhodnutí vyřeší většinu z toho a jde o rozhodnutí týkající se technologického stacku, nikoliv obsahu. Cachujte agresivně na správné vrstvě, držte databázi mimo kritickou cestu, používejte jen těch několik pluginů, které si své místo skutečně zaslouží, udržujte vše aktualizované a web izolujte, aby případný problém zůstal pod kontrolou. Tento příspěvek představuje tento kontrolní seznam v pořadí, v jakém jej aplikujeme na každý web WordPress na naší platformě.
Ukládejte do mezipaměti na serveru, nejen v pluginu
Největším jednotlivým nástrojem pro rychlost WordPressu je pro většinu návštěv nespouštět WordPress vůbec. Standardní požadavek spustí WordPress, aktivuje pluginy a odešle dotazy do databáze, než odešle jediný bajt; mezipaměť celé stránky (full-page cache) doručí hotovou stránku přímo z webového serveru při dalším načtení, čímž celé spuštění přeskočí. Záleží na tom, kde tato mezipaměť sídlí: cachovací plugin funguje uvnitř PHP, takže PHP se stále spustí, než mezipaměť stihne odpovědět, zatímco mezipaměť na úrovni serveru odpovídá dříve v rámci požadavku a uchovává stránky ve formátu, který může server okamžitě odeslat.
Každý web WordPress, který hostujeme, běží na LiteSpeed Enterprise s LSCache na úrovni serveru a náš vlastní cache plugin propojuje WordPress správně hned po vybalení – je předinstalovaný a automaticky se aktualizuje, takže je to o jednu starost méně při konfiguraci nebo udržování aktuálnosti. Na origin serveru bez LiteSpeedu stejný plugin jednoduše nevydává žádné hlavičky pro celé stránky a nepřekáží, zatímco objektová cache funguje dál, takže migrovaný web nikdy nezůstane napůl nakonfigurovaný. Praktické pravidlo pro váš vlastní kontrolní seznam: jedna cache pro celé stránky na serveru a nedávejte na ni druhý cache plugin – budou se navzájem tlouct.
Objektová mezipaměť a databáze
Ne každý požadavek může být statickou stránkou. Přihlášené relace, administrace, vyhledávání, košíky a jakýkoli personalizovaný fragment musejí spouštět PHP, a v takovém případě se cíl mění z obcházení aplikace na obcházení databáze. Objektová vyrovnávací paměť pro jednotlivé weby – v našem případě Redis – uchovává výsledky opakovaných čtení z databáze v paměti, takže se stejná nastavení, přechodná data (transients) a vyhledávání nedotazují databáze při každém zobrazení. Tento efekt se projeví přesně tam, kde úplná mezipaměť stránky pomoci nemůže: rychlejší administrace, rychlejší košíky a výrazně nižší zátěž databáze při vysoké návštěvnosti.
Klíčové je slovo „pro každý web“. Sdílená objektová vyrovnávací paměť znamená, že jeden vytížený nebo špatně napsaný web může vymazat data v mezipaměti všech ostatních a vyhladovět databázi sousedních webů; vyhrazená mezipaměť pro každý web, spojená s databázovými limity pro každý web, udržuje tento dopad vymezený. Na svém seznamu úkolů považujte trvalou objektovou mezipaměť za povinnou pro každý web s přihlášenými uživateli nebo e-shopem a buďte opatrní na hostování, kde je sdílena mezi nájemníky.
Doplňky, které stojí za to používat – a ty, které platforma nahrazuje
Každý plugin, který přidáte, představuje kód spouštěný při požadavcích a zároveň dveřci, kterými může někdo 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ých kategorií z nich: díky cachování na úrovni serveru, spravované objektové cache a zálohám platformy nepotřebujete plugin pro cachování, samostatný plugin pro objektovou cache ani zálohovací plugin – tyto úkoly jsou lépe zvládnuty pod systémem WordPress a jejich spouštění nad ním přináší pouze konflikty a zbytečnou zátěž.
Za to stojí provozovat jen malou sadu doplňků, které přinášejí skutečnou přidanou hodnotu: ty, které váš web opravdu potřebuje ke svému fungování, a – na naší platformě – dva doplňky repozitářové úrovně, které vytváříme a dodáváme ke každému webu. Náš cache plugin propojuje WordPress se serverovou cache a zajišťuje inteligentní promazávání, takže úprava vymaže pouze ty stránky, které má. Náš footprint plugin odstraní stopy, které výchozí instalace WordPress vysílá – značku verze a generátoru, koncové body zjišťování, XML-RPC, pingbacky a hlavičku powered-by – při každém nasazení, takže aktualizace pluginu nebo šablony je nemůže potichu vrátit zpět. Oba jsou postavené podle standardů adresáře pluginů WordPress.org, jsou zdarma a samy se aktualizují.
Udržování WordPress v bezpečí a aktuálním stavu
Většina napadení systému WordPress není nijak důmyslná, jsou stará. Zastaralé jádro, šablona nebo plugin se známou a zveřejněnou zranitelností jsou zdaleka nejčastějším způsobem, jak jsou weby napadeny. To znamená, že udržování aktuálního stavu je tou nejcennější bezpečnostní prací, jakou lze udělat – a zároveň tou nejnudnější, což je důvod, proč se vynechává. Spravovaný hosting by vám to měl vzít z ramen: opravovat stack pod systémem WordPress a zajistit, aby aktualizace jádra a pluginů byly bezpečné díky tomu, že vám poskytne testovací kopii (staging) k jejich ověření a zálohu pro případný návrat k předchozímu stavu.
Kromě peněz počítejte s tím, že bezpečnostní hranice jsou hlídány za vás: výchozí skenování malware, které odhalí infekci dřív, než ji objeví návštěvník, izolace zajišťující, že jeden napadený web nemůže ohrozit ostatní, ochrana proti DDoS útokům na okraji sítě a všudypřítomné TLS s automatickou obnovou certifikátů. Nic z toho nenahradí základní hygienu – silná přihlašovací údaje, přístup s oprávněním jen k nejnutnějšímu a odstraňování nepoužívaných pluginů –, ale znamená to, že slabým článkem nebude infrastruktura. Otázka pro jakýkoliv hosting na vašem seznamu je jednoduchá: je zabezpečení standardem, nebo příplatkovým balíčkem?
WooCommerce a stránky, které nesmíte nikdy cachovat
Obchod je místem, kde agresivní ukládání do mezipaměti přináší největší zisk, ale také největší škody, pokud je naivní. Stránky katalogu, produktů a kategorií jsou nejnavštěvovanější a nejlépe ukládatelné stránky, které máte, a jejich podávání z celostránkové mezipaměti je to vůbec nejlepší, co můžete pro rychlost obchodu udělat. Stránky košíku, pokladny a účtu jsou však osobní a nesmí být nikdy podávány ze sdílené mezipaměti – pokud to uděláte, zákazník uvidí košík někoho jiného, což znamená nefunkční obchod a zároveň porušení soukromí.
Způsob, jak mít obojí, spočívá v uchování stránky v mezipaměti a vytvoření výjimek pro živé části. Technologie Edge Side Includes vykresluje fragment košíku, součty v mini-košíku a stav účtu pro každý požadavek, zatímco zbytek stránky je podáván z mezipaměti, přičemž košík, pokladna, můj-účet a jakékoliv stránky s nonce nebo relací jsou ve výchozím nastavení vyloučeny. Aktuálnost je zajištěna inteligentním automatickým čištěním, které se spustí při změně produktu, ceny nebo objednávky, takže stará cena nikdy nezůstane viset. Pokud provozujete WooCommerce, toto je část kontrolního seznamu, kterou je třeba provést zcela správně: rychlý obchod z mezipaměti, živý košík pro každého uživatele, nikdy se v mezipaměti neukládá nic osobního.
Často kladené otázky
Potřebuji stále ještě vyrovnávací paměť (caching plugin) jako je WP Rocket?
Ne. Cachování celé stránky je na webovém serveru zajišťováno pomocí LSCache od LiteSpeed, náš vlastní cache plugin propojuje WordPress s tímto systémem a stará se o inteligentní mazání vyrovnávací paměti (purging) a za ním funguje objektová cache Redis pro každý web zvlášť. Přidání druhého pluginu pro cachování celé stránky obvykle bojuje proti cache na úrovni serveru, místo aby pomáhalo, takže to není ani potřeba, ani se to nedoporučuje.
Které pluginy platforma činí zbytečnými?
Ukládací pluginy, samostatné pluginy pro objektovou mezipaměť a zálohovací pluginy jsou zde zbytečné, protože tyto úkoly se provádějí pod systémem WordPress – na úrovni serveru se provádí ukládání do mezipaměti, spravovaná objektová mezipaměť pro jednotlivé weby a zálohování platformy. Jejich odstranění omezuje konflikty a zmenšuje prostor pro útoky. To, co má smysl ponechat, jsou pluginy, které váš web skutečně potřebuje ke svému provozu, plus naše dva bezplatné pluginy pro mezipaměť a footprint, které jsou dodávány jako předinstalované.
Způsobí mezipaměť (caching) problémy s mým košíkem v WooCommerce nebo s přihlášenými stránkami?
Ne. Košík, pokladna, stránka mého účtu a všechny stránky s nonce nebo relací jsou ve výchozím nastavení z mezipaměti vyloučeny a funkce Edge Side Includes udržují fragment košíku a celkové součty aktuální na jinak ukládaných stránkách. Zákazníci tak vždy vidí svůj vlastní košík a funkční pokladnu, zatímco výloha se stále načítá z mezipaměti, a chytré automatické čištění vymaže dotčené stránky, když se změní produkt, cena nebo objednávka.
Jak zajistíte, že WordPress bude zabezpečený, aniž bych ho musel spravovat?
Opravujeme zásobník pod WordPress, zajišťujeme bezpečné provádění aktualizací jádra a pluginů pomocí testovacího prostředí (staging) a obnovení jedním kliknutím, standardně spouštíme skenování malwaru a DDoS ochranu, izolujeme jednotlivé weby, aby se případné napadení nešířilo, a automaticky vydáváme a obnovujeme TLS certifikáty. Tím odstraňujeme infrastrukturu 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.
Související
Vyzkoušejte na 14 dní zdarma
Spusťte své první weby na 14 dní zdarma – bez karty. Přesouváte existující web nebo síť? První migrace je na nás.
Začít zdarma