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ť

Pod kapotou: webový server, PHP a databáza

Modul 1: Ako funguje WordPress · Čas čítania: 8 minút

Cieľ lekcie: Po tejto lekcii dokážete krok za krokom vysvetliť, ako sa požiadavka na stránku vo WordPresse premení na HTML stránku a kde v tomto procese skracuje cestu cache.

Kľúčové pojmy: webový server (LiteSpeed, Apache, nginx), PHP, MariaDB/MySQL, query, index.php, hierarchia šablón, dynamický vs statický, TTFB

Statická a dynamická stránka

Pri statickej webovej stránke je každá stránka uložená na serveri ako hotový súbor. Webový server tento súbor jednoducho vezme a odošle. Je to rýchle a jednoduché, ale každá zmena znamená nový súbor.

WordPress je dynamický: stránka vznikne až v momente, keď o ňu niekto požiada. Neexistuje žiadny súbor contact.html. Existuje kus textu v databáze, téma so šablónami a sada PHP kódu, ktorá tieto dve veci spojí dohromady. To prináša výhodu (text upravíte priamo vo svojom prehliadači), ale pri každej návšteve si to vyžaduje výpočtový výkon. Ak pochopíte tento proces, neskôr pochopíte aj to, prečo je stránka pomalá, prečo má cachovanie taký veľký vplyv a prečo môže aktualizácia PHP niečo pokaziť.

Cesta požiadavky na stránku

Predstavte si, že návštevník otvorí https://example.com/contact/. Stane sa toto:

  1. DNS: prehliadač vyhľadá IP adresu domény example.com (pozrite si kurz o DNS). Následne nadviaže zabezpečené pripojenie na túto adresu.
  2. Webový server: na serveri beží webový server, napríklad LiteSpeed, Apache alebo nginx. Ten prijme požiadavku. Ak existuje skutočný súbor alebo priečinok s daným názvom (obrázok, stylesheet), odošle ho priamo. Ak nie, platí pravidlo zo súboru .htaccess (pri LiteSpeed a Apache) alebo z konfigurácie nginx: „odovzdaj všetko, čo neexistuje, súboru index.php“.
  3. PHP: index.php je súbor PHP. Webový server ho nechá vykonať pomocou PHP, programovacieho jazyka, v ktorom je WordPress napísaný. PHP najprv načíta wp-config.php (nastavenia vrátane prihlasovacích údajov k databáze), potom zvyšok WordPressu, následne všetky aktívne pluginy a aktívnu tému.
  4. Databáza: WordPress zistí, aký obsah patrí k adrese /contact/, a kladie otázky databáze (MariaDB alebo MySQL): ktorá stránka má slug contact, aké sú nastavenia stránky, ktoré menu k nej patrí? Takáto otázka sa nazýva query. Jednoduchá stránka si vyžiada aj niekoľko desiatok query, s pluginmi ich môžu byť stovky.
  5. Téma: WordPress vyberie, ktorá šablóna témy stránku zobrazí. Riadi sa pritom hierarchiou šablón: pre stránku so slugom contact WordPress najprv hľadá šablónu page-contact, potom page-<id> (číslo stránky), potom page, následne singular a napokon index. Vyhráva prvá šablóna, ktorá existuje.
  6. HTML naspäť: výsledkom je HTML stránka, ktorú PHP odovzdá webovému serveru a ten ju pošle prehliadaču.
  7. Prehliadač načíta HTML a následne stiahne stylesheety, skripty, písma a obrázky. Tie sú obyčajné súbory, takže prichádzajú priamo z webového servera (alebo z cache).

Medzi krokom 2 a krokom 6 je čas, ktorý server potrebuje na vytvorenie stránky. Tento čas vidíte ako TTFB (time to first byte): čas medzi požiadavkou a prvým bajtom odpovede. Pri dobre nastavenej stránke je výrazne pod jednu sekundu. V module 6 si to zmeriate sami.

Prečo záleží na každom pluginu

V kroku 3 sa všetky aktívne pluginy načítajú pri každej požiadavke. Aj keď daný plugin na danej stránke nič nezobrazuje. Plugin na fotogalériu sa teda načíta aj vtedy, keď niekto otvorí vašu kontaktnú stránku. Každý plugin môže vykonať ďalšie query, načítať ďalší kód a pridať na stránku ďalšie skripty.

To vysvetľuje dve veci, s ktorými sa v tomto kurze stretnete častejšie:

  • Menej pluginov je zvyčajne rýchlejšie. Nie preto, že by samotný počet niečo znamenal, ale preto, že každý plugin môže pri každej požiadavke vykonávať prácu.
  • Jeden pokazený plugin môže zhodiť celú stránku. Ak sa v kroku 3 niečo pokazí (napríklad plugin, ktorý nefunguje s novou verziou PHP), PHP sa nikdy nedostane ku kroku 6. Návštevník uvidí prázdnu bielu stránku alebo hlásenie „Na tejto webovej stránke došlo ku kritickej chybe“ (lekcia 5.4).

Odkiaľ pochádzajú PHP a databáza

PHP a databáza bežia na serveri vášho hostingu. Verziu PHP si zvyčajne volíte sami v ovládacom paneli (v DirectAdmin sa táto funkcia volá Select PHP version, pozrite si lekciu 8.4). Databázu vytvoríte pri inštalácii; inštalátor to za vás často urobí automaticky (lekcia 2.2).

Niekoľko vecí, ktoré si treba zapamätať:

  • Verzia PHP: každá nová verzia PHP je rýchlejšia a bezpečnejšia, ale starší kód sa na nej môže pokaziť. wordpress.org v súčasnosti odporúča PHP 8.3 alebo novšie (stav k novembru 2026).
  • Databáza: wordpress.org odporúča MariaDB 10.11 alebo novšie, prípadne MySQL 8.0 alebo novšie. MariaDB je odnož MySQL; pre WordPress v tom nie je rozdiel.
  • Databáza väčšinou beží na tom istom serveri (hodnota DB_HOST je vtedy localhost). Pri väčšom hostingu môže bežať na samostatnom serveri.

Cache: skrátenie cesty

Ak si sto návštevníkov vyžiada tú istú kontaktnú stránku, WordPress bez cache vytvorí tú istú stránku stokrát. Zakaždým rovnaké query, rovnaká šablóna, rovnaké HTML. Cache stránok uloží HTML po prvom vytvorení. Ďalší návštevník dostane uloženú verziu: kroky 3 až 6 odpadnú.

Bez cache:  browser > webserver > PHP > WordPress + plugins > database > thema > HTML
S cache:     browser > webserver > opgeslagen HTML

Preto cachovanie prináša najväčšie zrýchlenie (lekcia 6.2). Zároveň to vysvetľuje bežný zdroj zmätku: „upravil som text, ale vidím starú verziu.“ Vtedy sa vám zobrazuje uložená verzia; po vyprázdnení cache uvidíte novú.

Nie všetko môže pochádzať z cache. Prihlásený správca, nákupný košík alebo stránka s pokladňou vyzerá pre každého návštevníka inak. Dobrý cachovací plugin tieto prípady vynecháva.

Hlavičky: čo vám server prezradí

Každá odpoveď webového servera začína hlavičkami (headers), ešte pred samotným HTML. Na stránke ich nevidíte, ale nájdete ich v nástrojoch pre vývojárov vo vašom prehliadači (F12, karta Sieť, kliknite na prvú požiadavku). Príklad:

HTTP/2 200
server: LiteSpeed
content-type: text/html; charset=UTF-8
link: <https://example.com/wp-json/>; rel="https://api.w.org/"
x-litespeed-cache: hit
  • server hovorí, ktorý webový server odpovedá.
  • link s wp-json prezrádza, že ide o WordPress.
  • x-litespeed-cache: hit znamená, že táto stránka pochádza z LiteSpeed cache. Iné cache používajú iné názvy, napríklad x-cache: HIT alebo cf-cache-status: HIT pri Cloudflare.

Tieto riadky si nemusíte pamätať naspamäť. Kto ich však vie čítať, dokáže veľa problémov vyriešiť sám.

Zhrnutie

  • WordPress vytvára každú stránku v momente požiadavky: webový server, PHP, pluginy, databáza, téma, HTML.
  • Pri každej požiadavke sa načítajú všetky aktívne pluginy; jeden pokazený plugin môže zastaviť celú stránku.
  • Hierarchia šablón určuje, ktorá šablóna témy stránku zobrazí.
  • Cache stránok preskočí výpočtovú prácu tým, že vráti uložené HTML. Prihlásení používatelia a nákupné košíky do tejto cache nepatria.
  • Hlavičky odpovede prezrádzajú, ktorý webový server odpovedal a či stránka pochádzala z cache.

Kvíz

1. Kto vykonáva PHP kód WordPressu?



2. Stránka so 40 pluginmi je pomalá, aj na stránkach, kde tieto pluginy nič viditeľné nerobia. Čo je najlepšie vysvetlenie?



3. Odkiaľ zvyčajne pochádza stylesheet ako /wp-content/themes/thema/style.css?



4. V hlavičkách vidíte x-litespeed-cache: hit. Čo to znamená?



5. Ktorú šablónu použije WordPress pre stránku so slugom contact, ak téma obsahuje iba šablóny page a index?



Úloha

Úloha A1.2: Prečítajte si hlavičky vašej stránky. Otvorte svoju vlastnú stránku (alebo wordpress.org) pomocou nástrojov pre vývojárov vo vašom prehliadači (F12, karta Sieť, obnovte stránku, kliknite na prvú požiadavku). Zapíšte, aký webový server je uvedený v hlavičke server (alebo „žiadny“, ak tam nie je) a či existuje hlavička, ktorá hovorí, že stránka pochádzala z cache (aký má názov a akú hodnotu). Program si vyžiada tú istú stránku a porovná výsledky.

Úloha A1.2: Prečítajte si hlavičky vašej stránky




Č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ú jednotlivé kroky 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…