Poslední dva dny místo psaní optimalizace WordPress

Blog 404M jede od 27.3.2008. Ty jo teď počítám že už je to 11 let. Celkem jsem změnil hosting 3x. Přitom se jedná o původní instalaci WordPress. Dokonce mám na památku mezi šablonami ještě starou WordPress classic. Vždy jsem to přesouval se vším, žádná nová instalace jen s exportem a importem obsahu. Za tu dobu jsem se s WordPress celkem naučil. Neumím si představit že bez současných znalostí bych se o 404M dokázal postarat. WordPress vypadá jednoduše, ale spousta věcí jsou maličkosti, které najdete až se specializovanými nástroji.

Jeden plugin končí a další začíná

Pluginů jsem vystřídal desítky. Ze začátku jsem všechno testoval přímo tady. Když se mi nějaký hodil tak jsem si ho nechal. Postupem času jsem u jiných projektů vždy s něčím novým experimentoval a když se mi zalíbil, tak jsem si ho nasadil i sem. Takto jsem objevil třeba WordFence, Comet Cache, Querry Monitor anebo Head and Footer Scripts Inserter.

Je to dobrá metoda jak si otestovat novinky, které se třeba jinde doporučují. V některých případech najdete funkce, o kterých ani nevíte že je potřebujete :)

Občas zjistíte že existují i specializované pluginy, pro specifické weby, které však dobře fungují. Například Internal Link Building a Table of Contents Plus jsem původně testoval na WordPress obdobě MediaWiki. Jak se ukázalo tak oba se hodí i na blogy. Zvláště Table of Contents Plus pokud píšete delší články.

Spousta super pluginů časem umřela. Původní autor už je neaktualizoval, což i přes zvýšené bezpečnostní riziko se dalo u těch jednodušších přežít. Velký problém nastal s přechodem z PHP 5.6 na PHP 7.0. Tam se začaly objevovat chyby. Jeden plugin byl dokonce tak unikátní, že jsme se rozhodl, že si jej přepíšu pro PHP7. Bylo to na odpoledne ale stálo to za to.

Samozřejmě se jednalo o něco jednoduchého, co máte za hodinku či dvě hotovou. Složitější věci by se mi už přepisovat nechtěli.

Testovat nové pluginy doporučuji i z důvodu, že některé starší jsou už prostě překonané. Nostalgie je sice silná, ale občas když se podáváte na srovnání, tak je potřeba se s vašim oblíbeným pluginem ,který vás doprováze dlouhá léta, prostě rozloučit. Například já jsem roky používal Comet Cache, ale když jsem si nedávno udělal srovnání cachovacích pluginů pro WordPress, tak bylo jasné že jsou tu už jiní hráči.

Optimalizace výkonu? Občas je lepší říct raději ne

Výkon 404M jsem optimalizoval už mockrát. Dosáhnout na nejlepší hodnocení v různých testech je moc lákavé, ale občas to prostě nejde anebo cena je příliš vysoká. Například pokud máte na stránce nasmlouvanou reklamu a protistrana jí nedokáže dodat 100% optimalizovanou, tak hold na nejlepší hodnocení nedosáhnete. Rovněž je problém i se šablonami. Google vám radí spájet CSS, JavaScripty zase dávat asynchronně, ale ve výsledku se někde něco rozbije. Třeba po jedné takové optimalizační horečce jsem zjistil po měsíci, že mi přestala fungovat tlačítka pro sdílení.

Říkám si radši to nechám v tom průměru ale plně funkční, než to zase rozbít.

Samozřejmě pokud nějaký projekt buduji od začátku, tak tam je to něco jiného. Zvolím takové šablony, které mají super hodnocení, optimalizuji a testují za běhu. Tam už se výsledky pak dostaví.

I když občas mě nějaká optimalizační horečka dostane a hraji si se vším možným.

Když má WordPress přes 10 let

404M toho už prožil spousty. Podle toho také vypadá databáze. Poslední týden se to nějak všechno sešlo a web začal dělat problémy. Do toho všeho ještě přetěžování ze strany různých robotů.

S roboty mi pomáhal hosting, dokud jsem nepřešel na HTTPS. Předtím krásně filtrovali pomocí IPS/IDS ochrany zbytečné desítky tisíc přístupů za den. Ať už se jednalo o šmejdící roboty anebo pokusy o zneužití bezpečnostní zranitelností. Toto jsem vyměnil za HTTP2 :/

No chránit se sám není nic jednoduchého. Máme tu sice nástroje jako WP Security anebo WordFence, ale tyhle ochrany na aplikační vrstvě prostě žerou výkon hostingu. Nakonec jsem to vyřešil nacpáním IP rozsahů problémových zemí do .htaccess což asi není zrovna ideální. Tohle by bylo spíše pro CDN. Také mě lákalo udělat si takovouto “celnici” na VPS :)

Samozřejmě problém je i 10 let provozu WordPress. Po pluginech zůstaly nepoužívané tabulky a spousta záznamů v hodně vytížených tabulkách. Dneska jsem provádět čistku a ulevil právě vytíženým tabulkám o více jak 200 MB nepotřebných dat. SQL dotazy při procházení administrace vše občas zpomalily i nad 10 vteřin. Vše jsem dostal pod 5 vteřin.

V Querry Monitor jsem pak našel jeden nesmyslný SQL dotaz. Pořád řešil něco s pluginy, které už tu několik let nejsou. Tlačil to přímo WordPress. Ten dotaz trval 3 vteřiny. Našel jsem si ve wp_options řádek, který se snažil upravit a prostě jej smazal. Chvilku to chroupal ale teď už mezi pomalými není. Stránky administrace se načítají pod 1 vteřinu.

V databázi však vidíme ještě hodně práce.

Nové pluginy

Jak už jsem zmínil tak Comet Cache jsem dal sbohem a vybral vítěze cachovacích testů WP Fastest Cache. Zatím celkem dobré výsledky.

Na pomoc s databází jsem si nainstaloval dočasně WP DB Cleaner, aby provedl prvotní čistku.

Odstranil jsem plugin pro sdílecí tlačítka Hupso, protože tlačítka co vkládal do stránky stahovala strašně moc věcí od třetích stran. Místo toho jsem zvolil Sassy Social Share, který to nedělá (stačí hledat plugin co je GDPR compliant). Zatím však zlobí vkládání pod příspěvek.

Závěr

S WordPress je spousta práce. Instalace je možná na jedno kliknutí ale optimalizace a hledání chyb stojí často spousty hodin. Občas si říkám jestli by nebylo lepší prostě použít nějaký hostovaný CMS. Na druhou stranu s tím byste se toho moc nenaučili :)


Jak bude reklama vypadat?
-
Kup si reklamu navždy pod tímto článkem jen za 100 Kč
Zobrazit formulář pro nákup