Oldal-gyorsítótárazás, CDN-ek és bannerek: így kerülhető el a rossz hozzájárulási állapot kiszolgálása
Gyors oldalak, rossz hozzájárulás
Az oldal-gyorsítótárazás az egyik legjobb dolog, amit a sebességért és a tárhelyköltségért tehet. Egyben az egyik legkönnyebb módja is annak, hogy észrevétlenül tönkretegye a hozzájárulási beállítást. A gyorsítótár pontosan azt teszi, amit mondanak neki: egyszer eltárol egy választ, és mindenkinek kiszolgálja, aki ugyanazzal a kulccsal egyezik. Ha az eltárolt válasz bármit tartalmaz, ami egy látogató hozzájárulási döntésére vagy tartózkodási helyére jellemző, a következő látogató is megkapja.
Ez az útmutató azokat a gyorsítótár-rétegeket tárgyalja, amelyek jellemzően egy kiadói webhely előtt állnak — CDN edge gyorsítótárak, teljes oldalas gyorsítótárazó bővítmények, reverse proxyk, service workerek és maga a böngésző —, és azt, hogyan akadályozható meg mindegyiknél a rossz hozzájárulási élmény kiszolgálása.
Az alapszabály: tartsa a hozzájárulást a gyorsítótárazott HTML-en kívül
A legbiztonságosabb architektúra a gyorsítótárazott HTML-oldalt hozzájárulás-semlegesként rendereli. Az oldal tartalmazza a CMP-loadert és a tageket blokkolt vagy várakozó állapotban, de nem tartalmaz döntést erről a konkrét látogatóról. A CMP ezután a böngészőben fut, elolvassa az eltárolt választást, eldönti, megjelenítse-e a bannert, és ennek megfelelően szabadítja fel a tageket.
A gondok akkor kezdődnek, amikor a szerver a renderelés idején hoz hozzájárulási döntéseket, például:
- egy téma vagy bővítmény, amely csak akkor nyomtat hirdetési vagy analitikai tageket, ha hozzájárulási cookie van jelen;
- szerveroldali kód, amely kihagyja a bannermarkupot azoknál a látogatóknál, akik már döntöttek;
- sablonok, amelyek a látogató hozzájárulási állapotát egy inline scriptváltozóba ágyazzák.
Amint egy ilyen oldal bekerül a gyorsítótárba, az első látogató állapota mindenkié lesz. Az a látogató, aki elutasította a követést, olyan oldalt kaphat, amelyen a tagek már aktívak, vagy egy új látogató sosem lát bannert, mert a gyorsítótárazott másolat valakitől származik, aki már elutasította.
Miért ritkán megoldás a „Vary: Cookie”
A látogatónkénti tartalom tankönyvi megoldása az, hogy a gyorsítótárnak a cookie-fejléc szerint kell variálnia. A gyakorlatban a látogatóknak sok cookie-juk van egyedi értékekkel, így a teljes cookie-fejléc szerinti variálás általában közel nullára viszi a gyorsítótár találati arányát. Egyes CDN-ek lehetővé teszik, hogy a gyorsítótárkulcsot egyetlen cookie-értékből építse, ami járható, ha a hozzájárulási cookie-nak kevés lehetséges állapota van, de bonyolultságot ad, és még így is megsokszorozza a gyorsítótárazott másolatok számát. A döntés böngészőbe helyezése egyszerűbb, és hatékonyan tartja a gyorsítótárat.
Földrajz az edge-en
Sok kiadó régiónként más bannert mutat: opt-in bannert az EU-nak és az Egyesült Királyságnak, leiratkozási értesítést az amerikai államoknak, és valami könnyebbet máshol. Ha a szerver a látogató IP-címéből választja ki a variánst, és az oldalt gyorsítótárazzák, egy európai olvasó kaphat gyorsítótárazott amerikai oldalt, vagy fordítva.
Három minta kerüli el ezt:
- Kliensoldali geolokáció. Hagyja, hogy a CMP a böngészőben határozza meg a régiót, így a gyorsítótárazott HTML mindenkinek ugyanaz marad.
- Ország a gyorsítótárkulcsban. Ha az edge-en kell dönteni, vegye fel a gyorsítótárkulcsba a CDN által biztosított országkódot. Országonként egy gyorsítótárazott másolatot kap, ami kiszámítható.
- Nem gyorsítótárazott edge-logika. Futtassa a regionális döntést egy edge-függvényben, amely egy apró, nem gyorsítótárazott értéket injektál egy egyébként gyorsítótárazott oldalba.
Bármelyiket választja, dokumentálja. A geo-hibák a legnehezebben reprodukálhatók közé tartoznak, mert csak az egy helyen lévő látogatóknál jelentkeznek, akik véletlenül egy máshol lévő valaki által gyorsítótárazott oldalt kapnak.
Maga a CMP-script gyorsítótárazása
A CMP-loader hosszú gyorsítótárazása jó a teljesítménynek, de ára van, amikor a konfiguráció változik. Ha frissíti a szállítókat, a célokat vagy a bannerszöveget, és a script vagy a konfigurációs fájl egy évre gyorsítótárazott, egyes látogatók továbbra is a régi verziót látják. Ellenőrizze, hogyan verziózza a CMP a fájljait: a változó fájlnév vagy verzióparaméter lehetővé teszi, hogy agresszíven gyorsítótárazzon, miközben a változtatásokat azonnal kigördíti. Győződjön meg arról is, hogy a saját CDN-je nem távolítja el a lekérdezési stringeket a harmadik fél scriptjeinek URL-jeiből, ha a CMP támaszkodik rájuk.
Service workerek és offline gyorsítótárak
A progresszív webalkalmazás-réteggel rendelkező webhelyek gyakran gyorsítótárazzák a HTML-t egy service workerben. Ugyanaz a szabály érvényes: soha ne tároljon olyan oldalt, amely egy konkrét hozzájárulási döntést tükröz. Zárja ki a hozzájáruláshoz kapcsolódó végpontokat és a beállítóközpont oldalait a service worker gyorsítótárazásából, és gondoskodjon róla, hogy mindig lehessen friss CMP-konfigurációt letölteni.
A vissza/előre gyorsítótár
A modern böngészők a nemrég meglátogatott oldalakat memóriában tartják, hogy a vissza gomb azonnal visszaállítsa őket. Ha a látogató megnyitja a beállítóközpontot az egyik oldalon, visszavonja a hozzájárulást, majd a vissza gombot nyomja, a visszaállított oldalon még futhatnak a korábbi tagek. Figyelje a pageshow eseményt, és ellenőrizze a persisted tulajdonságát: amikor egy oldalt ebből a gyorsítótárból állítanak vissza, olvassa újra az eltárolt hozzájárulási állapotot, és ennek megfelelően állítsa le vagy indítsa el a tageket.
Tesztelési rutin
- Töltsön be egy oldalt tiszta munkamenetben, utasítsa el, majd töltsön be egy második oldalt, és ellenőrizze, hogy semmilyen követő tag nem fut le.
- Ismételje meg egy második tiszta böngészőben, és ellenőrizze, hogy a banner megjelenik, ami bizonyítja, hogy nem gyorsítótárazták el.
- Ellenőrizze a válaszfejléceket, hogy az oldalak gyorsítótárból érkeznek-e, és hasonlítsa össze a HTML-t hozzájárulási cookie-val és anélkül — azonosnak kell lennie.
- Tesztelje legalább két régióból a gyorsítótár ürítése után, majd újra a felmelegedése után.
- Vonja vissza a hozzájárulást, használja a vissza gombot, és ellenőrizze, hogy a tagek leállnak.
Legfontosabb tanulságok
- A gyorsítótárazott HTML legyen hozzájárulás-semleges; hagyja, hogy a CMP a böngészőben döntsön.
- Kerülje a teljes cookie-fejléc szerinti variálást; tönkreteszi a találati arányt.
- Ha a bannerek régiónként eltérnek, döntsön kliensoldalon, vagy vegye fel az országot a gyorsítótárkulcsba.
- Verziózza a CMP-fájlokat, hogy a hosszú gyorsítótár-élettartamok ne késleltessék a konfigurációs változtatásokat.
- Kezelje a service workereket és a vissza/előre gyorsítótárat, és felmelegedett gyorsítótárral is tesztelje, ne csak ürítés után.