WordPress je úžasný redakční systém, ze kterého můžete vytvořit snad všechno. A to díky desítkám tisíc pluginů, které vývojáři zdarma nahrávají na WordPress.org. Za dobu, co s WordPress pracuji se mi však párkrát stalo, že plugin nefungoval podle očekávání, dokonce mi i shodil celý web. Proto byste měli být před nasazením velice obezřetní a pořádně si jej otestovat.
Co všechno může být u pluginu špatně
I na první pohled zcela funkční plugin může nadělat v budoucnu hodně problémů, takže byste neměli zapomínat na pravidelné automatické zálohování. Nikdy nevsázejte jen na jednu zálohu a už vůbec ne, na ty které dělá hosting. Pořiďte si oddělený prostor a na něj automaticky zálohujte. Zálohy pak uchovávejte v závislosti na tom jak se mění obsah. Měli byste však mít minimálně jednu starší jak měsíc, pro případ napadení webu. Někdy se malware schovává i několik týdnů, než se objeví první příznaky.
Problém s rychlostí
Důvodem proč máte pomalý WordPress je téměř vždy plugin. Ke zpomalení většinou dochází hned a odhalíte jej testováním. U testovacího WordPress je však dobré mít připravená nějaká data, ideálně v takovém rozsahu jako u webu, kde bude plugin nasazen. Případně si vytvořte nějakou výplň s přihlédnutím na to jak bude vypadat projekt za rok.
Co se tedy může pokazit.
Plugin potřebuje komunikovat se serverem třetí strany
Ovšem narazí přitom na problém. Třeba server třetí strany spadne, bude přesunut anebo komunikaci zabrání firewall. Je nutné vědět, co se v takovémto případě bude dít. Například jestli se bude snažit navázat spojení dokud se mu to nezdaří anebo o tom informuje a odloží to. Test můžete provést třeba na svém počítači (localhost) s tím že webserveru zakážete komunikovat s internetem.
U už nasazeného pluginu zjistíte tento problém pomocí pluginu Query Monitor. Sledujete hlavně sloupec Timeout.
Několik ukázek z praxe:
- Server Facebook zhruba na půl hodiny přestal odpovídat. Jednalo se o lokální výpadek. Výsledkem byl odstavený web. Stačilo však vypnout plugin pro sdílení a vše jelo.
- Plugin na zálohování se při navazování spojení zacyklil. Resp. timout byl delší než doba, kdy se znovu pokusil navázat spojení.
- Server s novinkami k pluginu spadl. Přestala fungovat nástěnka.
- RSS kanál obsahoval chybu, velký objem dat způsobil, že došla paměť a objevila se chyba v administraci.
Všechny tyto problémy se řešily vypnutím pluginu. Samozřejmě pokud by byl plugin pro chod webu nezbytný, bez zásahu programátora by se to neobešlo.
Problémy pluginu s databází
Dnešní servery jsou optimalizované pro vysokou zátěž (spousta vláken procesoru, SSD), ale občas je jejich slabinou hrubý výpočetní výkon. Za běžných okolností to nevadí, protože nepracujete s takovým objemem dat, aby se to projevilo na rychlosti.
Samozřejmě je těžké říct, kdy už je objem dat velký, protože záleží jak je optimalizovaná tabulka a jak se v ní hledá. V tabulce s pár set tisíci záznamy se dá hledat vteřinu, ale v tabulce s pár tisíci i desítky vteřin. Vývojáři pluginů, kteří často nemají moc zkušeností, ale nechybí jim nadšení mohou podcenit testování.
Pokud se tomuto chcete vyhnout, tak testujte plugin s vlastními daty, které jsou třeba v 10x větším objemu než očekáváte.
Na chybu můžete přijít opět díky Query Monitor pluginu.
Problém s kompatibilitou
Osobně jsem nikdy nenarazil na problém, kdy by se mi dva pluginy anebo plugin a šablona poprali. Na druhou stranu už se mi stalo, že cachovací plugin znefunkčnil počítadlo návštěvnosti. Samozřejmě to vše je o konfiguraci a dá se to opravit, ale nejdřív musíte chybu najít. Takže to chce pořádné testování před nasazením. Dobře funguje tabulka anebo seznam, co má web umět – zadání projektu. Po instalaci pluginu všechno projet jestli je správně.
Problémové jsou ještě pluginy na optimalizaci výkonu. Pokud chcete dostat, co nejvíce bodů například v Google PageSpeed Insights, tak je nutné zasáhnout do šablony. Ano existují na to pluginy, ale v tomto případě vám s největší pravděpodobností něco rozbijí.
Další na co je třeba dát si pozor je verze PHP. Samotný WordPress je optimalizován na aktuální verzi PHP, ale pluginy a šablony nemusí. Je větší pravděpodobnost, že nebude fungovat plugin kvůli verzi PHP než kvůli verzi WordPress. Zpětná kompatibilita je u WordPress opravdu úžasná.
Problém s bezpečností
WordPress je bezpečný. Provozoval jsem jich desítky a vždy když došlo k bezpečnostnímu problému tak byla chyba buď u mě anebo v nějakém pluginu. Kritické bezpečnostní díry jsou u pluginů poměrně vzácné, většinou když se něco objeví tak je to zneužitelné v kombinaci s jinou chybou.
Pokusy o prolomení bezpečnosti jsou na denním pořádku. Pokud si nainstalujete bezpečnostní plugin s logováním, tak uvidíte že například pokusů o uhádnutí hesla jsou desítky za den.
Jak předejít problémům
Takže jsme si shrnuly jaké problémy mohou s pluginy být a teď se podíváme jak těmto problémům předcházet.
Sežeňte co nejvíce informací
Než si plugin nainstalujete, tak se vyplatí si o něm něco zjistit. Začněte tím, že si pročtete detailně popis, zkontrolujete kdy vyšla poslední aktualizace anebo zdali jsou na stránce informace s kontaktem na autora. Na WordPress.org se u každého pluginu nachází sekce Reviews a Support.
Reviews jsou recenze a hodnocení pluginu. Ty si projděte. Důležité jsou hlavně ty poslední, protože se vážou k poslední aktualizaci. Samozřejmě jako i jiné internetové recenze, to chce brát s rezervou. Většina problémů je mezi klávesnicí a židlí. Sledujte i jestli autor pluginu odpovídá na recenze s horším hodnocením. Často v rekcích najdete vysvětlení problému. Pokud se však nějaká stížnost bude opakovat je třeba zbystřit. Mezi recenzemi jsou důležité i faktická varování, například že plugin už delší dobu není aktualizován.
Support je podpora k pluginu. Tady najdete reálné problémy s pluginem. Důležité je jestli autor reaguje a jakým způsobem. Dobrý je i velká komunita kolem plugina, která může částečně autora nahradit. Hledejte hlavně témata s problémem s kompatibilitou a případně nároky na server. Pokud napříkald plugin pro některé operace vyžaduje velké množství paměti ujistěte se, že váš hosting to zvládne.
Sledujte vývoj pluginu
U každého pluginu na WordPress.org se nachází sekce Developement. Většinou je tam seznam aktualizací a krátký komentář k nim. Je fajn si to projít.
Důležitější je ale část Interested in development?, kde je odkaz na RSS kanál. Zde je totiž kompletní seznam aktualizací a revizí pluginu včetně data a odkazu na detailní přehled změn v kódu. Stačí si URL RSS kanálu vývoje pluginu vložit do čtečky a okamžitě uvidíte jestli vyšla aktualizace a co obnáší. Případně můžete napojit RSS kanál na službu jako ifttt.com a vždy když se objeví nová aktualizace, tak si poslat email anebo push notifikaci na mobil.
Další ochrana se hodí
Nechci nijak shazovat práci lidí, kteří dělají na pluginech a zdarma, ale občas je více nadšení než zkušeností. Pluginy tak mohou obsahovat bezpečnostní díry, které dříve anebo později někdo objeví. Nebezpečí je vyšší u instalací, kde je možné si zřídit uživatelský účet. Naštěstí existují bezpečnostní pluginy, dokonce jeden je na velice profesionální úrovní a zdarma. Jmenuje se WordFence a měli byste jej mít nainstalovaný. Jednak vás ochrání před některými bezpečnostními hrozbami, ale také umí projít celou instalaci a porovnat soubory s těmi na WordPress.org. Takže pokud jsou napadené – obsahují nějaký kód navíc anebo pozměněný, tak to najde.
Vlastní testování
A teď se konečně dostáváme k vlastnímu testování pluginů.
localhost
Nikde neuděláte lepší a důkladnější testování než ve vlastním prostředí. Můžete si libovolně upravovat parametry PHP a MySQL. Vše je rychlejší a snadno můžete obnovit vývojové prostředí pro další testování.
Existují dvě metody. Jedna je postavená na nainstalování webserveru a databáze přímo na počítači a druhá instalací virtualizace a vytvořením VPS. Samozřejmě záleží jaké máte zkušenosti se správou serveru. Osobně jsem začínal na XAMPP. Je to jednoduché na zprovoznění a konfigurace prakticky nebyla potřeba. Jediné co mi dělalo problém byly .htaccess soubory kvůli URL.
Druhá varianta s virtualizací a VPS je složitější, ale naučíte se zase jak zprovoznit VPS, které je úplně jiná liga oproti sdílenému webhostingu. Výhody virtualizace a VPS je, že zachovává obraz virtuálního serveru v takové podobě kde jste právě skončili. Prostě při vypnutí se uloží obsah paměti na disk a fakticky se VPS vůbec nevypne. VPS je navíc “kontejner”, který se dá libovolně zálohovat anebo klonovat. Jinými slovy před úpravou si kontejner zazálohujete, když se něco pokazí, tak jej přehrajete záloho a jste ve stavu před problémem. Máte tedy připravenou instalaci WordPress s provizorními daty, otestujete na ní plugin, a když skončíte tak jí přehrajete čistou verzí a můžete testovat další.
Testování na localhostu doporučuji. Úpravy jsou rychlejší (nepotřebujete internet) a snadněji se simulují některé věci – například pád serveru třetí strany, kam se plugin pokouší připojit.
druhý hosting
Localhost je super, ale pokud jedete na sdíleném webhostingu, tak je to naprosto odlišné prostředí, které se občas velmi špatně nasimuluje. Pokud máte multidomain hosting, tak doporučuji mít testovací doménu a na ní otestovat zdali je vše kompatibilní, případně i další testy. Jestliže multidomain není podporován, tak použijte druhý hosting ideálně na stejném fyzickém serveru. Možná si říkáte, že je nesmysl platit za 2 hostingy, ale sami sebe se zeptejte jestli těch pár set korun navíc stojí za vyhnutí se případných problémů.
Závěr
Výše uvedené informace jsou postaveny na reálných zkušenostech, které mě stály opravdu hodně času. Stačilo přitom si zjistit více informací anebo neodfláknout testování. V každém případě než se do čehokoliv pustíte tak zálohujte! 🙂
- Slevový kód Euronics - Aktuální slevy na elektroniku z eshopu Euronics.cz
- WebhostingCentrum.cz - IT magazín (Hosting, E-shopy, WordPress, SEO, Marketing)
Tento článok je veľmi pekne napísaný a myslím že veľa ľuďom môže pomôcť a ušetriť nervy a čas. V poslednej dobe sa mi stalo s jedným pluginom – že všetko som si pekne potestoval, prečítal referencie a všetko bolo úžasné a plugin fungoval ako má, ale po nejakej dobe mi neskutočným štýlom začal spomaľovať backend/administráciu WP – tak som sa s nim musel bohužiaľ rozlúčiť – pretože to bolo fakt zlé :/