Problém s rychlostí načítání stránek je často připisován mohutnosti WordPress. Popřípadě pomalosti webhostingu. Ve skutečnosti za většinu těchto problémů mohou pluginy, které se snaží komunikovat se službami třetích stran. V dnešním článku se podíváme jak je najít.

Spousta pluginů „volá domů“. Někdy si stahují jen aktuální informace, které vám zobrazí jindy potřebují třeba aktualizovat nějaký seznam. Problém je, když tato komunikace je nějakým způsobem blokována anebo omezena. Pokud pokusy o komunikaci probíhají v rámci generování stránky či administrace značně to pocítíte. Nejčastěji v administraci na nástěnce, kde se zobrazují statistiky a celkově je zde WordPress značně vytížen.

WordPress pak působí jako by byl přetížený, dlouho se načítá a celkově jako by server nestíhal.

Jak monitorovat vnitřní odchozí komunikaci

Jedním z oblíbených nástrojů je plugin Snitch, dlouho už ale nebyl aktualizován, takže jeho používání je u novějších verzí pouze na vlastní nebezpečí. Dávejte si na něj také pozor kvůli poměrně velkým nárokům na databázi. Zapisuje do ní totiž všechnu komunikaci. Vyplatí se tedy spustit když problém nastane, projít logy a zjistit, co je špatně.

Na tomto obrázku je výpis logu ze Snitch. Vidíme tam komunikaci pluginů WordFence a Yoast SEO. Tato komunikace proběhla bez problémů a zabrala
Na tomto obrázku je výpis logu ze Snitch. Vidíme tam komunikaci pluginů WordFence a Yoast SEO. Tato komunikace proběhla bez problémů a zabrala 0,37s a 0,12s. Pokud by byl s pluginem problém, tak by komunikace byla delší.

Snitch se také používá pro včasné zjištění malware a backdoor u WordPress. Dokáže totiž najít odkud a s kým WordPress komunikuje. Případně tuto komunikaci i zablokovat. Mimochodem s trochou štěstí najdete i backdoor, což je jinak práce na hodně dlouho.

Proč komunikace dlouho trvá

Jakmile zjistíte co s čím komunikuje, je načase dozvědět se proč je komunikace problémová. Základem je zkusit PING a otestovat zdali server na požadavky odpovídá. Zvláště u starších pluginů nemusí už server s kterým plugin komunikuje být v provozu.

Pokud odpovídá, zkuste ještě komunikaci přímo z hostingu. Někdy může komunikaci blokovat firewall anebo IPS/IDS ochrana. Tohle však nebývá moc častý případ, protože většinou se blokuje příchozí komunikace, nikoliv odchozí.

Problémová vnější komunikace

Vnitřní komunikace byl problém s načítáním TTFB (time to first byte), tedy času za který server vrátí stránku prohlížeči. Následuje však její postupné vykreslování prohlížečem a tady můžeme narazit na další problémy. V rámci článku tomuto budeme říkat vnější komunikace, protože se domlouvá prohlížeč se serverem, zatímco u vnitřní to byl server a server.

Například pokud si vložíte na stránku tlačítka sociálních sítích, může se její načítání protáhnout až o stovky milisekund. To zjistíte díky nástroji tools.pingdom.com. Ve vodopádu pak uvidíte jak se stránka postupně vykresluje. Je dobré dívat se po chybách 4XX a 5XX. Případně mnohonásobnému přesměrování. To dokáže také pěkně protáhnout nahrávání stránky.

Některé takové prvky mohou úplně zaseknout vykreslování stránky. Ta na ně čeká dokud se úplně nenahrají anebo server vrátí timeout. Je dobré je včas identifikovat a ze stránky odstranit, popřípadě nahradit alternativou. Z osobní zkušenosti to bývá nejčastěji reklama, kdy spadl server z kterého se nahrává anebo tlačítka sociálních sítí.

Share on FacebookTweet about this on TwitterShare on Google+Share on LinkedInBuffer this page