Pereiti prie turinio

Slapukų nustatymai

Pasirinkite, kokių rūšių slapukus leidžiate. Pasirinkimą bet kada galite pakeisti per „Slapukų nustatymai“ kiekvieno puslapio apačioje. Privatumo pareiškimas

Būtinieji

Visada įjungti

Reikalingi prisijungti, išsaugoti krepšelį ir įsiminti Jūsų pasirinkimus. Jie visada įjungti.

Kokie slapukai?
  • weboke_sessie, weboke_klant, weboke_remember: Jūsų sesija ir prisijungimo išlaikymas
  • weboke_basket: Jūsų krepšelis
  • wkBtwIncl: kainų rodymas su PVM arba be PVM
  • wok_cookies: Jūsų slapukų pasirinkimas, 12 mėnesių

Matuoja, kuri reklama atveda prie apsilankymo ar užsakymo, kad nemokėtume už neveiksmingas reklamas.

Kokie slapukai?
  • Google Ads per Google Tag Manager (_gcl_au, _gcl_aw), iki 90 dienų
  • OpenAI Ads, reklamos ChatGPT
  • wok_aff: per kurį partnerį atėjote pas mus (partnerių programa), 60 dienų

4,6

Šalis ir kalba

Kiekviena šalis turi savo svetainę su tos šalies kainomis ir PVM.

Peržiūrėti

E. parduotuvės greitis ir talpykla (cache)

6 modulis: Valdymas ir saugumas · Skaitymo laikas: 10 min.

Mokymosi tikslas: Po šios pamokos galėsite nustatyti WooCommerce e. parduotuvės talpyklą taip, kad parduotuvė veiktų greitai, o asmeniniai puslapiai niekada nepatektų į talpyklą, ir galėsite tai patikrinti pagal HTTP antraštes.

Pagrindinės sąvokos: puslapio talpykla, išimtys (krepšelis, atsiskaitymas, Mano paskyra), slapukai, kurie apeina talpyklą, no-cache antraštės, DONOTCACHEPAGE, objektų talpykla, Redis, krepšelio fragmentai, geolokacija su puslapio talpykla, suplanuotų veiksmų valymas

Dviejų rūšių puslapiai

Talpyklos pagrindai (puslapio talpykla, naršyklės talpykla, objektų talpykla, OPcache, CDN) aprašyti WordPress kurse, 6.2 pamokoje. Ten jau pateikta ir svarbiausia taisyklė e. parduotuvėms: asmeniniai puslapiai negali patekti į puslapio talpyklą. Šioje pamokoje ji išplėtojama.

E. parduotuvėje yra dviejų rūšių puslapiai:

RūšisPavyzdžiaiTalpykla
Visiems vienodipagrindinis puslapis, parduotuvės puslapis, kategorijos, prekių puslapiai, informaciniai puslapiaiPuslapio talpykla: taip, čia didžiausia nauda
Kiekvienam lankytojui skirtingikrepšelis, atsiskaitymas, Mano paskyra, sutarties atsisakymo puslapis prisijungusiam klientuiPuslapio talpykla: niekada

Jei kas nors nepavyksta, tai matyti iš karto: klientas mato kito žmogaus krepšelį arba, dar blogiau, kito asmens adresą atsiskaitymo puslapyje. Tai taip pat yra asmens duomenų saugumo pažeidimas pagal BDAR (KB 6749).

Ką WooCommerce jau daro pati

WooCommerce padeda talpyklai trimis būdais. Juos verta žinoti, kad pastebėtumėte, kai kas nors juos panaikina:

  1. Konstantos. Krepšelio, atsiskaitymo ir Mano paskyros puslapiuose WooCommerce nustato DONOTCACHEPAGE (taip pat ir objektų bei duomenų bazės talpyklai). Daugelis talpyklos įskiepių nuskaito šią konstantą ir tokį puslapį praleidžia.
  2. Antraštės. Tuose pačiuose puslapiuose WooCommerce siunčia WordPress no-cache antraštes: Cache-Control: no-cache, must-revalidate, max-age=0, private ir praeities datos Expires. Taisyklių besilaikantis tarpinis serveris (proxy) ar CDN tokio puslapio nesaugo. Prisijungusiems naudotojams pridedama no-store.
  3. Slapukai. Kai tik kas nors įdeda prekę į krepšelį, WooCommerce nustato slapukus, pavyzdžiui, woocommerce_items_in_cart, woocommerce_cart_hash ir wp_woocommerce_session_.... Geros talpyklos lankytojams su tokiu slapuku nebeteikia išsaugoto puslapio, net ir prekių puslapių, nes, pavyzdžiui, krepšelis antraštėje tada kiekvienam lankytojui skiriasi.

WooCommerce dokumentacijoje talpyklos įskiepiams nurodoma: išskirkite krepšelio, Mano paskyros ir atsiskaitymo puslapius bei slapukus woocommerce_cart_hash, woocommerce_items_in_cart, wp_woocommerce_session_, woocommerce_recently_viewed ir store_notice[...]. Varnish atveju joje pateikiamos ir taisyklės adresams su ?add-to-cart=.

Kur praktikoje dažniausiai kyla problemų

  • Kiti parduotuvės puslapių adresai. Krepšelį pervadinote į /mandje/ arba vertimo įskiepis sukuria /de/warenkorb/. Talpykla, kuri išskiria tik fiksuotus adresus, pvz., /cart, jų nepastebi. WooCommerce pažįstantys talpyklos įskiepiai nuskaito puslapius iš nustatymų; serverio ar CDN talpykla to nedaro.
  • CDN, kuris talpina viską. Kai kurios CDN taisyklės („cache everything“) ignoruoja antraštes. Tokiu atveju aiškiai išskirkite parduotuvės puslapius ir minėtus slapukus.
  • Įskiepis, perrašantis antraštes. Saugumo ar spartinimo įskiepis kartais kiekviename puslapyje nustato Cache-Control: public, max-age=.... Tada no-cache antraščių nebelieka.
  • Sesija kiekvienam lankytojui. Paprastai WooCommerce sesijos slapuką nustato tik tada, kai krepšelyje kas nors yra. Jei įskiepis ar tema sesiją pradeda kiekvienam lankytojui (slapukas wp_woocommerce_session_ arba PHPSESSID jau per pirmąjį apsilankymą), puslapio talpykla neveikia niekam, o Jūsų e. parduotuvė didelio srauto metu tampa lėta.
  • Geolokacija. Skiltyje WooCommerce > Nustatymai > Pagrindiniai pasirenkate numatytąją kliento vietą. Pasirinkus paprastą „Naudoti geolokaciją“, serveris šalį nustato kiekvienam lankytojui atskirai, o kai kainos priklauso nuo šalies, tai nedera su puslapio talpykla. Todėl WooCommerce turi parinktį „Naudoti geolokaciją (su puslapio talpyklos palaikymu)“, kuri šalį nustato papildoma užklausa naršyklėje. Jei iki atsiskaitymo Jums nereikia kainų ar PVM pagal šalį, pasirinkite parduotuvės šalį: tai paprasčiausia. Geolokacijai WooCommerce periodiškai atsisiunčia MaxMind duomenų bazę.

LiteSpeed serveryje (kaip WebOké) įskiepis LiteSpeed Cache WooCommerce išimtis sutvarko pats; patikrinkite jas išimčių nustatymuose. Kituose žiniatinklio serveriuose ir pas kitus talpinimo paslaugų teikėjus su kitu talpyklos įskiepiu viskas veikia panašiai.

Ko puslapio talpykla neišsprendžia

Krepšelį ir atsiskaitymą visada sugeneruoja PHP ir duomenų bazė. Didelio srauto metu (akcija, naujienlaiškis) tai būtent tie puslapiai, kuriuose Jūsų klientai leidžia pinigus. Ten padeda kiti dalykai:

  • Objektų talpykla, pavyzdžiui, Redis, saugo duomenų bazės užklausų rezultatus atmintyje. E. parduotuvėje, kurioje daug puslapių negali patekti į puslapio talpyklą, tai duoda pastebimai daugiau naudos nei paprastoje svetainėje. Jūsų talpinimo paslauga turi siūlyti Redis (WebOké tai įmanoma, DA 15.7); tada jį įjungiate įskiepiu.
  • Krepšelio fragmentai. Klasikinės temos krepšelį antraštėje atnaujina scenarijumi (wc-cart-fragments), kuris, kai krepšelis netuščias, siunčia papildomą užklausą. Modernioms blokų temoms su mini krepšelio bloku to reikia mažiau. Nekraukite tokių scenarijų puslapiuose, kuriuose jie nieko nedaro.
  • Išvalyti suplanuoti veiksmai. Foninėms užduotims WooCommerce naudoja Action Scheduler (7.3 pamoka). Užbaigti veiksmai pagal numatytuosius nustatymus išvalomi po mėnesio. Jei sąrašas vis tiek išauga iki šimtų tūkstančių, dažnai dėl plėtinio, kuris nuolat ką nors planuoja, arba dėl nepavykusių veiksmų, duomenų bazės užklausos sulėtėja. Skiltyje WooCommerce > Statusas > Suplanuoti veiksmai patikrinkite nepavykusių ir laukiančių veiksmų skaičių.
  • HPOS. Užsakymai atskirose lentelėse (1.2 pamoka) leidžia užsakymų ieškoti greičiau nei senojoje įrašų lentelėje. Esamos parduotuvės turi pereiti pačios (6.2 pamoka apie atsargines kopijas prieš tai).
  • Naujausia PHP versija ir pakankamai atminties (7.2 pamoka).

Praktikoje: kaip tai atrodo WooCommerce

Patikrinkite tai Theehuis Example parduotuvėje privačiajame lange su naršyklės kūrėjo įrankiais (F12, skirtukas Tinklas, pirmoji užklausa):

  1. Pagrindinis puslapis, įkelkite du kartus: antrą kartą matysite antraštę, pvz., x-litespeed-cache: hit arba cf-cache-status: HIT. Per pirmąjį apsilankymą slapuko wp_woocommerce_session_ neturi būti.
  2. shop.example.com/winkelwagen/, įkelkite du kartus: jokio pataikymo (hit), o cache-control su no-cache arba private.
  3. Tą patį patikrinkite atsiskaitymo ir Mano paskyros puslapiuose.
  4. Įdėkite prekę į krepšelį ir įkelkite prekės puslapį: matote savo krepšelį, o ne išsaugotą versiją.

Santrauka

  • Visiems vienodi puslapiai gali būti talpykloje; krepšelis, atsiskaitymas ir Mano paskyra niekada.
  • WooCommerce pati nustato DONOTCACHEPAGE, no-cache antraštes ir slapukus; patikrinkite, ar niekas jų nepanaikina ir neignoruoja.
  • Atkreipkite dėmesį į pervadintus adresus, CDN taisykles, antraštes perrašančius įskiepius, sesijas kiekvienam lankytojui ir geolokaciją.
  • Redis, išvalyti suplanuoti veiksmai, HPOS ir tinkama PHP versija padeda ten, kur puslapio talpykla negali.
  • Testuokite įkeldami puslapį du kartus privačiajame lange ir skaitykite antraštes.

Testas (quiz)

1. Klientas savo krepšelyje mato prekes, kurių nepasirinko. Kokia labiausiai tikėtina priežastis?



2. Kokios antraštės tikitės WooCommerce e. parduotuvės atsiskaitymo puslapyje?



3. Jūsų e. parduotuvė nerodo kainų pagal šalį, bet numatytoji vieta nustatyta į „Naudoti geolokaciją“. Koks paprastas patobulinimas padėtų talpyklai?



4. Kodėl Redis e. parduotuvei padeda labiau nei paprastai informacinei svetainei?



Užduotis

Užduotis A6.4: Ar krepšelis ir atsiskaitymas lieka už podėlio ribų? Įveskite savo e. parduotuvės adresą ir krepšelio bei atsiskaitymo puslapių adresus (ir, jei norite, Mano paskyros). Programa du kartus su 2 sekundžių pertrauka, be slapukų, užklausia pagrindinį puslapį, o paskui taip pat du kartus kiekvieną parduotuvės puslapį. Į krepšelį nieko nededama ir nieko neužsakoma. Žalia, jei pagrindinis puslapis antrą kartą pateikiamas iš talpyklos (arba akivaizdžiai greičiau) nenustatydamas sesijos slapuko ir jei kiekvienas parduotuvės puslapis antrą kartą neturi talpyklos pataikymo ir siunčia Cache-Control su no-cache, no-store, private arba max-age=0. Oranžinė, jei pagrindinis puslapis nenaudoja talpyklos arba jei parduotuvės puslapis neturi pataikymo, bet ir nesiunčia no-cache antraštės. Raudona, jei krepšelio, atsiskaitymo ar Mano paskyros puslapyje yra talpyklos pataikymas arba jei pagrindinis puslapis kiekvienam lankytojui pradeda WooCommerce sesiją.

Žalia varnelė reiškia, kad šis patikrinimas dabar tvarkingas, o ne tai, kad Jūsų e. parduotuvė yra saugi.

Užduotis A6.4: Ar krepšelis ir atsiskaitymas lieka už podėlio ribų?





Ko, ką įvedate ir ką randame, nesaugome. Jūsų naršyklė atsimena Jūsų atsakymus ir tai, ar užduotį atlikote. Jei esate prisijungę, skiltyje Mano kursai išsaugome tik tai, kad užduotis buvo atlikta (ar beveik atlikta); ten tai galite ir pašalinti.

Platesniam skaitymui

Veiksmai valdymo skydelyje taikomi WebOké; pas kitus paslaugų teikėjus viskas veikia panašiai.

Akimirką…

Nustatykite domenus

Kiekvienam domenui nustatykite vardų serverius, susiejimą su talpinimu ir tai, kas taps valdytoju.

Įkeliami Jūsų domenai…