Cache e faqeve, CDN dhe banerat e pëlqimit: si të shmangni shërbimin e gjendjes së gabuar të pëlqimit

Faqe të shpejta, pëlqim i gabuar

Cache-imi i faqeve është një nga gjërat më të mira që mund të bëni për shpejtësinë dhe kostot e pritjes. Është gjithashtu një nga mënyrat më të lehta për ta prishur një konfigurim pëlqimi pa e vënë re. Një cache bën saktësisht atë që i thuhet: e ruan një përgjigje një herë dhe ua shërben të gjithëve që përputhen me të njëjtin çelës. Nëse ajo përgjigje e ruajtur përmban diçka specifike për zgjedhjen e pëlqimit ose vendndodhjen e një vizitori, vizitori tjetër e merr edhe ai.

Ky udhëzues mbulon shtresat e cache-it që zakonisht ndodhen përpara një faqeje botuesi — cache-et edge të CDN-së, shtesat e cache-it të faqes së plotë, reverse proxy-t, service worker-ët dhe vetë shfletuesi — dhe si të ndaloni secilën të shërbejë përvojën e gabuar të pëlqimit.

Rregulli bazë: mbajeni pëlqimin jashtë HTML-it në cache

Arkitektura më e sigurt e rendereon faqen HTML të ruajtur si neutrale ndaj pëlqimit. Faqja përmban ngarkuesin e CMP-së dhe tag-et tuaja në gjendje të bllokuar ose pritjeje, por asnjë vendim për këtë vizitor të veçantë. Pastaj CMP-ja ekzekutohet në shfletues, lexon zgjedhjen e ruajtur, vendos nëse do të shfaqë banerin dhe i lëshon tag-et në përputhje me të.

Problemet fillojnë kur serveri merr vendime pëlqimi në kohën e rendereimit, për shembull:

Pasi ajo faqe ruhet në cache, gjendja e vizitorit të parë bëhet gjendja e të gjithëve. Një vizitor që ka refuzuar gjurmimin mund të marrë një faqe me tag-e tashmë aktive, ose një vizitor i ri mund të mos shohë kurrë një baner sepse kopja e ruajtur vjen nga dikush që e kishte mbyllur tashmë.

Pse “Vary: Cookie” rrallë është përgjigjja

Zgjidhja e librit shkollor për përmbajtjen për çdo vizitor është t’u thuhet cache-eve të variojnë sipas header-it të cookie-ve. Në praktikë, vizitorët mbajnë shumë cookie me vlera unike, ndaj variimi sipas gjithë header-it të cookie-ve zakonisht e çon shkallën e goditjeve të cache-it pothuajse në zero. Disa CDN ju lejojnë ta ndërtoni çelësin e cache-it nga vlera e një cookie-je të vetme, gjë që është e zbatueshme nëse cookie-ja juaj e pëlqimit ka pak gjendje të mundshme, por shton kompleksitet dhe prapë e shumëfishon numrin e kopjeve të ruajtura. Zhvendosja e vendimit në shfletues është më e thjeshtë dhe e mban cache-in efikas.

Gjeografia në skaj

Shumë botues shfaqin banera të ndryshëm sipas rajonit: një baner opt-in për BE-në dhe Mbretërinë e Bashkuar, një njoftim opt-out për shtetet e SHBA-së dhe diçka më e lehtë gjetkë. Nëse serveri e zgjedh variantin nga adresa IP e vizitorit dhe ajo faqe ruhet në cache, një lexues evropian mund të marrë një faqe amerikane të ruajtur, ose anasjelltas.

Tri modele e shmangin këtë:

  1. Gjeolokacion nga ana e klientit. Lëreni CMP-në ta përcaktojë rajonin në shfletues, që HTML-ja e ruajtur të jetë e njëjtë për të gjithë.
  2. Shteti në çelësin e cache-it. Nëse duhet të vendosni në skaj, përfshini në çelësin e cache-it kodin e shtetit që jep CDN-ja juaj. Merrni një kopje të ruajtur për çdo shtet, gjë që është e parashikueshme.
  3. Logjikë skaji pa cache. Ekzekutojeni vendimin rajonal në një funksion skaji që injekton një vlerë të vogël, pa cache, në një faqe që përndryshe është në cache.

Cilin që të zgjidhni, dokumentojeni. Gabimet e gjeografisë janë ndër më të vështirat për t’u riprodhuar, sepse shfaqen vetëm për vizitorët e një vendi që rastësisht marrin një faqe të ruajtur nga dikush në një vend tjetër.

Cache-imi i vetë skriptit të CMP-së

Ruajtja për kohë të gjatë e ngarkuesit të CMP-së është e mirë për performancën, por ka një kosto kur ndryshon konfigurimi. Nëse përditësoni shitës, qëllime ose tekstin e banerit dhe skripti ose skedari i konfigurimit ruhet për një vit, disa vizitorë do të vazhdojnë të shohin versionin e vjetër. Kontrolloni si i versionon skedarët CMP-ja juaj: një emër skedari ose parametër versioni që ndryshon ju lejon ta ruani agresivisht dhe prapë t’i hapni ndryshimet menjëherë. Konfirmoni gjithashtu që CDN-ja juaj nuk i heq query string-et nga URL-të e skripteve të palëve të treta nëse CMP-ja mbështetet te to.

Service worker-ët dhe cache-et offline

Faqet me një shtresë aplikacioni ueb progresiv shpesh e ruajnë HTML-in në një service worker. Vlen i njëjti rregull: mos e ruani kurrë një faqe që pasqyron një vendim specifik pëlqimi. Përjashtoni nga cache-i i service worker-it pikat fundore të lidhura me pëlqimin dhe faqet e qendrës së preferencave, dhe sigurohuni që një konfigurim i freskët i CMP-së mund të merret gjithmonë.

Cache-i i përpara/prapa

Shfletuesit modernë i mbajnë në kujtesë faqet e vizituara së fundmi që butoni Prapa t’i rikthejë menjëherë. Nëse një vizitor e hap qendrën e preferencave në një faqe, e tërheq pëlqimin dhe pastaj shtyp Prapa, faqja e rikthyer mund të ketë ende tag-e në punë nga më parë. Dëgjoni ngjarjen pageshow dhe kontrolloni vetinë e saj persisted: kur një faqe rikthehet nga ky cache, rilexoni gjendjen e ruajtur të pëlqimit dhe ndaloni ose nisni tag-et që të përputhen.

Një rutinë testimi

Pikat kryesore

← Blog Lexo të gjitha →