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:

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:

  1. 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.
  2. 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ó.
  3. 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

Legfontosabb tanulságok

← Blog Összes olvasása →