WordPress

Základy optimalizace WordPressu – cachování a zrychlení načítání

Internet je v zásadě počítačová síť, ve které jsou počítače, telefony a spousta dalších zařízení propojena kabelem, bezdrátově nebo jinak. Internet je určen k tomu, aby si mohla všechna zařízení vyměňovat data, ať jde o obrázky, videa, dokumenty, nebo třeba tohle všechno na webové stránce. Výměna dat je ale poměrně náročná, takže snaha je taková si vyměňovat jenom ta data, která jsou potřeba. A pokud si zařízení už něco vyměnila, tak se to může využít i někdy později, aby se to něco nemuselo zasílat znovu.

Příklad cachování na straně internetového prohlížeče

Pro příklad si můžeme uvést třeba obrázky na webu. Když se na web podíváte poprvé, tak je potřeba všechny tyto obrázky opravdu z webu stáhnout, aby se mohly zobrazit i na vašem počítači/mobilu. Co když ale webem brouzdáte dál a třeba se na jeden článek podíváte vícekrát? Nebo co když jsou některé obrázky na každé stránce webu? Tyto obrázky už pak znovu nestahujete, protože už je máte uloženy u sebe, a váš prohlížeč už je pak jen zobrazuje, aniž by je musel znovu a znovu zbytečně stahovat.

Tyto obrázky (ale v praxi i cokoliv jiného) se stáhnou a jsou na vašem zařízení uchovány jako dočasné soubory. A právě tomuto uchování dočasných souborů se říká cache (čti keš). Cachování probíhá takříkajíc na mnoha frontách. My jsme si popsali cache, která probíhá na straně vašeho internetového prohlížeče (browser caching), ale podobný proces může probíhat i na straně webového serveru.

To by vás mělo zajímat hlavně proto, že váš web bude rychlejší (což se líbí jak uživatelům, tak ze SEO hlediska vyhledávačům typu Google nebo Seznam), ale také snížíte zátěž serveru. Obecně je cachování poměrně základní technickou optimalizací webu, kterou na WordPressovém webu doporučuji na 99% používat. Jak tedy funguje?

Jak funguje cachování na webovém serveru

Nejdříve je potřeba pochopit, jak vlastně webové stránky fungují. Ve zkratce když návštěvník přijde na nějakou stránku, tak dostane dynamicky vygenerovaný statický HTML kód, který poté prohlížeč přechroustá a zobrazí vám onu stránku tak, jak by měla vypadat. Onen HTML kód se vytváří na serveru typicky pomocí programovacího jazyka PHP, který načte za databáze všechny možné části webu a postupně tak vytvoří webovou stránku. To se děje kdykoliv, když někdo na webovou stránku přijde.

Dynamické vytváření webové stránky a HTML kódu ovšem také znamená, že vytváření stránek nějakou dobu trvá, ale také zátěž na server, protože musí provádět různé výpočty, volat do databáze a udělat mnoho věcí, než onu HTML stránku složí. Co když je ale ona stránka stejná pro všechny čtenáře? Server by pak musel pro každého jednoho čtenáře vytvářet zas a znovu identický HTML kód. To vypadá zbytečně, a vlastně to zbytečné také je.

Mnohem efektivnější by bylo tuto HTML stránku jednou dynamicky vytvořit, a poté návštěvníkům už jen zasílat výsledek, tedy samotný HTML kód. A přesně takhle cache na straně serveru funguje. Program, který se o cache stará, „navštíví“ každou stránku webu, nechá dynamicky vygenerovat HTML kód, a poté při požadavku tohoto kódu už jen zasílá takto vytvořenou stránku. Cache je tedy tím efektivnější, čím více lidí na stránku přijde, protože se nemusí zas a znovu vytvářet.

Stránky se mohou měnit nebo upravovat, takže ani cache nefunguje neomezeně dlouho. Tyto dočasné soubory se vytváří pravidelně znovu a znovu typicky v intervalu desítek minut až hodin, ale je možné také cache vyhodit a znovu vytvořit i na jedné specifické stránce. Dobře pracující cachovací program je také připraven pro různé události typu vytvoření nového článku nebo úpravu článku stávajícího. Zbaví se té cache, které je zastaralá, a tu vytvoří znovu, takže je web opravdu neustále aktuální.

Kdy se cache hodí, a kdy naopak ne

Cache může velmi ulehčit webovému serveru a může být velmi vhodná pro některé typy webů, ale pro jiné je zase naprosto nepoužitelná. Cache je obecně vhodná pro ty případy, kdy je navštěvovaná stránka stejná, ať jí navštíví kdokoliv. Tomuto typu stránky říkáme, že je statická, tedy neměnná. Nejde o to, že neobsahuje nějaké různé funkce, ale že se nevytváří dynamicky na základě různých faktorů.

Typickým příkladem může být třeba klasický článek na webu. Třeba o tento článek, který čtete. Kdokoliv tuto stránku navštíví, tak dostane naprosto stejný výsledek, jako kterýkoliv jiný čtenář. Proto je i tato stránka vhodná pro cachování.

Jako naprosto nevhodný kandidát pro cachování jsou sociální sítě. Vezměme si třeba Facebook. Když navštívíte hlavní stránku Facebooku, tak se vám zcela dynamicky vytvoří webová stránka, která je určena pouze pro vás. Vytvoří se na základě vašich preferencí, koho máte v přátelích nebo jaké stránky sledujete. Když znovu načtete tuto hlavní stránku Facebooku, tak vždy dostanete jiný výsledek. Nemá tedy smysl tuto cache vytvářet, protože jde o tak moc dynamickou stránku, že se mění s každou vteřinou.

Jako další nevhodní kandidáti jsou uživatelské stránky, tedy stránky, které typicky vidí jen jeden člověk, ale nikdo jiný se k nim nedostane. Typicky může jít třeba o stránku s košíkem vybraného zboží na eshopu. Některé elementy stránky jsou statické (typicky hlavička nebo patička webu, tedy ty jsou pro cache vhodné), ale obsah košíku je specifický pro uživatele a navíc tuto stránku vidí stejně obvykle jen jednou, takže cache pro tuto část stránky nedává moc smysl.

Cachovací pluginy pro WordPress zdarma i placené

Cachování na WordPressu je díky pluginům naprostá hračka. Mezi trio nejpoužívanějších pluginů patří:

W3 Total Cache

Plugin zdarma, který po nainstalování a spuštění okamžitě začne cachovat stránky webu. Snadné použití a okamžité zrychlení webu.

WP Super Cache

Také plugin zdarma, který nabízí to samé co W3 Total Cache. Oba pluginy jsou v zásadě stejné a ani s jedním nešlápnete vedle.

WP Rocket

Placený plugin, který kromě cachování zajišťuje další optimalizační funkce. V zásadě jde o balíček funkcí řady pluginů, ale jen v jednom pluginu. Obecně je také o malinko výkonnější, ale hlavní je opravdu spíše to, že nabízí vše v jednom, zatímco neplacené pluginy typicky zvládají pouze jednu část optimalizace webu, takže je potřeba si jich stáhnout více. Obecně tedy s WP Rocket ušetříte čas, ale zase za funkce zaplatíte. Jestli vám web vydělává, tak asi oceníte, že se nemusíte o nic moc starat a vše funguje. Jestli naopak web není komerční, v pohodě si vystačíte s optimalizačními pluginy zdarma, které je jen potřeba udržovat v aktuálním stavu.

Další články ze série o WordPressu:

  1. Jak si vytvořit webové stránky – postup, rady i tipy
  2. Jak fungují webové stránky (HTML, CSS, JavaScript i PHP)
  3. Co je WordPress a proč na něm postavit web
  4. Jak ručně nainstalovat WordPress krok za krokem
  5. Co je WordPressový plugin a jak ho nainstalovat
  6. Základní nastavení WordPressu krok za krokem
  7. Jak pravidelně a zdarma zálohovat WordPress
  8. Základy optimalizace WordPressu – cachování a zrychlení načítání
  9. Optimalizujme obrázky na WordPressu a zrychleme tak celý web
  10. Jak na zabezpečení WordPress webu, abyste mohli klidně spát
  11. Jak (nejen) ve WordPressu používat rubriky a štítky/tagy
  12. Jak ve WordPressu vytvořit menu
  13. WordPress Stránka (Page) vs. Příspěvek (Post) – jaký je v nich rozdíl?
  14. Zrychlete WordPressový web za 10 minut

Podobné články

Back to top button