Preskoči na vsebino

Nastavitve piškotkov

Za vsako vrsto izberite, katere piškotke dovolite. Svojo izbiro lahko kadar koli spremenite prek povezave Nastavitve piškotkov na dnu vsake strani. Izjava o zasebnosti

Nujni

Vedno vklopljeno

Potrebni so za prijavo, shranjevanje košarice in pomnjenje Vaših izbir. Vedno so vklopljeni.

Kateri piškotki?
  • weboke_sessie, weboke_klant, weboke_remember: Vaša seja in ohranjanje prijave
  • weboke_basket: Vaša košarica
  • wkBtwIncl: prikaz cen z DDV ali brez DDV
  • wok_cookies: Vaša izbira glede piškotkov, 12 mesecev

Meri, kateri oglas vodi do obiska ali naročila, da ne plačujemo za oglase, ki ne prinesejo ničesar.

Kateri piškotki?
  • Google Ads prek Google Tag Manager (_gcl_au, _gcl_aw), do 90 dni
  • OpenAI Ads, oglasi v ChatGPT
  • wok_aff: prek katerega partnerja ste prišli k nam (partnerski program), 60 dni

4,6

Država in jezik

Vsaka država ima svojo spletno stran, s cenami in DDV za to državo.

Prikaži

Pod pokrovom: spletni strežnik, PHP in podatkovna zbirka

Modul 1: Kako deluje WordPress · Čas branja: 8 minut

Učni cilj: Po tej lekciji boste znali korak za korakom razložiti, kako zahteva za stran pri WordPressu postane HTML stran, in kje v tej poti predpomnilnik (cache) skrajša postopek.

Ključni pojmi: spletni strežnik (LiteSpeed, Apache, nginx), PHP, MariaDB/MySQL, poizvedba (query), index.php, hierarhija predlog (template-hiërarchie), dinamično proti statično, TTFB

Statična in dinamična stran

Pri statičnem spletnem mestu je vsaka stran shranjena kot dokončana datoteka na strežniku. Spletni strežnik vzame datoteko in jo pošlje naprej. To je hitro in preprosto, vendar vsaka sprememba pomeni novo datoteko.

WordPress je dinamičen: stran nastane šele v trenutku, ko jo nekdo zahteva. Ne obstaja datoteka contact.html. Obstaja kos besedila v podatkovni zbirki, tema s predlogami in sklop PHP kode, ki to dvoje združi. To prinaša udobje (besedilo lahko prilagodite kar v brskalniku), vendar ob vsakem obisku zahteva računanje. Če razumete to računanje, boste kasneje razumeli tudi, zakaj je spletno mesto počasno, zakaj predpomnjenje (caching) tako veliko spremeni in zakaj lahko nadgradnja PHP nekaj pokvari.

Potovanje zahteve za stran

Recimo, da obiskovalec odpre https://example.com/contact/. Zgodi se naslednje:

  1. DNS: brskalnik poišče IP naslov za example.com (glejte tečaj o DNS). Vzpostavi varno povezavo s tem naslovom.
  2. Spletni strežnik: na strežniku teče spletni strežnik, na primer LiteSpeed, Apache ali nginx. Ta prejme zahtevo. Če obstaja prava datoteka ali mapa s tem imenom (slika, stylesheet), jo pošlje neposredno naprej. Če ne, velja pravilo iz .htaccess (pri LiteSpeed in Apache) ali iz konfiguracije nginx: "vse, kar ne obstaja, posreduj datoteki index.php".
  3. PHP: index.php je datoteka PHP. Spletni strežnik jo da izvesti PHP, programskemu jeziku, v katerem je napisan WordPress. PHP najprej naloži wp-config.php (nastavitve, s podatki za podatkovno zbirko), nato preostanek WordPressa, nato vse aktivne vtičnike in aktivno temo.
  4. Podatkovna zbirka: WordPress preveri, katera vsebina spada k /contact/, in postavi vprašanja podatkovni zbirki (MariaDB ali MySQL): katera stran ima slug contact, katere so nastavitve spletnega mesta, kateri meni spada zraven? Takemu vprašanju pravimo poizvedba (query). Že preprosta stran hitro zahteva deset ali več poizvedb; z vtičniki jih je lahko na stotine.
  5. Tema: WordPress izbere, katera predloga teme oblikuje stran. To poteka po hierarhiji predlog (template-hiërarchie): za stran s slugom contact WordPress najprej išče predlogo page-contact, nato page-<id> (številko strani), nato page, nato singular in nazadnje index. Zmaga prva, ki obstaja.
  6. HTML nazaj: rezultat je HTML stran, ki jo PHP preda spletnemu strežniku, ta pa brskalniku.
  7. Brskalnik prebere HTML in nato pridobi še stylesheete, skripte, pisave in slike. To so navadne datoteke, zato pridejo neposredno od spletnega strežnika (ali iz predpomnilnika).

Med korakom 2 in korakom 6 je čas, ki ga strežnik potrebuje za izdelavo strani. To se odraža v TTFB (time to first byte): času med zahtevo in prvim bajtom odgovora. Pri dobro urejenem spletnem mestu je ta čas precej pod sekundo. V modulu 6 ga boste izmerili sami.

Zakaj šteje vsak vtičnik

V koraku 3 se naložijo vsi aktivni vtičniki, pri vsaki zahtevi. Tudi če ta vtičnik na tej strani ne počne nič. Vtičnik za fotogalerijo se torej naloži tudi, ko nekdo odpre Vašo kontaktno stran. Vsak vtičnik lahko izvede dodatne poizvedbe, naloži dodatno kodo in strani doda dodatne skripte.

To pojasni dve stvari, na kateri boste v tem tečaju še naleteli:

  • Manj vtičnikov je ponavadi hitreje. Ne zato, ker bi bilo samo število pomembno, temveč zato, ker lahko vsak vtičnik pri vsaki zahtevi opravi delo.
  • En pokvarjen vtičnik lahko ustavi celotno spletno mesto. Če v koraku 3 nekaj spodleti (na primer vtičnik, ki ne deluje z novo različico PHP), PHP nikoli ne pride do koraka 6. Obiskovalec dobi prazno stran ali sporočilo "Na tem spletnem mestu je prišlo do kritične napake" (lekcija 5.4).

Od kod prihajata PHP in podatkovna zbirka

PHP in podatkovna zbirka tečeta na strežniku Vašega ponudnika gostovanja. Različico PHP po navadi izberete sami v nadzorni plošči (pri DirectAdmin se to imenuje Select PHP version, glejte lekcijo 8.4). Podatkovno zbirko ustvarite ob namestitvi; namestitveni čarovnik to pogosto naredi namesto Vas (lekcija 2.2).

Nekaj stvari, ki si jih velja zapomniti:

  • Različica PHP: vsaka nova različica PHP je hitrejša in varnejša, vendar lahko starejša koda na njej odpove. wordpress.org trenutno priporoča PHP 8.3 ali novejši (stanje november 2026).
  • Podatkovna zbirka: wordpress.org priporoča MariaDB 10.11 ali novejšo, ali MySQL 8.0 ali novejšo. MariaDB je odcep MySQL; za WordPress to ne predstavlja razlike.
  • Podatkovna zbirka je po navadi na istem strežniku (DB_HOST je takrat localhost). Pri večjih gostovanjih je lahko na ločenem strežniku.

Predpomnilnik: skrajšanje poti

Če sto obiskovalcev zahteva isto kontaktno stran, jo WordPress brez predpomnilnika izdela stotič znova. Vsakič iste poizvedbe, ista predloga, isti HTML. Predpomnilnik strani (paginacache) shrani HTML po prvem obisku. Naslednji obiskovalec dobi shranjeno različico: koraki 3 do 6 odpadejo.

Zonder cache:  browser > webserver > PHP > WordPress + plugins > database > thema > HTML
Met cache:     browser > webserver > opgeslagen HTML

Zato predpomnjenje prinese največjo pridobitev hitrosti (lekcija 6.2). To pojasni tudi pogosto zmedo: "besedilo sem spremenil, a vidim staro različico." Takrat vidite shranjeno različico; po praznjenju predpomnilnika boste videli novo.

Ne sme vse priti iz predpomnilnika. Prijavljen skrbnik, nakupovalna košarica ali stran za plačilo je za vsakega obiskovalca drugačna. Dober vtičnik za predpomnjenje te strani izloči.

Glave: kaj Vam strežnik pove

Vsak odgovor spletnega strežnika se začne z glavami (headers), pred HTML vsebino. Teh ne vidite na strani, vidite pa jih v razvijalskih orodjih brskalnika (F12, zavihek Omrežje, kliknite na prvo zahtevo). Primer:

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 pove, kateri spletni strežnik odgovarja.
  • link z wp-json izda, da gre za WordPress.
  • x-litespeed-cache: hit pomeni, da je ta stran prišla iz predpomnilnika LiteSpeed. Drugi predpomnilniki uporabljajo druga imena, na primer x-cache: HIT ali cf-cache-status: HIT pri Cloudflare.

Teh vrstic Vam ni treba znati na pamet. Kdor pa jih zna brati, lahko sam odkrije marsikatero težavo.

Povzetek

  • WordPress izdela vsako stran v trenutku zahteve: spletni strežnik, PHP, vtičniki, podatkovna zbirka, tema, HTML.
  • Pri vsaki zahtevi se naložijo vsi aktivni vtičniki; en pokvarjen vtičnik lahko ustavi celotno spletno mesto.
  • Hierarhija predlog določa, katera predloga teme oblikuje stran.
  • Predpomnilnik strani izpusti računanje tako, da poda shranjen HTML. Prijavljeni uporabniki in nakupovalne košarice ne sodijo v ta predpomnilnik.
  • Glave odgovora povedo, kateri spletni strežnik odgovarja in ali je stran prišla iz predpomnilnika.

Kviz

1. Kdo izvede PHP kodo WordPressa?



2. Spletno mesto s 40 vtičniki je počasno, tudi na straneh, kjer ti vtičniki ne počnejo nič vidnega. Kaj je najboljša razlaga?



3. Od kod po navadi prihaja stylesheet, kot je /wp-content/themes/thema/style.css?



4. V glavah vidite x-litespeed-cache: hit. Kaj to pomeni?



5. Katero predlogo uporabi WordPress za stran s slugom contact, če ima tema le page in index?



Naloga

Naloga A1.2: Preberite glave Vašega spletnega mesta. Odprite svoje spletno mesto (ali wordpress.org) z razvijalskimi orodji brskalnika (F12, zavihek Omrežje, osvežite stran, kliknite na prvo zahtevo). Vpišite, kateri spletni strežnik je naveden v glavi server (ali "noben", če je ni), in ali obstaja glava, ki pove, da je stran prišla iz predpomnilnika (katero ime in katero vrednost). Program zahteva isto stran in primerja.

Naloga A1.2: Preberite glave Vašega spletnega mesta




Tega, kar vnesete, in tega, kar najdemo, ne shranjujemo. Vaš brskalnik si zapomni Vaše odgovore in to, ali ste nalogo opravili. Če ste prijavljeni, v Moji tečaji shranimo samo podatek, da ste nalogo (skoraj) pravilno opravili; tudi to lahko tam izbrišete.

Dodatno branje

Ti članki opisujejo korake v nadzornih ploščah WebOké; v drugih nadzornih ploščah delujejo podobno.

Trenutek…

Nastavite svoje domene

Za vsako domeno uredite imenske strežnike, povezavo z gostovanjem in kdo bo imetnik.

Nalaganje Vaših domen…