Page Caching, CDN at Consent Banner: Paano Iwasan ang Pagsisilbi ng Maling Consent State

Mabilis na mga Page, Maling Consent

Ang page caching ay isa sa pinakamagandang magagawa mo para sa bilis at gastos sa hosting. Isa rin ito sa pinakamadaling paraan para masira ang consent setup nang hindi napapansin. Eksaktong ginagawa ng cache ang iniutos dito: itinatabi nito ang isang response at inihahain sa lahat ng tumutugma sa parehong key. Kung may laman ang nakatabing response na partikular sa consent choice o lokasyon ng isang bisita, matatanggap din ito ng susunod na bisita.

Tinatalakay ng gabay na ito ang mga layer ng caching na karaniwang nasa harap ng site ng publisher — CDN edge cache, full-page caching plugin, reverse proxy, service worker at ang browser mismo — at kung paano pigilan ang bawat isa na maghain ng maling consent experience.

Ang Pangunahing Patakaran: Ilayo ang Consent sa Naka-cache na HTML

Ang pinakaligtas na arkitektura ay nagre-render ng naka-cache na HTML page bilang neutral sa consent. Naglalaman ang page ng CMP loader at ng iyong mga tag sa naka-block o naghihintay na estado, ngunit walang desisyon tungkol sa partikular na bisitang ito. Pagkatapos ay tatakbo ang CMP sa browser, babasahin ang nakaimbak na pagpili, magpapasya kung ipapakita ang banner, at ilalabas ang mga tag ayon dito.

Nagsisimula ang mga problema kapag nagpapasya ang server tungkol sa consent sa oras ng render, halimbawa:

Kapag na-cache na ang page na iyon, ang estado ng unang bisita ay nagiging estado ng lahat. Ang bisitang tumanggi sa tracking ay maaaring makatanggap ng page na aktibo na ang mga tag, o ang bagong bisita ay maaaring hindi kailanman makakita ng banner dahil ang naka-cache na kopya ay galing sa taong isinara na ito.

Bakit Bihirang Sagot ang “Vary: Cookie”

Ang karaniwang solusyon sa content na kada-bisita ay ang pag-utos sa mga cache na mag-vary ayon sa cookie header. Sa praktika, maraming cookie na may natatanging halaga ang dala ng mga bisita, kaya ang pag-vary sa buong cookie header ay karaniwang nagpapababa ng cache hit rate halos sa zero. Pinapahintulutan ng ilang CDN na buuin ang cache key mula sa isang cookie value lang, na posible kung kakaunti ang posibleng estado ng iyong consent cookie, ngunit nagdaragdag ito ng komplikasyon at pinararami pa rin ang bilang ng mga naka-cache na kopya. Mas simple ang paglilipat ng desisyon sa browser at pinananatili nitong episyente ang cache.

Heograpiya sa Edge

Maraming publisher ang nagpapakita ng magkakaibang banner ayon sa rehiyon: opt-in na banner para sa EU at UK, opt-out na abiso para sa mga estado ng US, at mas magaan sa ibang lugar. Kung pinipili ng server ang variant mula sa IP address ng bisita at na-cache ang page na iyon, maaaring makatanggap ang mambabasang Europeo ng naka-cache na US page, o kabaligtaran.

Tatlong pattern ang umiiwas dito:

  1. Client-side geolocation. Hayaang tukuyin ng CMP ang rehiyon sa browser, para manatiling pareho ang naka-cache na HTML para sa lahat.
  2. Bansa sa cache key. Kung kailangan mong magpasya sa edge, isama sa cache key ang country code na ibinibigay ng iyong CDN. Isang naka-cache na kopya kada bansa ang makukuha mo, na predictable.
  3. Uncached na edge logic. Patakbuhin ang desisyong panrehiyon sa edge function na nag-iinject ng maliit at hindi naka-cache na halaga sa pahinang naka-cache naman sa iba pang bahagi.

Alinman ang piliin mo, idokumento ito. Isa ang mga geo bug sa pinakamahirap i-reproduce, dahil lumilitaw lang ang mga ito sa mga bisita sa isang lugar na nagkataong nakatanggap ng page na na-cache ng taong nasa ibang lugar.

Pag-cache sa mismong CMP Script

Mabuti para sa performance ang pag-cache sa CMP loader nang matagal, ngunit may kapalit ito kapag nagbago ang configuration. Kung nag-update ka ng vendor, layunin o teksto ng banner at naka-cache nang isang taon ang script o configuration file, may ilang bisitang patuloy na makakakita ng lumang bersyon. Suriin kung paano nagbibigay ng bersyon ang iyong CMP sa mga file nito: ang pagbabago ng pangalan ng file o version parameter ay nagpapahintulot sa agresibong pag-cache habang agad pa ring naipapatupad ang mga pagbabago. Tiyakin ding hindi inaalis ng sarili mong CDN ang mga query string sa URL ng third-party script kung umaasa rito ang CMP.

Service Worker at Offline Cache

Madalas na nagka-cache ng HTML sa service worker ang mga site na may progressive web app layer. Pareho ang patakaran: huwag kailanman mag-imbak ng page na sumasalamin sa partikular na consent decision. Ibukod ang mga consent-related na endpoint at preference centre page sa caching ng service worker, at tiyaking laging makukuha ang bagong CMP configuration.

Ang Back/Forward Cache

Itinatago ng mga modernong browser sa memorya ang mga kamakailang binisitang page para agad silang maibalik ng back button. Kung binuksan ng bisita ang preference centre sa isang page, binawi ang consent, at pagkatapos ay pinindot ang back, maaaring tumatakbo pa rin ang mga tag mula kanina sa naibalik na page. Makinig sa pageshow event at suriin ang persisted property nito: kapag naibalik ang page mula sa cache na ito, basahing muli ang nakaimbak na consent state at ihinto o simulan ang mga tag para tumugma.

Isang Routine sa Pagsubok

Mga Pangunahing Takeaway

← Blog Basahin Lahat →