Mine sisu juurde

Küpsiste seaded

Vali iga liigi kohta, milliseid küpsiseid lubad. Oma valikut saad alati muuta iga lehe allosas oleva lingi „Küpsiste seaded“ kaudu. Privaatsuspoliitika

Vajalikud

Alati sees

Vajalikud sisselogimiseks, ostukorvi säilitamiseks ja sinu valikute meelespidamiseks. Need on alati sees.

Millised küpsised?
  • weboke_sessie, weboke_klant, weboke_remember: sinu seanss ja sisselogituks jäämine
  • weboke_basket: sinu ostukorv
  • wkBtwIncl: hindade näitamine koos käibemaksuga või ilma
  • wok_cookies: sinu küpsisevalik, 12 kuud

Mõõdab, milline reklaam viib külastuse või tellimuseni, et me ei maksaks reklaamide eest, mis midagi ei anna.

Millised küpsised?
  • Google Ads Google Tag Manageri kaudu (_gcl_au, _gcl_aw), kuni 90 päeva
  • OpenAI Ads, reklaamid ChatGPT-s
  • wok_aff: millise partneri kaudu meie juurde jõudsid (partnerprogramm), 60 päeva

4,6

Riik ja keel

Igal riigil on oma sait, selle riigi hindade ja käibemaksuga.

Vaata

Kiirus ja vahemälu e-poes

Moodul 6: Haldus ja turvalisus · Lugemisaeg: 10 minutit

Õpieesmärk: Pärast seda õppetundi oskad WooCommerce’i e-poe vahemälu seadistada nii, et pood on kiire ja isiklikud lehed ei satu kunagi vahemällu. Oskad seda ka HTTP päistest kontrollida.

Põhimõisted: lehepuhver, välistused (ostukorv, kassa, Minu konto), vahemälust mööda suunavad küpsised, no-cache päised, DONOTCACHEPAGE, objektipuhver, Redis, ostukorvi fragmendid, geograafiline aadress koos lehepuhvriga, planeeritud tegevuste koristamine

Kahte tüüpi lehed

Vahemälu põhitõed (lehepuhver, brauseri vahemälu, objektipuhver, OPcache, CDN) on WordPressi kursuse õppetunnis 6.2. Seal on kirjas ka e-poodide jaoks kõige tähtsam reegel: isiklikud lehed ei tohi lehepuhvrisse sattuda. See õppetund selgitab seda lähemalt.

E-poes on kahte tüüpi lehti:

TüüpNäitedVahemälu
Kõigile ühesuguneavaleht, poeleht, kategooriad, tootelehed, infolehedLehepuhver: jah, siit tuleb suurim võit
Iga külastaja jaoks erinevostukorv, kassa, Minu konto, taganemise leht sisselogitud kliendigaLehepuhver: mitte kunagi

Kui midagi läheb valesti, näed seda kohe: klient näeb kellegi teise ostukorvi või veel hullem, kellegi aadressi kassalehel. See on ka andmeleke isikuandmete kaitse üldmääruse (GDPR) mõttes (KB 6749).

Mida WooCommerce ise juba teeb

WooCommerce aitab vahemälu kolmel viisil. Neid tasub tunda, et märkaksid, kui miski need eemaldab:

  1. Konstandid. Ostukorvi, kassa ja Minu konto lehel seab WooCommerce DONOTCACHEPAGE (ja samuti objekti- ja andmebaasipuhvri jaoks). Paljud vahemälupluginad loevad seda konstanti ja jätavad lehe siis vahele.
  2. Päised. Samadel lehtedel saadab WooCommerce kaasa WordPressi no-cache päised: Cache-Control: no-cache, must-revalidate, max-age=0, private ja mineviku kuupäevaga Expires. Reegleid järgiv puhverserver või CDN ei salvesta siis lehte. Sisselogitud kasutajatele lisandub no-store.
  3. Küpsised. Niipea kui keegi lisab midagi ostukorvi, seab WooCommerce küpsised nagu woocommerce_items_in_cart, woocommerce_cart_hash ja wp_woocommerce_session_.... Head vahemälud ei anna sellise küpsisega külastajale enam salvestatud lehte, ka mitte tootelehti, sest näiteks päises olev ostukorv on siis iga külastaja jaoks erinev.

WooCommerce’i dokumentatsioon soovitab vahemälupluginates välistada ostukorvi, Minu konto ja kassa lehe ning küpsised woocommerce_cart_hash, woocommerce_items_in_cart, wp_woocommerce_session_, woocommerce_recently_viewed ja store_notice[...]. Varnishi jaoks annab see ka reeglid aadressidele, milles on ?add-to-cart=.

Kus praktikas asjad viltu lähevad

  • Poelehtedel on teised aadressid. Oled ostukorvi ümber nimetanud aadressile /mandje/ või tõlkeplugin teeb aadressi /de/warenkorb/. Vahemälu, mis välistab kindlaid aadresse nagu /cart, jätab need kahe silma vahele. WooCommerce’i tundvad vahemälupluginad loevad lehed sätetest; serveri või CDN-i vahemälu seda ei tee.
  • CDN, mis puhverdab kõike. Mõni CDN-i reegel („cache everything“) eirab päiseid. Sel juhul välista poelehed ja nimetatud küpsised eraldi.
  • Plugin, mis kirjutab päised üle. Mõni turva- või kiirusplugin seab igale lehele Cache-Control: public, max-age=.... Siis no-cache päiseid enam ei ole.
  • Seanss igale külastajale. Tavaliselt seab WooCommerce seansiküpsise alles siis, kui ostukorvis on midagi. Kui plugin või teema loob seansi igale külastajale (küpsis wp_woocommerce_session_ või PHPSESSID juba esimesel külastusel), kaob lehepuhver kõigi jaoks ja sinu e-pood on tipptundidel aeglane.
  • Geograafiline aadress. Menüüs WooCommerce > Sätted > Üldine valid kliendi vaikimisi asukoha. Tavalise valikuga „Geograafiline aadress“ arvutab server iga külastaja jaoks riigi ja riigipõhiste hindade korral ei sobi see lehepuhvriga. Seetõttu on WooCommerce’il valik „Geograafiline aadress (lehepuhvri toega)“, mis määrab riigi brauseris tehtava lisapäringuga. Kui sul ei ole enne kassat vaja riigipõhiseid hindu ega käibemaksu, vali poe riik: see on kõige lihtsam. Geograafilise aadressi jaoks laadib WooCommerce perioodiliselt alla MaxMindi andmebaasi.

LiteSpeedi serveris (nagu WebOkés) seadistab plugin LiteSpeed Cache WooCommerce’i välistused ise; kontrolli neid välistamise sätetes. Teiste veebiserverite ja majutajate puhul toimib see teise vahemälupluginaga sarnaselt.

Mida lehepuhver ei lahenda

Ostukorvi ja kassa lehe koostavad alati PHP ja andmebaas. Tipptundidel (kampaania, uudiskiri) on need just need lehed, kus kliendid raha kulutavad. Seal aitavad muud asjad:

  • Objektipuhver nagu Redis hoiab andmebaasipäringute tulemusi mälus. E-poes, kus paljud lehed ei saa lehepuhvrisse minna, annab see märgatavalt rohkem kui tavalisel saidil. Sinu majutus peab Redist pakkuma (WebOkés saab, DA 15.7); seejärel lülitad selle pluginaga sisse.
  • Ostukorvi fragmendid. Klassikalised teemad uuendavad päises olevat ostukorvi skriptiga (wc-cart-fragments), mis teeb täidetud ostukorvi korral lisapäringu. Kaasaegsed plokiteemad koos miniostukorvi plokiga vajavad seda vähem. Ära laadi selliseid skripte lehtedel, kus neil pole midagi teha.
  • Koristatud planeeritud tegevused. WooCommerce kasutab taustatoimingute jaoks Action Schedulerit (õppetund 7.3). Lõpetatud tegevused koristatakse vaikimisi kuu aja pärast. Kui nimekiri kasvab ikkagi sadade tuhandeteni, sageli laienduse tõttu, mis planeerib pidevalt midagi, või ebaõnnestunud tegevuste tõttu, muutuvad andmebaasipäringud aeglasemaks. Vaata menüüs WooCommerce > Olek > Planeeritud tegevused ebaõnnestunud ja ootel tegevuste arvu.
  • HPOS. Tellimused omaette tabelites (õppetund 1.2) muudavad tellimustest otsimise kiiremaks kui vanas postituste tabelis. Olemasolevad poed peavad ise üle minema (õppetund 6.2 eelnevate varukoopiate kohta).
  • Ajakohane PHP versioon ja piisavalt mälu (õppetund 7.2).

Praktikas: nii näeb see WooCommerce’is välja

Kontrolli seda Theehuis Example’i näitel privaatses aknas oma brauseri arendajatööriistadega (F12, vahekaart Võrk (Network), esimene päring):

  1. Avaleht, laadi kaks korda: teisel korral päis nagu x-litespeed-cache: hit või cf-cache-status: HIT. Esimesel külastusel ei ole küpsist wp_woocommerce_session_.
  2. shop.example.com/winkelwagen/, laadi kaks korda: tabamust ei ole ja cache-control sisaldab väärtust no-cache või private.
  3. Sama kassa ja Minu konto lehega.
  4. Lisa toode ostukorvi ja laadi tooteleht: näed oma ostukorvi, mitte salvestatud versiooni.

Kokkuvõte

  • Kõigile ühesugused lehed vahemällu; ostukorv, kassa ja Minu konto mitte kunagi.
  • WooCommerce seab ise DONOTCACHEPAGE, no-cache päised ja küpsised; kontrolli, et miski neid ei eemaldaks ega eiraks.
  • Pane tähele ümbernimetatud aadresse, CDN-i reegleid, päiseid üle kirjutavaid pluginaid, igale külastajale loodud seansse ja geograafilist aadressi.
  • Redis, koristatud planeeritud tegevused, HPOS ja sobiv PHP versioon aitavad seal, kus lehepuhver ei saa.
  • Testi privaatses aknas kaks korda laadides ja loe päiseid.

Test (quiz)

1. Klient näeb oma ostukorvis tooteid, mida ta pole valinud. Mis on kõige tõenäolisem põhjus?



2. Millist päist ootad WooCommerce’i e-poe kassalehel?



3. Sinu e-pood ei näita riigipõhiseid hindu, kuid vaikimisi asukoht on „Geograafiline aadress“. Mis on vahemälu jaoks lihtne parandus?



4. Miks aitab Redis e-poes rohkem kui tavalisel infosaidil?



Ülesanne

Ülesanne A6.4: Kas ostukorv ja kassa jäävad vahemälust välja? Sisesta oma e-poe aadress ning ostukorvi ja kassa lehe aadressid (soovi korral ka Minu konto). Programm pärib avalehte kaks korda 2-sekundilise vahega ilma küpsisteta ja seejärel iga poelehte samuti kaks korda. Ostukorvi ei lisata midagi ja midagi ei tellita. Roheline, kui avaleht tuleb teisel korral vahemälust (või on selgelt kiirem) ilma seansiküpsist seadmata ja kui ühelgi poelehel ei ole teisel korral vahemälu tabamust ning leht saadab päise Cache-Control väärtusega no-cache, no-store, private või max-age=0. Oranž, kui avaleht ei kasuta vahemälu või kui poelehel ei ole tabamust, kuid puudub ka no-cache päis. Punane, kui ostukorvi, kassa või Minu konto lehel on vahemälu tabamus või kui avaleht alustab igale külastajale WooCommerce’i seansi.

Roheline linnuke tähendab, et see kontroll on praegu korras, mitte seda, et sinu e-pood on turvaline.

Ülesanne A6.4: Kas ostukorv ja kassa jäävad vahemälust välja?





Seda, mida sisestad, ja mida leiame, me ei salvesta. Su brauser jätab meelde su vastused ja selle, kas sooritasid ülesande. Kui oled sisse loginud, salvestame Minu kursustes ainult info, et sul oli ülesanne (peaaegu) õige; ka selle saad sealt kustutada.

Lisalugemist

Paneeli juhised kehtivad WebOké kohta; teiste teenusepakkujate juures toimib see sarnaselt.

Hetk…

Seadista oma domeenid

Määra iga domeeni jaoks nimeserverid, seos sinu majutusega ja kes saab omanikuks.

Laadin sinu domeene…