Lapu kešošana, CDN un piekrišanas baneri: kā izvairīties no nepareiza piekrišanas stāvokļa piegādes

Ātras lapas, nepareiza piekrišana

Lapu kešošana ir viena no labākajām lietām, ko varat darīt ātrumam un mitināšanas izmaksām. Tā ir arī viens no vieglākajiem veidiem, kā nemanot sabojāt piekrišanas iestatījumus. Kešatmiņa dara tieši to, ko tai liek: saglabā atbildi vienreiz un piegādā to ikvienam, kas atbilst tai pašai atslēgai. Ja šī saglabātā atbilde satur kaut ko, kas raksturīgs viena apmeklētāja piekrišanas izvēlei vai atrašanās vietai, nākamais apmeklētājs to saņem arī.

Šajā rokasgrāmatā aplūkoti kešošanas slāņi, kas parasti atrodas izdevēja vietnes priekšā — CDN malu kešatmiņas, pilnas lapas kešošanas spraudņi, reverse proxy, service workers un pats pārlūks — un kā neļaut nevienam no tiem piegādāt nepareizu piekrišanas pieredzi.

Pamatnoteikums: turiet piekrišanu ārpus kešotā HTML

Drošākā arhitektūra renderē kešoto HTML lapu kā piekrišanai neitrālu. Lapa satur CMP ielādētāju un jūsu tagus bloķētā vai gaidīšanas stāvoklī, bet nesatur lēmumu par šo konkrēto apmeklētāju. Tad CMP darbojas pārlūkā, nolasa saglabāto izvēli, izlemj, vai rādīt baneri, un attiecīgi atbrīvo tagus.

Problēmas sākas, kad serveris pieņem piekrišanas lēmumus renderēšanas brīdī, piemēram:

Kad šī lapa ir kešota, pirmā apmeklētāja stāvoklis kļūst par visu stāvokli. Apmeklētājs, kurš noraidīja izsekošanu, var saņemt lapu ar jau aktīviem tagiem, vai jauns apmeklētājs var nekad neredzēt baneri, jo kešotā kopija nāca no kāda, kurš to jau bija aizvēris.

Kāpēc “Vary: Cookie” reti ir atbilde

Mācību grāmatas risinājums saturam katram apmeklētājam ir likt kešatmiņām mainīties pēc sīkdatņu galvenes. Praksē apmeklētājiem ir daudz sīkdatņu ar unikālām vērtībām, tāpēc mainīšanās pēc visas sīkdatņu galvenes parasti kešatmiņas trāpījumu līmeni samazina gandrīz līdz nullei. Dažas CDN ļauj kešatmiņas atslēgu veidot no vienas sīkdatnes vērtības, kas ir izmantojams, ja jūsu piekrišanas sīkdatnei ir neliels iespējamo stāvokļu skaits, taču tas pievieno sarežģītību un joprojām palielina kešoto kopiju skaitu. Lēmuma pārcelšana uz pārlūku ir vienkāršāka un saglabā kešatmiņu efektīvu.

Ģeogrāfija malā

Daudzi izdevēji rāda atšķirīgus banerus pa reģioniem: baneri ar iepriekšēju atļauju ES un Apvienotajai Karalistei, atteikšanās paziņojumu ASV štatiem un kaut ko vieglāku citur. Ja serveris izvēlas variantu pēc apmeklētāja IP adreses un šī lapa tiek kešota, eiropiešu lasītājs var saņemt kešotu ASV lapu vai otrādi.

Trīs modeļi no tā izvairās:

  1. Klienta puses ģeolokācija. Ļaujiet CMP noteikt reģionu pārlūkā, lai kešotais HTML visiem paliktu vienāds.
  2. Valsts kešatmiņas atslēgā. Ja lēmums jāpieņem malā, iekļaujiet kešatmiņas atslēgā valsts kodu, ko nodrošina jūsu CDN. Jūs iegūstat vienu kešotu kopiju katrai valstij, kas ir paredzami.
  3. Nekešota malas loģika. Izpildiet reģionālo lēmumu malas funkcijā, kas citādi kešotā lapā ievieto nelielu nekešotu vērtību.

Ko arī izvēlētos, dokumentējiet to. Ģeogrāfijas kļūdas ir vienas no grūtāk reproducējamajām, jo tās parādās tikai apmeklētājiem vienā vietā, kuri nejauši saņem lapu, ko kešojis kāds cits citur.

Paša CMP skripta kešošana

CMP ielādētāja kešošana uz ilgu laiku ir laba veiktspējai, taču tai ir cena, kad mainās konfigurācija. Ja atjaunināt piegādātājus, nolūkus vai banera tekstu, bet skripts vai konfigurācijas fails ir kešots uz gadu, daži apmeklētāji turpinās redzēt veco versiju. Pārbaudiet, kā jūsu CMP versionē savus failus: mainīgs faila nosaukums vai versijas parametrs ļauj kešot agresīvi, tomēr izmaiņas ieviest uzreiz. Pārliecinieties arī, ka jūsu pašu CDN nenoņem vaicājuma virknes no trešo pušu skriptu URL, ja CMP uz tām paļaujas.

Service workers un bezsaistes kešatmiņas

Vietnes ar progresīvās tīmekļa lietotnes slāni bieži kešo HTML service worker. Attiecas tas pats noteikums: nekad nesaglabājiet lapu, kas atspoguļo konkrētu piekrišanas lēmumu. Izslēdziet ar piekrišanu saistītos galapunktus un preferenču centra lapas no service worker kešošanas un pārliecinieties, ka vienmēr var iegūt svaigu CMP konfigurāciju.

Atpakaļ/uz priekšu kešatmiņa

Mūsdienu pārlūki glabā nesen apmeklētās lapas atmiņā, lai atpakaļ poga tās atjaunotu acumirklī. Ja apmeklētājs vienā lapā atver preferenču centru, atsauc piekrišanu un tad nospiež atpakaļ, atjaunotajā lapā tagi var joprojām darboties no iepriekš. Klausieties notikumu pageshow un pārbaudiet tā īpašību persisted: kad lapa tiek atjaunota no šīs kešatmiņas, atkārtoti nolasiet saglabāto piekrišanas stāvokli un apturiet vai startējiet tagus atbilstoši.

Testēšanas rutīna

Galvenie secinājumi

← Blogs Lasīt visu →