Prečo je WordPress pomalý a prečo za to často nemôže WordPress

Veľa ľudí povie ,,WordPress je pomalý“ v momente, keď sa stránka načítava dlhšie, než je príjemné. Lenže v praxi je WordPress často len „recept“, problém býva skôr v kuchyni, v ktorej sa varí, a v tom, či tam niekto vie nastaviť poriadok. A presne o tom je tento článok, aby laik pochopil, že rýchlosť webu závisí najmä od prostredia, v ktorom WordPress beží, a od nastavenia.

Keď je web pomalý, čo to znamená v realite

Z pohľadu návštevníka je pomalý web ten, na ktorom sa nič nedeje, obrazovka je chvíľu biela, potom „poskakuje“ obsah, a až potom sa dá kliknúť.  Technicky sa rýchlosť často rozpadne na dve veľké časti: ako rýchlo server pošle prvé dáta, a ako rýchlo ich prehliadač poskladá do hotovej stránky. Prvé sa meria napríklad metrikou TTFB, teda čas do prvého bajtu odpovede zo servera. 

Pre biznis to nie je detail. Google publikoval dáta, že keď sa načítanie predĺži z 1 sekundy na 3 sekundy, pravdepodobnosť odchodu bez interakcie narastie o 32 %, pri 5 sekundách je to už 90 %.  Zároveň sa v praxi ukazuje, že rýchlosť vplýva na konverzie aj tržby, a aj malé oneskorenia vedia „ukrojiť“ z výkonu webu.

wordpress pomaly načítava

Rýchlosť nezávisí len od WordPressu, ale od prostredia

WordPress nie je jedna magická vec, je to softvér, ktorý potrebuje aby mu niečo „dýchalo do pľúc“: PHP, databázu (MySQL alebo MariaDB), web server, HTTPS, a rozumné nastavenie. WordPress sám to aj priamo pomenúva v požiadavkách na hosting.  Keď toto prostredie nie je v poriadku, WordPress môže byť nastavený akokoľvek pekne, ale bude to ako variť v kuchyni, kde je slabý sporák, tupé nože, a ešte aj vypadáva elektrina. Nie je to vina receptu. A práve tu sa skrýva odpoveď na otázku, prečo je WordPress pomalý. Vo väčšine prípadov nejde o samotný WordPress, ale o to, na čom beží a ako je celé prostredie nastavené.

Typický príklad je zdieľaný hosting. Na jednom serveri beží veľa webov, zdieľajú CPU a RAM, a keď jeden projekt zhltne viac zdrojov, ostatné to pocítia. Toto je základný princíp zdieľaného hostingu, a preto vie byť výkon kolísavý. Naopak VPS je zvyčajne izolovanejšie prostredie, kde je jednoduchšie nastaviť výkon stabilne, lebo máte vyhradené zdroje a väčšiu kontrolu nad tým, čo sa na serveri deje.  A toto je kľúčová myšlienka. Rýchlosť WordPress webu je výsledok kombinácie latencií v celom reťazci, teda sieť, server, cache vrstvy, databáza, prehliadač. Je to skladačka, nie jeden vypínač.

Ako sa WordPress stránka načíta krok za krokom

Predstavte si dve prirovnania naraz. Prvé je skladanie knihy. Niekto musí priniesť papier (dáta zo servera), niekto musí vytlačiť strany (server spracuje požiadavku), a potom si čitateľ knihu poskladá a začne čítať (prehliadač vykreslí stránku). Druhé je varenie jedla. Objednávka príde do kuchyne, kuchár musí nájsť ingrediencie, uvariť, naservírovať, a až potom hosť ochutná.

Teraz krok po kroku, čo sa deje, keď niekto otvorí WordPress stránku:

  • Krok 1, prehliadač začne navigáciu a buduje spojenie. Sem patrí DNS, nadviazanie spojenia a šifrovanie pri HTTPS, a až potom samotná požiadavka. Všetko toto sa premieta do TTFB, teda do času, kým príde prvý bajt odpovede. 
  • Krok 2, server dostane požiadavku a začne „variť“. Pri WordPresse je vstupom pre front end typicky súbor index.php, pri pekných permalinkoch sa požiadavka presmeruje cez .htaccess na index.php, a ten volá ďalšie časti jadra. 
  • Krok 3, WordPress nahrá prostredie, teda konfiguráciu, jadro, pluginy, tému, a pripraví si objekty, ktoré potrebuje na spracovanie. Potom funkcia wp() spracuje požiadavku, naparsuje URL, nastaví query variables, zavolá databázové dotazy, a následne sa vyberie správna šablóna, ktorá sa má vykresliť. 
  • Krok 4, do hry vstupujú cache vrstvy. V ideálnom prípade sa ešte pred „varením“ pozrie cache, či už stránka nie je hotová. Hostingový handbook priamo popisuje, že pri typickom načítaní sa môže kontrolovať cache v poradí prehliadač, CDN, full page cache (napríklad reverzná proxy), pluginová page cache, statická cache, opcode cache, object cache, a ďalej. 
  • Krok 5, server vráti HTML a prehliadač začne skladať výsledok. Prehliadač musí postaviť DOM z HTML, CSSOM z CSS, spracovať JavaScript, vytvoriť render tree, a potom robiť layout, paint a compositing. Toto je kritická vykresľovacia cesta, ktorá rozhoduje, kedy človek uvidí prvý skutočný obsah. 
  • Krok 6, ak je v hlavičke render blokujúce CSS alebo JavaScript, prehliadač môže čakať, a prvý dojem sa zhorší. Preto je dôležité, čo sa načítava „na začiatku“, a čo môže prísť neskôr.
rýchly webhosting

Najčastejší vinníci mimo WordPressu

Najčastejší problém je jednoduchý, server odpovedá pomaly, čiže TTFB je vysoké. A keď je TTFB vysoké, automaticky to tlačí hore aj ďalšie metriky načítania, lebo prehliadač čaká na dáta, aby vôbec mohol začať skladať stránku.  Ak je web na zdieľanom hostingu, zdroje sa delia medzi viac webov. Keď sa „sused“ rozbehne, váš web môže spomaliť, aj keď ste na ňom nič nemenili. To nie je WordPress problém, to je vlastnosť zdieľaného prostredia a jeho rozdelenia zdrojov. 

Ďalší častý vinník je chýbajúca alebo slabá cache. WordPress sám odporúča caching ako jednu z najrýchlejších ciest k lepšiemu výkonu. A hostingový handbook vysvetľuje, že full page cache cez reverznú proxy vie servírovať hotové HTML bez toho, aby sa vôbec spúšťalo PHP a databáza.  Potom je tu object cache. WordPress má objektovú cache na zníženie počtu ciest do databázy, ale v základe je nepersistentná, čiže platí len počas jedného requestu. Ak chcete prínos medzi načítaniami, potrebujete persistent object cache. 

Výkon vie bolieť aj na úrovni PHP. Ak na serveri nie je dobre nastavená opcode cache, PHP musí opakovane načítavať a parsovať skripty. OPcache to rieši tým, že drží predkompilovaný bytecode v zdieľanej pamäti, a tým odstraňuje opakované parsovanie pri každom requeste.  A napokon, aj keď server vypľuje HTML rýchlo, stránku môže spomaliť front end. Veľa veľkých CSS súborov, veľa JavaScriptu v hlavičke, a render blokujúce zdroje dokážu natiahnuť čas, kým človek niečo uvidí a môže kliknúť. 

Ako vyzerá dobré riešenie, keď chcete aby WordPress lietal

Dobré riešenie v praxi znamená, že web beží v prostredí, kde je výkon cieľ, nie náhoda. Z technického pohľadu to zvyčajne znamená kombináciu. Zdravé TTFB, rozumné cache vrstvy (page cache, object cache, opcode cache), a podľa potreby aj CDN. Hostingový handbook to opisuje ako reťaz cache vrstiev, ktoré odoberajú prácu PHP a databáze, a tým znižujú latenciu.  Keď sa to spraví dobre, výsledok vidno aj v metrikách, ktoré sleduje Google. Core Web Vitals sú metriky používateľského zážitku, a Google ich odporúča zlepšovať kvôli používateľom aj kvôli vyhľadávaniu.  Konkrétne, Web Vitals uvádzajú hranice pre „dobré“ hodnoty LCP do 2,5 s, INP do 200 ms, CLS do 0,1. To sú čísla, ktoré sa dajú dosiahnuť, keď prostredie a nastavenie spolupracujú, nie keď sa len pridá ďalší plugin. 

A tu prichádza pointa, ktorú veľa ľudí podcení. Nie každý chce byť systémový administrátor, riešiť cache vrstvy, PHP, databázu a diagnostiku TTFB. Existujú riešenia, kde je WordPress hosting manažovaný odborníkom, optimalizovaný presne pre WordPress, a rieši sa to ako služba, nie ako nekonečný zoznam úloh. Presne na tomto princípe stojí PilotHost.sk, manažovaný WordPress hosting, ktorý komunikuje špecializáciu na WordPress a WooCommerce, bezplatnú migráciu, denné zálohy a osobnú správu od WP experta. Pilothost.sk ponúka balíky, ktoré bežia na vlastnej VPS infraštruktúre s LiteSpeed serverom. A pri vyšších balíkoch aj s Redis, teda s komponentmi, ktoré typicky riešia výkon a stabilitu. Toto je pilot pre váš WordPress.

Ako klient zrýchlil web násobne bez zmeny stránky

Náš klient klima-velkoobchod.sk sa trápil s rýchlosťou stránky, bol u najväčšieho poskytovateľa hostingov na Slovensku, dokonca si preplatil extra za výkon. No žiaľ extra výkon znamenal iba vyššie PHP memory limity, čo e-shopu zo skúsenosti vôbec nestačí ani nerieši príčinu pomalého hostingu. U nás prešiel pod litespeed server s redis cachovaním a rozdiel môžete vidieť na videu nižšie. Pričom hore je stránka, ktorá prešla ku nám a nižšie zostala česká varianta. Rozdiel je značne viditeľný.

WordPress nie je problém, prostredie áno

Ak si kladiete otázku, prečo je WordPress pomalý, odpoveď je veľmi jednoduchá. WordPress nie je pomalý. Len veľmi často beží tam, kde nemá. Na preplnených serveroch, bez optimalizácie, bez človeka, ktorý by mu rozumel. A potom to vyzerá, že problém je v systéme. Ale nie je. Rýchlosť webu je vždy výsledok prostredia, v ktorom funguje. Je to kombinácia hostingu, nastavení, cache, servera a skúseností človeka, ktorý sa o to stará. Keď všetko funguje správne, WordPress je extrémne rýchly a spoľahlivý. A keď nie, brzdí váš biznis.

Pilothost.sk vznikol presne preto. Nie ako ďalší hosting pre všetko, ale ako prostredie, kde WordPress lieta. Ak máte pocit, že váš WordPress web je pomalý, problém nemusí byť v ňom, ale v tom, kde a ako beží. Ak chcete, aby vaša stránka alebo e-shop doslova lietali, zverte ich do rúk odborníka s dlhoročnými skúsenosťami s WordPressom.

Návrat hore