Prejsť na obsah

Nastavenia súborov cookie

Vyberte, aké druhy súborov cookie povolíte. Svoj výber môžete kedykoľvek zmeniť cez Nastavenia súborov cookie v dolnej časti každej stránky. Vyhlásenie o ochrane osobných údajov

Nevyhnutné

Vždy zapnuté

Potrebné na prihlásenie, uchovanie košíka a zapamätanie vašich volieb. Sú vždy zapnuté.

Ktoré súbory cookie?
  • weboke_sessie, weboke_klant, weboke_remember: vaša relácia a trvalé prihlásenie
  • weboke_basket: váš košík
  • wkBtwIncl: zobrazovanie cien s DPH alebo bez DPH
  • wok_cookies: váš výber súborov cookie, 12 mesiacov

Merajú, ktorá reklama vedie k návšteve alebo objednávke, aby sme neplatili za reklamy, ktoré nič neprinášajú.

Ktoré súbory cookie?
  • Google Ads cez Google Tag Manager (_gcl_au, _gcl_aw), najviac 90 dní
  • OpenAI Ads, reklamy v ChatGPT
  • wok_aff: ktorý partner vás k nám odporučil (partnerský program), 60 dní

4,6

Krajina a jazyk

Každá krajina má vlastný web s cenami a DPH danej krajiny.

Zobraziť

Caching

Modul 6: Rýchlosť · Čas čítania: 9 minút

Cieľ lekcie: Po tejto lekcii dokážete vysvetliť, aké druhy cache existujú, a dokážete správne nastaviť a skontrolovať cache stránok (paginacache).

Kľúčové pojmy: cache stránok, cache prehliadača, Cache-Control, objektová cache, Redis, OPcache, CDN, cacheovací plugin, LiteSpeed Cache, výnimky (prihlásený používateľ, košík, pokladňa), vyprázdnenie cache, duplicitné cacheovacie pluginy

Cache: nerobte tú istú prácu dvakrát

Cache uchováva výsledok práce, aby sa nabudúce nemusela robiť znova. Pri WordPress stránke existujú štyri miesta, kde sa to deje, od najväčšieho po najmenší vplyv:

DruhČo sa ukladáKdeEfekt
Cache stránok (paginacache)Kompletné HTML danej stránkyNa serveri (alebo v CDN)Najväčší prínos: PHP, pluginy a databáza sa úplne preskočia
Cache prehliadačaŠtýly, skripty, obrázky, fontyV prehliadači návštevníkaĎalšia stránka sa načíta rýchlejšie, pretože súbory sú už uložené
Objektová cacheVýsledky databázových dotazovV pamäti servera (Redis, Memcached)Pomáha tam, kde cache stránok nestačí, napríklad pri prihlásených používateľoch a internetových obchodoch
OPcachePreložený PHP kódV pamäti PHPPHP nemusí pri každej požiadavke znova čítať súbory; u väčšiny hostingov je predvolene zapnutá

Cache stránok (paginacache)

Lekcia 1.2 to ukázala: bez cache WordPress pri každej návšteve vytvára celú stránku odznova. S cache stránok ju vytvorí prvý návštevník a ďalší dostanú uložené HTML. TTFB jednej sekundy sa tak môže zmeniť na pár stotín sekundy a váš balík zvládne oveľa viac súčasných návštevníkov.

Ako cache stránok získate, závisí od vášho webového servera:

  • LiteSpeed (veľa zdieľaného hostingu, vrátane WebOké): webový server má vlastnú cache. Bezplatný plugin LiteSpeed Cache ju riadi z WordPressu: ktoré stránky smú byť v cache, kedy sa majú vyprázdniť. Keďže cache je priamo vo webovom serveri, pri uloženej stránke sa PHP vôbec nespúšťa.
  • Apache alebo nginx: cacheovací plugin, ktorý ukladá HTML ako súbory, napríklad WP Super Cache, W3 Total Cache alebo platený plugin ako WP Rocket. Prípadne cache, ktorú hoster rieši na úrovni servera.
  • Spravovaný WordPress hosting má často vlastnú cache; tam zvyčajne žiadny cacheovací plugin neinštalujete.

Vyberte si jeden. Dva cacheovacie pluginy súčasne (napríklad LiteSpeed Cache a WP Rocket) si navzájom prekážajú: dvojitá práca, stránky, ktoré sa nevyprázdňujú, zvláštne chyby. Na LiteSpeed serveri LiteSpeed Cache spolupracuje s cache webového servera; iný cacheovací plugin to nedokáže.

Čo nepatrí do cache

Cache stránok dáva všetkým rovnaké HTML. To spôsobuje problémy pri stránkach, ktoré sú pre každého návštevníka iné:

  • prihlásení používatelia (administračný panel, „Vitajte, Lucia“);
  • košík, pokladňa a Môj účet v internetovom obchode;
  • stránky s formulárom s jednorazovým kódom (nonce), ktorý po čase vyprší;
  • stránky, ktoré na základe polohy, jazyka alebo cookie zobrazujú niečo iné.

Kvalitné cacheovacie pluginy prihlásených používateľov a bežné stránky WooCommerce automaticky vynechávajú. Pri iných pluginoch (sekcia pre členov, rezervačný systém) musíte výnimky nastaviť sami. Znak, že niečo nie je v poriadku: návštevník vidí košík niekoho iného, alebo formulár hlási „vypršané“ či „neplatná požiadavka“.

Vyprázdnenie: kedy je cache zastaraná?

Keď upravíte stránku, uložená verzia musí zmiznúť. Cacheovacie pluginy pri uložení článku zvyčajne vyprázdnia danú stránku, domovskú stránku a archívy. Pri zmene menu, témy alebo widgetu je často potrebné vyprázdniť celú cache. Ak po zmene vidíte starú verziu, vyprázdnite cache (v administračnom paneli cacheovacieho pluginu) a skontrolujte to v súkromnom okne, aby vám do toho nezasahovala vlastná cache prehliadača.

Cache prehliadača

Server hovorí prehliadaču pomocou hlavičiek, ako dlho má súbor uchovávať:

cache-control: public, max-age=31536000

Toto znamená: uchovať to rok. Pre štýly, skripty, fonty a obrázky je dlhý čas v poriadku, pretože WordPress pri novej verzii pridá za adresu iný parameter ?ver= a prehliadač ho potom vníma ako nový súbor. Pre samotné HTML je bežný krátky čas (alebo žiadny), aby návštevníci rýchlo videli zmeny.

Mnohí hosteri a cacheovacie pluginy to riešia automaticky. V úlohe tejto lekcie to skontrolujete.

Objektová cache a Redis

Cache stránok nepomáha pri prihlásených používateľoch ani pri košíku. Tam pomáha objektová cache: WordPress ukladá výsledok databázových dotazov v pamäti, v programe ako Redis alebo Memcached. Keď príde ten istý dotaz nabudúce, WordPress získa odpoveď z pamäte namiesto z databázy.

To je užitočné najmä pre internetové obchody, stránky pre členov a stránky s mnohými prihlásenými redaktormi. Pri bežnej informačnej stránke s cache stránok je rozdiel malý. Objektová cache vyžaduje, aby váš hoster ponúkal Redis alebo Memcached; následne ju zapnete pluginom (vie to LiteSpeed Cache, existujú aj samostatné pluginy).

CDN

CDN (content delivery network) je sieť serverov na mnohých miestach sveta, ktoré uchovávajú kópie vašich súborov (a niekedy aj celých stránok). Návštevník ich dostane z najbližšieho servera. To pomáha najmä pri návštevníkoch zďaleka a pri vysokej návštevnosti. Pri stránke s európskymi návštevníkmi na európskom serveri je prínos malý. CDN s proxy (ako Cloudflare) mení aj vaše DNS a certifikát (DNS kurz, lekcia 7.5); nerobte to bez toho, aby ste chápali, čo to robí.

V praxi: ako to vyzerá v paneli

Ako príklad použijeme LiteSpeed Cache na LiteSpeed serveri. Iné cacheovacie pluginy majú podobné nastavenia pod inými názvami.

  1. Nainštalujte a aktivujte LiteSpeed Cache cez Pluginy > Nový plugin.
  2. Otvorte LiteSpeed Cache > Cache: „Zapnúť cache“ je zapnuté, „Cache pre prihlásených používateľov“ vypnuté (pokiaľ neviete, čo robíte).
  3. Pri internetovom obchode: skontrolujte v sekcii Vylúčiť, že sú tam košík, pokladňa a Môj účet (pri WooCommerce sa to deje automaticky).
  4. Ostatné funkcie (optimalizácia CSS a JavaScript, obrázky) nechajte najprv vypnuté. Zapínajte ich postupne, jednu po druhej, a po každom kroku otestujte: práve tieto funkcie niekedy narušia tému.
  5. Skontrolujte v súkromnom okne pomocou vývojárskych nástrojov (F12, Sieť, prvá požiadavka): pri druhom načítaní by malo byť uvedené x-litespeed-cache: hit.

Zhrnutie

  • Existujú štyri druhy cache: stránok (najväčší prínos), prehliadača, objektová a OPcache.
  • Na LiteSpeed serveri riadi LiteSpeed Cache cache webového servera; na Apache alebo nginx použijete iný cacheovací plugin. Vyberte si jeden.
  • Prihlásení používatelia, košík, pokladňa a osobné stránky nepatria do cache stránok.
  • Po zmenách menu alebo témy vyprázdnite cache a skontrolujte to v súkromnom okne.
  • Objektová cache (Redis) pomáha pri internetových obchodoch a prihlásených používateľoch; CDN najmä pri vzdialených návštevníkoch a vysokej návštevnosti.

Kvíz

1. Ktorá cache prináša bežnej informačnej stránke zvyčajne najväčší nárast rýchlosti?



2. Zákazník vidí vo svojom košíku produkty niekoho iného. Čo je pravdepodobne zle?



3. Prečo neinštalujete dva cacheovacie pluginy súčasne?



4. Komu pomáha objektová cache ako Redis najviac?



Úloha

Úloha A6.2: Funguje vaša cache stránok? Zadajte adresu svojej stránky. Program si vyžiada domovskú stránku dvakrát krátko po sebe, bez cookies, a pri druhom pokuse sa pozrie na hlavičky, ktoré naznačujú zásah do cache (x-litespeed-cache: hit, x-cache: HIT, cf-cache-status: HIT, hodnotu age väčšiu ako 0, alebo hlavičku inej známej cache). Potom si vyžiada jeden štýl z domovskej stránky a skontroluje, či ho prehliadač smie uchovávať aspoň sedem dní (cache-control: max-age alebo expires). Zaznamenajte si, akú cache používate.

Úloha A6.2: Funguje vaša cache stránok?



Čo vyplníte a čo nájdeme, neukladáme. Váš prehliadač si pamätá vaše odpovede a to, či ste úlohu splnili. Po prihlásení si v sekcii Moje kurzy uchovávame iba to, že úloha bola (takmer) správne vyriešená; aj to tam môžete odstrániť.

Ďalšie čítanie

Tieto články opisujú postup v paneloch WebOké; v iných paneloch fungujú podobne.

Chvíľu strpenia…

Nastavte svoje domény

Pri každej doméne nastavte nameservery, prepojenie s hostingom a to, kto bude jej vlastníkom.

Načítavajú sa vaše domény…