Memòria cau de pàgines, CDN i bàners de consentiment: com evitar servir l'estat de consentiment equivocat

Pàgines ràpides, consentiment equivocat

La memòria cau de pàgines és una de les millors coses que pots fer per la velocitat i els costos d'allotjament. També és una de les maneres més fàcils de trencar una configuració de consentiment sense adonar-te'n. Una memòria cau fa exactament el que se li diu: desa una resposta una vegada i la serveix a tothom qui coincideixi amb la mateixa clau. Si aquesta resposta desada conté qualsevol cosa específica de l'elecció de consentiment o de la ubicació d'un visitant, el següent visitant també ho rep.

Aquesta guia cobreix les capes de memòria cau que solen situar-se davant d'un lloc d'editor — memòries cau de punta del CDN, connectors de memòria cau de pàgina completa, servidors intermediaris inversos, service workers i el mateix navegador — i com evitar que cadascuna serveixi l'experiència de consentiment equivocada.

La regla bàsica: mantén el consentiment fora de l'HTML a la memòria cau

L'arquitectura més segura renderitza la pàgina HTML emmagatzemada com a neutral pel que fa al consentiment. La pàgina conté el carregador del CMP i les teves etiquetes en estat bloquejat o d'espera, però cap decisió sobre aquest visitant concret. Després el CMP s'executa al navegador, llegeix l'elecció desada, decideix si cal mostrar el bàner i allibera les etiquetes en conseqüència.

Els problemes comencen quan el servidor pren decisions de consentiment en el moment de renderitzar, per exemple:

Quan aquesta pàgina es desa a la memòria cau, l'estat del primer visitant esdevé l'estat de tothom. Un visitant que ha rebutjat el seguiment pot rebre una pàgina amb les etiquetes ja actives, o un visitant nou pot no veure mai un bàner perquè la còpia desada ve d'algú que ja l'havia descartat.

Per què “Vary: Cookie” poques vegades és la resposta

La solució de manual per al contingut per visitant és dir a les memòries cau que variïn segons la capçalera de galetes. A la pràctica, els visitants porten moltes galetes amb valors únics, de manera que variar segons tota la capçalera de galetes sol deixar la taxa d'encerts de la memòria cau gairebé a zero. Alguns CDN et permeten construir la clau de la memòria cau a partir del valor d'una sola galeta, cosa que és viable si la teva galeta de consentiment té pocs estats possibles, però afegeix complexitat i continua multiplicant el nombre de còpies desades. Moure la decisió al navegador és més senzill i manté la memòria cau eficient.

Geografia a la vora

Molts editors mostren bàners diferents segons la regió: un bàner d'acceptació prèvia per a la UE i el Regne Unit, un avís de baixa per als estats dels EUA i alguna cosa més lleugera a la resta. Si el servidor tria la variant a partir de l'adreça IP del visitant i aquesta pàgina es desa a la memòria cau, un lector europeu pot rebre una pàgina nord-americana desada, o al revés.

Tres patrons ho eviten:

  1. Geolocalització al client. Deixa que el CMP determini la regió al navegador, de manera que l'HTML desat sigui el mateix per a tothom.
  2. País a la clau de la memòria cau. Si has de decidir a la vora, inclou a la clau de la memòria cau el codi de país que proporciona el teu CDN. Obtens una còpia desada per país, cosa previsible.
  3. Lògica de vora sense memòria cau. Executa la decisió regional en una funció de vora que injecti un valor petit i sense memòria cau en una pàgina que, per la resta, està desada.

Triïs el que triïs, documenta-ho. Els errors de geografia són dels més difícils de reproduir, perquè només apareixen per a visitants d'un lloc que reben per atzar una pàgina desada per algú d'un altre.

Memòria cau del propi script del CMP

Desar durant molt de temps el carregador del CMP a la memòria cau és bo per al rendiment, però té un cost quan canvia la configuració. Si actualitzes proveïdors, finalitats o el text del bàner i l'script o el fitxer de configuració queda desat durant un any, alguns visitants continuaran veient la versió antiga. Comprova com versiona els fitxers el teu CMP: un nom de fitxer o un paràmetre de versió que canviï et permet desar agressivament i alhora desplegar els canvis a l'instant. Confirma també que el teu CDN no elimina les cadenes de consulta de les URL d'scripts de tercers si el CMP en depèn.

Service workers i memòries cau fora de línia

Els llocs amb una capa d'aplicació web progressiva sovint desen l'HTML en un service worker. Val la mateixa regla: no desis mai una pàgina que reflecteixi una decisió de consentiment concreta. Exclou de la memòria cau del service worker els punts finals relacionats amb el consentiment i les pàgines del centre de preferències, i assegura't que sempre es pugui obtenir una configuració nova del CMP.

La memòria cau d'avançar i retrocedir

Els navegadors moderns mantenen a la memòria les pàgines visitades recentment perquè el botó d'enrere les restauri a l'instant. Si un visitant obre el centre de preferències en una pàgina, retira el consentiment i després prem enrere, la pàgina restaurada pot tenir encara les etiquetes en marxa d'abans. Escolta l'esdeveniment pageshow i comprova la seva propietat persisted: quan una pàgina es restaura des d'aquesta memòria cau, torna a llegir l'estat de consentiment desat i atura o inicia les etiquetes perquè hi coincideixin.

Una rutina de proves

Punts clau

← Blog Llegir tot →