Po migraci FeedIT.cz na vlastní WordPress u BlueBoardu (z WordPress.com) se objevil problém s nestíháním. Ten web má přes 55 tisíc příspěvků, takže i když nemá nijak zásadní návštěvnost (okolo jednoho tisíce návštěv ve všední dny), tak je to přece jenom něco trochu většího.
Cache je nutné, ale pozor
Hlavní problém se objevoval ráno, při prvním vložení nového příspěvků. Skončilo to 50x chybou a trvalo asi pět minut, než byl web opět dostupný. Článek se přitom vložil správně, ale cokoliv dalšího už poté nebylo možné. Podezíral jsem generování sitemap.xml a WP Fastest Cache a nakonec se ukázalo, že to druhé je původcem – stačilo vypnout automatické mazání kompletního cache při vložení nového článku (je tam ještě totéž při opravě článku).
WP Fastest Cache tvrdil, že jde jen o mazání konkrétního článku a hlavní stránky (pokud tam ten článek patří), ale buď tam mají chybu nebo to není pravda – vypadá to, že se vydají mazat kompletní cache. Což u takto rozsáhlého webu trvá dlouho.
Vypnout nakonec můžete i ono mazání při aktualizaci a můžete to dělat ručně (na příslušné stránce a na hlavní stránce). Případně zkusit jiný cache, nebo klasicky počkat, jestli to náhodou neopraví (což se mimochodem o pár týdnů později stalo).
Pokud na svém WordPressu nemáte žádný cache, tak je to dost dobrý důvod k nestíhání a měli byste to řešit.
O pár měsíců později WP Fastest Cache šlo pryč a nahradilo ho WP Super Cache. To se ukázalo jako rychlejší a méně náročné na počty souborů. Případně viz Jaké cache použít pro váš WordPress web?
Sitemap.xml a indexace webu
Se Sitemap.xml to ale mohlo souviset také, navíc se v tomto případě projevuje jako problém i jinde. All In One SEO totiž generuje Sitemap.xml kompletního webu, dokonce včetně štítků, rubrik, médií a dalších taxonomií. Je tedy pochopitelně obrovská (FeedIT.cz má přes 4 000 štítků). Při hledání příčiny jsem objevil, že se na zmigrovaný web vrhla Monitora.cz a kompletně ho stahovala – ukázalo se, že mají chybu v robotu a prostě znovu natáhli vše co je Sitemap.xml (i proto, že na WordPress.com tam není všechno).
Řešením v tomto případě je jiný plugin, co nevytváří kompletní Sitemap.xml. A velmi pravděpodobně se touto cestou vydám. Pár tipů na jiné viz Jak na WordPressu vytvořit Sitemapu? Nejlepší pluginy pro sitemap.xml
Při řešení nestíhajícího WordPressu je třeba se dívat i na to, co se vlastně na webu děje. Protože pokud se na vás vrhlo několik robotů, tak může jít o značnou zátěž, která může chod webu velmi ovlivnit. Ono “dívat se“ bude trochu komplikované, protože na většina hostingů nebudete mít možnost se dívat na http logy, ani sledovat zátěž databáze, natož mít něco pro kontrolu v reálném čase. Ochota technické podpory navíc bývá velmi různorodá.
Zkoumáním statistik návštěvnosti (Blueboard je vytváří z logů serveru) se navíc ukázalo, že podobným způsobem se na web vydal AHREFs (mám ho tam založený pro analýzy) a nevypadá to, že by zrovna dodržovali nastavení že mají použít jen jedno vlákno a dvě sekundy mezi požadavky. AHREFs jsem nakonec vypnul, byť byl nastavený “jednou za měsíc”. Až budu případně potřebovat, tak ho je možné pustit ručně.
Zatěžující SQL dotazy
Časté nestíhání je ale vinou přímo šablony nebo některého z pluginů – zejména tam, kde dochází k častým a náročným SQL dotazům. Jednu šablonu jsem z tohoto důvodu nakonec musel vyměnit za jinou, tvůrci volali funkci WordPressu zpracovávající a vracející prakticky kompletní obsah meta tabulky při každém vyžádání obrázku (média).

Blueboard má hodně povedenou funkci – v administraci je u SQL serveru možné se podívat ne nejdéle trvající dotazy. Hodně to může pomoci, protože odhalit místo kde se děje něco nepravého je obtížné – Existuje plugin Query Monitor coby fantastická pomůcka, ale musíte vědět kde hledat – ne vždy se totiž nepravosti dějí v tom na co pravidelně vstupujete.
Pomalé SQL dotazy pak navíc musíte najít ve zdrojových kódech (WordPressu, šablony, pluginů) a není to až tak triviální – většinou se tam sestavují postupně a hledání je tak trochu detektivní práce.
Pluginy a widgety, ale i šablona
Při hledání pomůže i tak prostá věc jako vypínat konkrétní pluginy (co nejsou bezpodmínečně nutné pro běh webu) a sledovat zda to povede ke změně chování.
Jak už zaznělo, problém může být i v samotné šabloně – tady pomůže přepnout na některou z výchozích od WordPressu (ty co jsou označené číslem roku ve kterém byly vytvořeny). Jsou velmi jednoduché, čisté a rychlé.
Vyšší zátěž hledejte i ve Widgetech – čím víc jich nasekáte na stránkách, tím větší dopad to může mít. Související články (Jak na související články (příspěvky) na WordPressu) bývají velký žrout, ale i nejčtenější a podobné věci. Zkoušejte je odstranit jeden po druhém a sledovat jak se to projeví.
Určitou dobu po čerstvém zprovoznění (ale hlavně po migraci) je větší zátěž běžná – některé pluginy například kontrolují bezpečnost a postupně procházejí vše co na webu máte. Možná jste si tam dali něco pro kontrolu nefunkčních odkazů. Migrace mohla přinést velké množství 404 a jakkoliv máte jistě Redirection pro hlídání, může to být také důvodem vyšší zátěže.
Pozor při změně šablony ale i změně pluginů na kombinace s cache – měli byste ho promazat, protože tam mohou být staré verze stránek, které přes JavaScript mohou stahovat či aktivovat něco, co už na webu nemáte.
PHP Error Log a HTTP Logy
Další dobrý pomocník bývá PHP Error Log (a zapnuté logování) a HTTP logy – jak klasický záznam o přístupu tak záznam o chybách http serveru. Ne vždy je ale budete moci mít, některé hostingy je neposkytují, některé ano, jiné si za to řeknou extra peníze.
PHP Error Log je poměrně snadný na kontrolu – většinou tam u problematického webu najdete přečerpání dostupné paměti, ale mohou tam být i jiné zádrhele. Http logy už mohou být složitější, pro velké weby může jít o zásadně velké soubory – naučte se v nich hledat, ale určitě pomůže si i opatřit nějaké analyzátory http logů (pokud je přímo nemá váš hosting).
Otravné a časté dotazy odněkud zvenčí
Při zkoumání můžete zjistit i to, že důvodem velké zátěže je něco/někdo s velmi častým dotazováním. Může stahovat příliš často RSS, “monitorovat” nějakou stránku či více stránek, stahovat něco náročného (velkého nebo s zátěží SQL).
Tady potřebujete zjistit IP adresu a buď se pokusit vlastníka kontaktovat (často spíš nemožné) nebo prostě této IP adrese zakázat přístup na server. Často to bývají roboti, indexátory (jiné než Google, Bing či Seznam), analyzátory a různé bezpečnostně otravné věci – velmi často boty co se snaží o brute force přístup či masové vkládání komentářů.

Příčiny mimo vaši kontrolu
Příčinou pomalého serveru ale může být i váš poskytovatel hostingu. Proto je dobré vědět kde váš hosting má “status dashboard” – a než začnete panikařit, tak se tam podívat. Případně se podívat zda “nefunkční” či pomalé je i něco jiného, než jenom právě ten váš web. Můžete pak kontaktovat technickou podporu a ověřit si, že je možná problém “u nich”.
Mezní případ je ten, že jde o DDoS útok, mířící možná na vás, možná na vašeho poskytovatele hostingu.
Další tipy týkající se WordPressu
-
TIP#451: Jak zjistím zda nějaký web není napadený malware?
Na Internetu najdete řadu online služeb, které vám umožní ověřit, jestli určitá webová adresa je bezpečná na návštěvu nebo zda nějaký web nebyl kompromitován (napaden) a nešíří nějaké to malware či viry.…
-
TIP#324: Jednou za čas si dělejte kontrolu rubrik a štítků. Budete dost překvapení
Psal včera Zoltan Nemeth něco o tom, jestli to „s těmi úmyslnými překlepy nepřeháním“ a ukázal na zmatky ve zdejších rubrikách a štítcích. Má samozřejmě pravdu, už pár týdnů mám v TODO…
-
TIP#204: Kde si mohou založit a psát blog?
Pamětnicí počátků blogování vědí, že to co je k dispozici dnes je nesrovnatelné s tím, jak se s blogy začínalo. A také to, že jakkoliv blogování (a blogosféra) není už tak módní…
-
Změnit adresu blogu na WordPress.com jde, ale není to uplně ono
Jeden z důvodu vzniku @365tipů byl, že bude možné si odzkoušet co to obnáší blogovat a publikovat bez nutnosti vynakládat finanční prostředky. A ověřit řadu věcí, které člověk většinou neřeší, dokud nenastanou.…
-
150 tipů, 1000 sleďů na Twitteru, vlastně takový důvod k oslavě
Někdy včera večer překročil @365tipu tisíc sledujících, zcela jasný důvod k radosti. Dnes vyšel sto padesátý tip, což je také svého druhu důvod k radosti, velmi rychle se totiž blížíme k polovině…
-
TIP#131: K čemu je dobré používat Google Search Console. A jak tam přidat blog na WordPress.com a proč to vlastně chtít
Google Search Console (dříve Google Webmaster Tools, GWT, k přejmenování došlo v polovině května 2015) je hodně užitečná pomůcka pro každého, kdo provozuje web a vůbec není nutné, abyste měli nějaké velmi pokročilé…
-
TIP#058: Doména sem, doména tam aneb potřebujete pro váš projekt doménu?
Jedno z pravidel říká, že pokud se titulek na něco ptá, tak odpověď je vždy jasná. Každopádně, ještě někdy na samém počátku @365tipu napsal Michal Veselý: „Dobry napad, ale preco pre @365tipu…
-
TIP#053: Celé články nebo jenom upoutávky? Obvyklé dilema u blogu. WordPress na tohle má značku
Když jsem začínal s @365tipu, tak jsem nepředpokládal, že bude větší počet „delších“ textů. Skutečnost je samozřejmě taková, že nakonec těch delších textů je víc. Znamená to, že jsem původně vsadil na…
-
TIP#039: Nejčtenější články, čtenáři je mají rádi a vám pomohou
Statistiky a analýzy není radno podceňovat. Jednou z nich jsou nejčtenější články (v době sociálních sítí i nejsdílenější či nejvíce lajkované). Vy sami se z nich dozvíte, o co byl největší zájem…
-
TIP#035: Je dobré vědět, odkud k vám přicházejí lidé. Co že je to ten referer?
Dnes je to se zjišťováním toho, odkud (a hlavně proč) na váš web přicházejí lidé těžké. Snadné zjištění toho na jaké fráze vás lidé našli v Google je dnes už podstatně problematičtější.…
-
TIP#013: Štítky (i hashtagy) jsou dobrá cesta k zprostředkování obsahu i dalším věcem
Štítky, nálepky, v novější sociální podobě hashtagy jsou užitečná věc. Osobně je pro blogy a obsahové weby velmi v oblibě, dávám jim i přednost před rubrikami. Byť zpravidla pro obsahový web rubriky…
-
TIP#010: Google Analytics na WordPress.com pořídíte jen v placené (od Premium) podobě. Vědět čísla je vždy užitečné
Je sobota, takže jenom krátce a možná ne až tak velmi užitečně jako v některých předchozích tipech. A taky je čas se tak trochu pochlubit tím, jak to vlastně s @365tipu vypadá.…
-
Co všechno by mělo být na blogu aby dobře fungoval pro čtenáře i autora?
Ve WordPressu tyto věci můžete přidávat pomocí předem hotových modulů- Hledejte v nastaveni Widgets/Widgety – jsou k nalezení v části „Vzhled“.