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

Predpomnjenje (caching)

Modul 6: Hitrost · Čas branja: 9 minut

Učni cilj: Po tej lekciji boste znali razložiti, katere vrste predpomnilnika obstajajo, ter pravilno nastaviti in preveriti predpomnilnik strani.

Ključni pojmi: predpomnilnik strani, predpomnilnik brskalnika, Cache-Control, predpomnilnik objektov, Redis, OPcache, CDN, vtičnik za predpomnjenje, LiteSpeed Cache, izjeme (prijavljeni uporabniki, košarica, zaključek nakupa), praznjenje predpomnilnika, podvojeni vtičniki za predpomnjenje

Predpomnilnik: ne opravljajte istega dela dvakrat

Predpomnilnik shrani rezultat dela, da ga naslednjič ni treba ponoviti. Pri spletnem mestu WordPress obstajajo štiri mesta, kjer se to dogaja, od največjega do najmanjšega:

VrstaKaj se shraniKjeUčinek
Predpomnilnik straniCelotna HTML-koda straniNa strežniku (ali pri CDN-ju)Največja pridobitev: PHP, vtičniki in podatkovna baza se povsem izpustijo
Predpomnilnik brskalnikaSlogovne datoteke (stylesheets), skripte, slike, pisaveV brskalniku obiskovalcaDruga stran se naloži hitreje, ker so datoteke že na voljo
Predpomnilnik objektovRezultati poizvedb v podatkovno bazoV pomnilniku strežnika (Redis, Memcached)Pomaga tam, kjer predpomnilnik strani ne more, na primer pri prijavljenih uporabnikih in spletnih trgovinah
OPcachePrevedena koda PHPV pomnilniku PHPPHP-ju ni treba datotek znova brati pri vsaki zahtevi; pri večini ponudnikov gostovanja je privzeto vklopljen

Predpomnilnik strani

Lekcija 1.2 je to prikazala: brez predpomnilnika WordPress ob vsakem obisku znova ustvari celotno stran. S predpomnilnikom strani jo ustvari prvi obiskovalec, naslednji pa dobijo shranjeno HTML-kodo. TTFB ene sekunde se tako lahko zmanjša na nekaj stotink sekunde, Vaš paket pa lahko prenese veliko več obiskovalcev hkrati.

Kako pridobite predpomnilnik strani, je odvisno od Vašega spletnega strežnika:

  • LiteSpeed (veliko skupnega gostovanja, med drugim WebOké): spletni strežnik ima lasten predpomnilnik. Brezplačni vtičnik LiteSpeed Cache ga upravlja iz WordPressa: katere strani smejo v predpomnilnik, kdaj se izpraznijo. Ker je predpomnilnik v spletnem strežniku, se za shranjeno stran PHP sploh ne zažene.
  • Apache ali nginx: vtičnik za predpomnjenje, ki HTML shrani kot datoteke, na primer WP Super Cache, W3 Total Cache ali plačljiv vtičnik, kot je WP Rocket. Ali predpomnilnik, ki ga ponudnik gostovanja upravlja na ravni strežnika.
  • Upravljano gostovanje WordPress ima pogosto svoj lasten predpomnilnik; tam običajno ne nameščate vtičnika za predpomnjenje.

Izberite enega. Dva vtičnika za predpomnjenje hkrati (na primer LiteSpeed Cache in WP Rocket) si nasprotujeta: dvojno delo, strani, ki se ne izpraznijo, čudne napake. Na strežniku LiteSpeed vtičnik LiteSpeed Cache deluje s predpomnilnikom spletnega strežnika; drug vtičnik za predpomnjenje tega ne zmore.

Kaj ne sme v predpomnilnik

Predpomnilnik strani vsem ponudi enako HTML-kodo. To povzroča težave pri straneh, ki so za vsakega obiskovalca drugačne:

  • prijavljeni uporabniki (vrstica za urejanje, "Dobrodošli, Lisa");
  • košarica, zaključek nakupa in Moj račun pri spletni trgovini;
  • strani z obrazcem z enkratno kodo (nonce), ki po določenem času poteče;
  • strani, ki glede na lokacijo, jezik ali piškotek prikažejo nekaj drugega.

Dobri vtičniki za predpomnjenje samodejno izločijo prijavljene uporabnike in znane strani WooCommerce. Pri drugih vtičnikih (razdelek za člane, sistem za rezervacije) morate izjeme nastaviti sami. Znak, da gre kaj narobe: obiskovalec vidi košarico nekoga drugega, ali obrazec sporoči "poteklo" oziroma "neveljavna zahteva".

Praznjenje: kdaj je predpomnilnik zastarel?

Če prilagodite stran, mora shranjena različica izginiti. Vtičniki za predpomnjenje ob shranjevanju prispevka običajno izpraznijo to stran, domačo stran in arhive. Pri spremembi menija, teme ali gradnika (widget) je pogosto treba izprazniti celoten predpomnilnik. Če po spremembi še vedno vidite staro različico, izpraznite predpomnilnik (v vrstici za urejanje vtičnika za predpomnjenje) in preverite v zasebnem oknu, da Vaš lastni predpomnilnik brskalnika ne vpliva na rezultat.

Predpomnilnik brskalnika

Strežnik brskalniku z glavami sporoči, kako dolgo sme hraniti datoteko:

cache-control: public, max-age=31536000

To pomeni: shrani to eno leto. Za slogovne datoteke, skripte, pisave in slike je dolg čas povsem primeren, saj WordPress ob novi različici za naslov doda drug ?ver=, brskalnik pa to prepozna kot novo datoteko. Za samo HTML-kodo je običajen kratek čas (ali brez), da obiskovalci spremembe vidijo hitro.

Veliko ponudnikov gostovanja in vtičnikov za predpomnjenje to uredi samodejno. V nalogi te lekcije to preverite.

Predpomnilnik objektov in Redis

Predpomnilnik strani ne pomaga pri prijavljenih uporabnikih in ne pri košarici. Tam pomaga predpomnilnik objektov: WordPress rezultat poizvedb v podatkovno bazo shrani v pomnilnik, v programu, kot je Redis ali Memcached. Ko naslednjič pride ista poizvedba, WordPress odgovor pridobi iz pomnilnika namesto iz podatkovne baze.

To je zlasti koristno za spletne trgovine, strani za člane in spletna mesta z veliko prijavljenimi uredniki. Pri navadnem informativnem spletnem mestu s predpomnilnikom strani je razlika majhna. Predpomnilnik objektov zahteva, da Vaš ponudnik gostovanja ponuja Redis ali Memcached; nato ga vklopite z vtičnikom (zna ga tudi LiteSpeed Cache, obstajajo pa tudi samostojni vtičniki).

CDN

CDN (content delivery network, omrežje za dostavo vsebine) je omrežje strežnikov na mnogih mestih po svetu, ki hranijo kopije Vaših datotek (včasih tudi celih strani). Obiskovalec jih dobi z najbližjega strežnika. To najbolj pomaga pri obiskovalcih od daleč in pri velikem prometu. Pri nizozemski strani z nizozemskimi obiskovalci na nizozemskem strežniku je pridobitev majhna. CDN s proxyjem (kot je Cloudflare) spremeni tudi Vaš DNS in Vaš certifikat (tečaj DNS, lekcija 7.5); tega ne storite, ne da bi razumeli, kaj to pomeni.

V praksi: tako je videti v nadzorni plošči

Kot primer uporabimo LiteSpeed Cache na strežniku LiteSpeed. Drugi vtičniki za predpomnjenje imajo podobne nastavitve pod drugimi imeni.

  1. Namestite in aktivirajte LiteSpeed Cache pod Vtičniki > Dodaj nov vtičnik.
  2. Odprite LiteSpeed Cache > Cache: "Omogoči predpomnilnik" naj bo vklopljeno, "Predpomnilnik za prijavljene uporabnike" naj bo izklopljeno (razen če veste, kaj delate).
  3. Pri spletni trgovini: preverite pod Izloči, da so košarica, zaključek nakupa in Moj račun vključeni (pri WooCommerce se to zgodi samodejno).
  4. Druge možnosti (optimizacija CSS in JavaScript, slike) pustite najprej izklopljene. Vklapljajte jih eno po eno in po vsakem koraku preizkusite: prav te možnosti včasih razbijejo temo.
  5. Preverite v zasebnem oknu z razvojnimi orodji (F12, Omrežje, prva zahteva): ob drugem nalaganju bi morala biti prisotna glava x-litespeed-cache: hit.

Povzetek

  • Obstajajo štiri vrste predpomnilnika: stran (največja pridobitev), brskalnik, objekt in OPcache.
  • Na strežniku LiteSpeed vtičnik LiteSpeed Cache upravlja predpomnilnik spletnega strežnika; na Apache ali nginx uporabite drug vtičnik za predpomnjenje. Izberite enega.
  • Prijavljeni uporabniki, košarica, zaključek nakupa in osebne strani ne sodijo v predpomnilnik strani.
  • Po spremembah menija ali teme izpraznite predpomnilnik in preverite v zasebnem oknu.
  • Predpomnilnik objektov (Redis) pomaga pri spletnih trgovinah in prijavljenih uporabnikih; CDN predvsem pri obiskovalcih od daleč in velikem prometu.

Kviz

1. Kateri predpomnilnik pri navadnem informativnem spletnem mestu običajno prinese največjo pridobitev pri hitrosti?



2. Stranka v svoji košarici vidi izdelke nekoga drugega. Kaj je najverjetneje narobe?



3. Zakaj ne nameščate dveh vtičnikov za predpomnjenje hkrati?



4. Komu najbolj pomaga predpomnilnik objektov, kot je Redis?



Naloga

Naloga A6.2: Ali deluje Vaš predpomnilnik strani? Vnesite naslov svojega spletnega mesta. Program dvakrat na kratko zapored, brez piškotkov, zahteva domačo stran in pri drugem poskusu preveri glave, ki kažejo na zadetek v predpomnilniku (x-litespeed-cache: hit, x-cache: HIT, cf-cache-status: HIT, vrednost age, večja od 0, ali glava kakega drugega znanega predpomnilnika). Nato zahteva eno slogovno datoteko z domače strani in preveri, ali jo sme brskalnik hraniti vsaj sedem dni (cache-control: max-age ali expires). Zabeležite, kateri predpomnilnik uporabljate.

Naloga A6.2: Ali deluje Vaš predpomnilnik strani?



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…