Ugrás a tartalomhoz

Sütibeállítások

Típusonként válassza ki, mely sütiket engedélyezi. Választását bármikor módosíthatja a Sütibeállítások linken, amely minden oldal alján megtalálható. Adatvédelmi nyilatkozat

Szükséges

Mindig bekapcsolva

A bejelentkezéshez, a kosár megőrzéséhez és a választásai megjegyzéséhez szükségesek. Ezek mindig be vannak kapcsolva.

Milyen sütik?
  • weboke_sessie, weboke_klant, weboke_remember: a munkamenet és a bejelentkezve maradás
  • weboke_basket: a kosár
  • wkBtwIncl: az árak megjelenítése ÁFÁ-val vagy anélkül
  • wok_cookies: a sütiválasztás, 12 hónap

Méri, melyik hirdetés vezet látogatáshoz vagy rendeléshez, hogy ne fizessünk hatástalan hirdetésekért.

Milyen sütik?
  • Google Ads a Google Tag Manageren keresztül (_gcl_au, _gcl_aw), legfeljebb 90 napig
  • OpenAI Ads, hirdetések a ChatGPT-ben
  • wok_aff: melyik partnerünk ajánlására érkezett (partnerprogram), 60 nap

4,6

Ország és nyelv

Minden országnak saját oldala van, az adott ország áraival és ÁFA-jával.

Megtekintés

Gyorsítótárazás (caching)

Modul 6: Sebesség · Olvasási idő: 9 perc

Tanulási cél: E lecke után képes lesz elmagyarázni, milyen gyorsítótártípusok léteznek, és helyesen beállítani és ellenőrizni egy oldal gyorsítótárat.

Kulcsfogalmak: oldal gyorsítótár, böngésző gyorsítótár, Cache-Control, objektum gyorsítótár, Redis, OPcache, CDN, gyorsítótár bővítmény, LiteSpeed Cache, kivételek (bejelentkezve, kosár, fizetés), gyorsítótár ürítése, duplikált gyorsítótár bővítmények

Gyorsítótár: ne végezze el kétszer ugyanazt a munkát

A gyorsítótár megőrzi egy munka eredményét, hogy legközelebb ne kelljen újra elvégezni. Egy WordPress-weboldalon négy helyen történik ez, a legnagyobbtól a legkisebb hatásúig:

TípusMit tárolHolHatás
Oldal gyorsítótárAz oldal teljes HTML-kódjaA szerveren (vagy egy CDN-nél)A legnagyobb nyereség: a PHP, a bővítmények és az adatbázis kimarad
Böngésző gyorsítótárStíluslapok, szkriptek, képek, betűtípusokA látogató böngészőjébenA második oldal gyorsabban betöltődik, mert a fájlok már ott vannak
Objektum gyorsítótárAdatbázis-lekérdezések eredményeiA szerver memóriájában (Redis, Memcached)Ott segít, ahol az oldal gyorsítótár nem tud, például bejelentkezett felhasználóknál és webáruházaknál
OPcacheA lefordított PHP-kódA PHP memóriájábanA PHP-nek nem kell minden kéréskor újra beolvasnia a fájlokat; a legtöbb tárhelyszolgáltatónál alapértelmezetten be van kapcsolva

Az oldal gyorsítótár

Az 1.2 lecke megmutatta: gyorsítótár nélkül a WordPress minden látogatáskor újra elkészíti a teljes oldalt. Egy oldal gyorsítótárral az első látogató elkészítteti, a következők pedig a mentett HTML-t kapják. Egy másodperces TTFB így akár néhány századmásodpercre is csökkenhet, és a csomagja sokkal több egyidejű látogatót bír el.

Az, hogy hogyan kap oldal gyorsítótárat, a webszervertől függ:

  • LiteSpeed (sok osztott tárhely, köztük a WebOké): a webszervernek saját gyorsítótára van. Az ingyenes LiteSpeed Cache bővítmény vezérli ezt a WordPressből: mely oldalak kerülhetnek a gyorsítótárba, mikor kell üríteni azokat. Mivel a gyorsítótár magában a webszerverben van, egy mentett oldalnál egyáltalán nem indul el a PHP.
  • Apache vagy nginx: egy gyorsítótár bővítmény, amely a HTML-t fájlként tárolja, például WP Super Cache, W3 Total Cache vagy egy fizetős bővítmény, például WP Rocket. Vagy egy gyorsítótár, amelyet a tárhelyszolgáltató szerveroldalon kezel.
  • A felügyelt WordPress-tárhely gyakran saját gyorsítótárral rendelkezik; ott általában nem kell gyorsítótár bővítményt telepíteni.

Válasszon egyet. Két gyorsítótár bővítmény egyszerre (például LiteSpeed Cache és WP Rocket) akadályozza egymást: dupla munka, nem ürülő oldalak, furcsa hibák. Egy LiteSpeed-szerveren a LiteSpeed Cache a webszerver gyorsítótárával működik együtt; ezt másik gyorsítótár bővítmény nem tudja megtenni.

Mi nem kerülhet a gyorsítótárba

Egy oldal gyorsítótár mindenkinek ugyanazt a HTML-t adja. Ez hibát okoz olyan oldalaknál, amelyek látogatónként eltérőek:

  • bejelentkezett felhasználók (a Vezérlőpult sáv, „Üdvözlet, Lisa”);
  • a kosár, a fizetés és a Saját fiók egy webáruháznál;
  • olyan oldalak, amelyeken egyszeri kóddal (nonce) ellátott űrlap található, amely egy idő után lejár;
  • olyan oldalak, amelyek helyszín, nyelv vagy egy süti alapján mást mutatnak.

A jó gyorsítótár bővítmények automatikusan kihagyják a bejelentkezett felhasználókat és a jól ismert WooCommerce-oldalakat. Más bővítményeknél (egy tagsági terület, egy foglalási rendszer) saját kezűleg kell beállítania a kivételeket. A hiba jele: egy látogató valaki más kosarát látja, vagy egy űrlap „lejárt” vagy „érvénytelen kérés” üzenetet ad.

Ürítés: mikor elavult a gyorsítótár?

Ha módosít egy oldalt, akkor a mentett verziót el kell távolítani. A gyorsítótár bővítmények egy bejegyzés mentésekor általában azt az oldalt, a kezdőlapot és az archívumokat ürítik. A menü, a sablon vagy egy modul módosításakor gyakran a teljes gyorsítótárat ki kell üríteni. Ha egy módosítás után mégis a régi verziót látja, ürítse ki a gyorsítótárat (a gyorsítótár bővítmény Vezérlőpult sávjában), és ellenőrizze egy privát ablakban, hogy a saját böngésző gyorsítótára ne zavarjon bele.

A böngésző gyorsítótár

A szerver fejlécekkel közli a böngészővel, mennyi ideig őrizheti meg egy fájlt:

cache-control: public, max-age=31536000

Ez azt jelenti: őrizze meg ezt egy évig. Stíluslapoknál, szkripteknél, betűtípusoknál és képeknél egy hosszú idő tökéletesen megfelel, mivel a WordPress egy új verziónál más ?ver= jelölést tesz a cím végére, és a böngésző így új fájlnak tekinti. Magánál a HTML-nél egy rövid idő (vagy semmi) a szokásos, hogy a látogatók gyorsan lássák a módosításokat.

Sok tárhelyszolgáltató és gyorsítótár bővítmény ezt elintézi. E lecke feladatában ezt fogja ellenőrizni.

Objektum gyorsítótár és Redis

Egy oldal gyorsítótár nem segít a bejelentkezett felhasználóknál és a kosárnál. Itt egy objektum gyorsítótár segít: a WordPress megőrzi az adatbázis-lekérdezések eredményét a memóriában, egy olyan programban, mint a Redis vagy a Memcached. Amikor legközelebb ugyanaz a lekérdezés érkezik, a WordPress a memóriából veszi a választ az adatbázis helyett.

Ez elsősorban webáruházak, tagsági weboldalak és sok bejelentkezett szerkesztővel rendelkező weboldalak számára hasznos. Egy átlagos, oldal gyorsítótárral rendelkező információs weboldal esetében a különbség kicsi. Az objektum gyorsítótárhoz az szükséges, hogy a tárhelyszolgáltató kínáljon Redis-t vagy Memcached-et; ezután egy bővítménnyel kapcsolja be (a LiteSpeed Cache tudja ezt, de léteznek önálló bővítmények is).

A CDN

A CDN (content delivery network) a világ számos pontján található szerverek hálózata, amelyek a fájlok (és néha a teljes oldalak) másolatait tárolják. A látogató a hozzá legközelebbi szervertől kapja meg azokat. Ez elsősorban a távoli látogatóknál és nagy forgalomnál segít. Egy holland weboldal esetében, holland látogatókkal egy holland szerveren, a nyereség kicsi. Egy proxyval működő CDN (mint a Cloudflare) megváltoztatja a DNS-t és a tanúsítványt is (DNS-tanfolyam, 7.5 lecke); ezt ne tegye anélkül, hogy megértené, mit csinál.

A gyakorlatban: így néz ki egy panelen

Példaként a LiteSpeed Cache-t használjuk egy LiteSpeed-szerveren. Más gyorsítótár bővítményeknél hasonló beállítások találhatók más néven.

  1. Telepítse és aktiválja a LiteSpeed Cache bővítményt a Bővítmények > Új bővítmény hozzáadása menüpontban.
  2. Nyissa meg a LiteSpeed Cache > Cache menüpontot: a „Cache engedélyezése” be van kapcsolva, a „Bejelentkezett felhasználók gyorsítótárazása” ki van kapcsolva (hacsak nem tudja pontosan, mit csinál).
  3. Webáruház esetén: ellenőrizze a Kizárás pontnál, hogy a kosár, a fizetés és a Saját fiók szerepel-e benne (WooCommerce esetén ez automatikusan megtörténik).
  4. A többi összetevőt (CSS és JavaScript optimalizálása, képek) először hagyja kikapcsolva. Kapcsolja be egyenként, és minden lépés után tesztelje: pont ezek az összetevők szokták néha elrontani egy sablont.
  5. Ellenőrizze egy privát ablakban a fejlesztői eszközökkel (F12, Hálózat, első kérés): a második betöltésnél az x-litespeed-cache: hit fejlécnek kell szerepelnie.

Összefoglalás

  • Négy gyorsítótártípus létezik: oldal (a legnagyobb nyereség), böngésző, objektum és OPcache.
  • Egy LiteSpeed-szerveren a LiteSpeed Cache vezérli a webszerver gyorsítótárát; Apache-on vagy nginx-en másik gyorsítótár bővítményt használ. Válasszon egyet.
  • A bejelentkezett felhasználók, a kosár, a fizetés és a személyes oldalak nem valók az oldal gyorsítótárba.
  • A menü vagy sablon módosítása után ürítse ki a gyorsítótárat, és ellenőrizze egy privát ablakban.
  • Egy objektum gyorsítótár (Redis) segít webáruházaknál és bejelentkezett felhasználóknál; egy CDN elsősorban távoli látogatóknál és nagy forgalomnál.

Kvíz

1. Melyik gyorsítótár adja általában a legnagyobb sebességnövekedést egy átlagos információs weboldalnál?



2. Egy vásárló a kosarában valaki más termékeit látja. Mi valószínűleg a probléma?



3. Miért ne telepítsen egyszerre két gyorsítótár bővítményt?



4. Kinek segít a legtöbbet egy objektum gyorsítótár, mint a Redis?



Feladat

A6.2 feladat: Működik az oldalgyorsítótára? Adja meg a weboldala címét. A program kétszer, röviddel egymás után, sütik nélkül kéri le a kezdőlapot, és a második alkalommal megnézi, van-e olyan fejléc, amely gyorsítótár-találatra utal (x-litespeed-cache: hit, x-cache: HIT, cf-cache-status: HIT, egy nullánál nagyobb age, vagy egy másik ismert gyorsítótár fejléce). Ezután lekér egy stíluslapot a kezdőlapról, és ellenőrzi, hogy a böngésző legalább hét napig megőrizheti-e azt (cache-control: max-age vagy expires). Jegyezze fel, melyik gyorsítótárat használja.

A6.2. feladat: Működik az oldalgyorsítótára?



Amit beír, és amit találunk, azt nem tároljuk. A böngészője megjegyzi a válaszait és azt, hogy teljesítette e a feladatot. Ha bejelentkezett, a Fiókomban csak azt tároljuk, hogy a feladat (majdnem) helyes volt; ott ezt is törölheti.

További olvasnivaló

Ezek a cikkek a WebOké paneljeiben bemutatott lépéseket írják le; más paneleken hasonlóan működnek.

Egy pillanat…

Domainek beállítása

Állítsa be domainenként a névszervereket, a tárhelyhez való kapcsolást és azt, hogy ki legyen a tulajdonos.

Domainek betöltése…