Jak bylo náročné zrychlit WordPress

Pomalu se blížíme ke konci mého martyria s WordPressem, jedna z posledních věcí co jsem tak trošku řešil je zrychlení webu. Né, že by mi šlo o nějaký superspeed, nezačínal jsem s hodnotami 40s na načtení stránky jako jiní, ale chtěl jsem aby se web zalíbil i robotům, kteří si na takovéto věci potrpí.

Nechtěl jsem zrovna hned sahat po všude vychvalovaném W3 Total Cache, tak jsem zkoušel výsledků dosáhnout nějakými zásahy do .htaccess a podobně, ale nemělo to velkého významu. Zkusil jsem tedy asi dva pluginy, které říkají, že jsou jednoduché, easy & lightweight, protože komplexicita W3TC mě trochu děsila, ale W3TC má holt viditelné výsledky.

Konfigurace je peklo, naštěstí je po internetu spousta zaručených a nejlepších nastavení, ze kterých si to chce metodou pokus omyl udělat nějaký průměr a na polovinu si prostě přijít sám.

Například přímo návod od autorů šablony Hueman Speed up the Hueman Theme : how to setup W3 Total Cache Plugin je k ničemu a jen rozbije web :/

Takže jsem naklikal co jsem uznal za vhodné a zbytek musel pořešit ručně přidáním do functions.php nene, když se to napíše sem jak se všude píše, tak o změny příjdeme s první aktualizací šablony – a že Hueman aktualizují docela často! Dal jsem to tedy do kódu mého vlastního pluginu, o tom ale zase někdy jindy.

Nemohl jsem se zbavit chyby s „Query strings“, na to zabralo tedy toto:

/* Remove query strings from static resources */
function _remove_script_version( $src ){
  $parts = explode( '?ver', $src );
  return $parts[0];
}
add_filter( 'script_loader_src', '_remove_script_version', 15, 1 );
add_filter( 'style_loader_src', '_remove_script_version', 15, 1 );

Kromě W3TC ještě budou hubovat kvůli optimalizaci obrázků, na to mám WP Smush a docela to jde.

Aktuálně jsem tedy na těchto hodnotách, a největší neplechu dělají obrázky gravatarů v komentářích, ale i s tím by se mělo dát dle Why You Should Be Using Locally Hosted Gravatars něco udělat!

Po odstranění gravatarů jsem na GTMetrix 95%/87%, na PageSpeed 89/100 a Pingdom 98%!

Dokonalosti brání podle některých nástrojů málo optimalizované obrázky (že by prý šly zmenšit třeba o 1%), dále vadí načítání JavaScriptů a CSS v hlavičce, prý to blokuje načítání webu, a JS pro Google Analytics se nenačítá do mezipaměti, či co..


No a to ještě stále není konec, přišel jsem na to že W3 Total Cache je, dle testu, celkem brutálně nekompatibilní s PHP7, zatímco jiné nástroje jsou na tom lépe. Při všem tom hledání jsem narazil i na opačné názory na letitý a obtížně udržovaný moloch jménem W3 Total Cache (podobně jako Yoast SEO) s nějakými těmi bezpečnostními slabinami.

Narazil jsem tak například na fork W3TC na githubu Fix W3TC (W3 Total Cache), vypadá to dobře, ale autoři udělali jednu velkou chybu – plugin se jmenuje stejně jako W3TC a pokud si ho nainstalujeme do WP, tak se bude pořád chtít aktualizovat na oficiální W3TC.

Začal jsem si tedy hrát s WP Super CacheAutoptimize + ruční pravidla do .htaccess + něco málo v rámci vlastního pluginu. Velikost stránky se záhadně zvedla asi o 100kB, ale skóre se ještě zvedlo! GTMetrix 97%/89%, na PageSpeed 90/100 a Pingdom 98%! – Už to nebudu dál hrotit a raději zapomenu na to, že se to dá ještě ladit, nebo nebudu dělat nic jiného.

EDIT: Teď jsem náhodou narazil na krásný všeshrnující článek: Google PageSpeed Insights – Scoring 100/100 with WordPress.

mikrom

Roman Mikulka aka mikrom. Ajťák, opravář, programátor samouk, elektrotechnik, koloběžkář a geocacher. Více na samostatné stránce O mně.

Mohlo by se vám líbit...

Subscribe
Upozornit na

Tato stránka používá Akismet k omezení spamu. Podívejte se, jak vaše data z komentářů zpracováváme..

0 Komentáře
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x