Průvodce integrací souhlasu s cookies v Drupal: Architektura banneru v souladu s GDPR pro Drupal 10 a 11 v roce 2026

Drupal nemá pro souhlas s cookies jednu jednotnou odpověď jako hostovaná SaaS platforma. Disponuje modulárním ekosystémem — modulem EU Cookie Compliance, modulem Klaro Cookie & Consent Management, dodavatelskými integracemi pro Cookiebot a OneTrust a hrstkou specializovanějších přispívajících modulů — a výběr mezi nimi je sám o sobě rozhodnutím o souladu. Na to se vrství architektura mezipaměti Drupalu: Internal Page Cache, Dynamic Page Cache, vrstva Varnish nebo CDN před aplikací a inherentní napětí mezi stránkami uloženými v mezipaměti kvůli výkonu a stavem souhlasu, který musí být stanoven pro každého návštěvníka. Web Drupalu, který splňuje GDPR, je takový, kde byly tyto vrstvy záměrně sladěny, namísto aby byly ponechány výchozímu chování. Tento průvodce je návodem, který mohou inženýrské týmy provozující Drupal 10 nebo Drupal 11 v roce 2026 použít k dosažení obhajitelné pozice souhlasu bez přepisování šablony nebo obětování výkonnostních charakteristik, které je k Drupalu přivedly.

Proč Drupal potřebuje záměrnou architekturu souhlasu

Silné stránky Drupalu a jeho rizika v oblasti souhlasu pocházejí ze stejného místa. Redakční flexibilita platformy, přístup na základě rolí a model strukturovaného obsahu jsou přesně to, co z ní činí výchozí volbu pro vládní portály, univerzitní weby a globální podnikové webové správy — právě ty weby, u nichž je nejvyšší pravděpodobnost auditu, které mají nejrozmanitější inventáře značek třetích stran nahromaděné za léta kampaňové práce a které mají největší plochu nepodstatných cookies ke kontrole. Typický web Drupal 10 provozující analytický zásobník, pixel marketingové automatizace, vložené video, webformulář s reCAPTCHA a widget pro sdílení na sociálních sítích může na jednom načtení stránky provést více než tucet různých nepodstatných úložných operací, často prostřednictvím modulů, jejichž konfiguraci si původní implementátor již nepamatuje.

Každá z těchto operací zapojuje samostatnou bránu souhlasu. Podle Article 5(3) ePrivacy Directive každá nepodstatná cookie nebo analogická operace ukládání a přístupu vyžaduje předchozí, svobodně udělený, konkrétní, informovaný a jednoznačný souhlas v EEA, UK a jakékoli jurisdikci, která přijala stejný standard. Podle GDPR jsou behaviorální data generovaná těmito úložnými operacemi zpracováním osobních údajů, protože kombinace identifikátoru cookie, IP adresy a behaviorální stopy postačuje k identifikaci jednotlivce. Otázka souladu na webu Drupalu proto není, zda instalovat banner — každý odpovědný tým to již udělal — ale zda banner skutečně brání značkám aktivovat se dříve, než uživatel udělil souhlas, a zda rozhodnutí o souhlasu přežije vrstvy mezipaměti Drupalu.

Krajina modulů: EU Cookie Compliance, Klaro a dodavatelsky integrované možnosti

Modul EU Cookie Compliance — přispívající modul udržovaný na Drupal.org pod tímto názvem — je historicky výchozí a nejrozšířenější možností. Dodává konfigurovatelný banner, podporuje kategorie, zpřístupňuje stav souhlasu JavaScript pro navázání kódu tématu webu a ukládá záznamy souhlasu do databáze Drupalu. Silné stránky jsou hluboká integrace se systémem oprávnění a rolí Drupalu, vícejazyčná podpora prostřednictvím překladové vrstvy Drupalu a schopnost uzavřít Drupalem vykreslené značky podle kategorie na úrovni sestavení stránky. Slabé stránky jsou, že UI banneru zaostává za designovými standardy, které regulátoři nyní očekávají, výchozí popisky kategorií jsou vágní a interakce modulu s vrstvami mezipaměti Drupalu vyžaduje explicitní konfiguraci.

Modul Klaro Cookie & Consent Management je novější možností, která integruje JavaScriptovou knihovnu Klaro — správce souhlasu s otevřeným zdrojovým kódem s moderním UI banneru a podrobnými ovládacími prvky pro jednotlivé služby. Silné stránky jsou kvalita UI, granularita na úrovni služby místo kategorie a aktivní vývoj proti proudu. Slabé stránky jsou, že modul je tenčí než EU Cookie Compliance, vyžaduje více úsilí při přizpůsobení šablony a přesouvá více stavu souhlasu na klienta, kde musí být sladěn s vykreslováním Drupalu na straně serveru.

Dodavatelsky integrované možnosti — Cookiebot, OneTrust, Usercentrics a podobné — jsou vhodné, když je web součástí správy, která již standardizuje na jednom z těchto CMP na úrovni organizace. Jsou obvykle nejsilnějšími možnostmi z hlediska UI a auditní stopy, ale zavádějí placenou závislost na třetí straně a mohou vyžadovat Data Processing Agreement procházející samostatnou zadávací stopou.

Úskalí mezipaměti, které maří většinu implementací souhlasu v Drupalu

Toto je problém, který potápí jinak správně nakonfigurované weby Drupalu: Internal Page Cache a Dynamic Page Cache, fungující tak, jak byly navrženy, budou obsluhovat uložené vykreslení stránky návštěvníkovi, který banner ještě neviděl, a uložené vykreslení může obsahovat značky skriptů nebo externí zdroje, které má banner uzavřít. Opravou není vypnutí mezipaměti — to maří důvod, proč většina podniků zvolila Drupal — ale vykreslování značek uzavřených souhlasem prostřednictvím cesty, kterou vrstvy mezipaměti respektují.

Vzor zástupného symbolu

Vzor fungující v produkci je vykreslovat každou nepodstatnou značku jako zástupný symbol v uložené HTML — typicky značku <script type="text/plain"> s atributem kategorie nebo vlastní prvek, který JavaScript modulu souhlasu aktivuje pouze na straně klienta poté, co příslušná brána přepne. Samotná stránka Drupalu je ukládatelná do mezipaměti, protože zástupný symbol je stejný pro každého návštěvníka; logika aktivace je v JavaScriptu modulu souhlasu a spouští se v čase hydratace proti stavu souhlasu pro daného návštěvníka uloženému v prohlížeči. EU Cookie Compliance tento vzor podporuje hned po instalaci; pro Klaro je ekvivalentem mechanismus nahrazení skriptů pro jednotlivé služby, který poskytuje upstream knihovna.

Mezipaměť vykreslení a vrstvy Varnish

Mezipaměť vykreslení Drupalu a jakákoli upstream mezipaměť Varnish nebo CDN musí být nakonfigurovány tak, aby se lišily v závislosti na stavu souhlasu pouze tehdy, když stav souhlasu mění vykreslené HTML — což se vzorem zástupného symbolu nedělá. Samotný banner je vykreslen jako samostatný blokovatelný blok s kontextem, který rozlišuje „banner potřebný" od „banner nepotřebný", a zbytek stránky se vykresluje shodně bez ohledu na stav souhlasu. Toto je architektonická volba, která činí vrstvy mezipaměti Drupalu kompatibilní s nasazením orientovaným na souhlas. Alternativa — vykreslovat stránku odlišně pro každý stav souhlasu a deaktivovat mezipaměť pro uživatele, kteří učinili volbu — je to, co produkuje chování pomalých stránek po přijetí, které nutí uživatele odmítat bannery.

Integrační vzory modul po modulu

Integrační práce na webu Drupalu spočívá převážně v propojení stavu souhlasu s moduly, které vydávají nepodstatné cookies nebo externí zdroje. Vzor se opakuje v ekosystému přispívajících modulů.

Validace, auditní stopa a vícejazyčný aspekt

Validační krok na webu Drupalu je stejná čtyřkroková sekvence kontrol, která se uplatňuje kdekoli: návštěva bez akce musí produkovat nulové nepodstatné cookies, odmítnutá návštěva musí tento stav zachovat, přijatá návštěva musí produkovat pouze odsouhlasené značky a stažení musí okamžitě zastavit další aktivace značek a vypršet příslušným cookies. Konkrétně v Drupalu musí být tato validace provedena s teplou mezipamětí stránky — nikoli obejitou — aby se potvrdilo, že vzor zástupného symbolu funguje správně za realistických podmínek provozu.

Auditní stopa v Drupalu těží ze silných stránek platformy. EU Cookie Compliance ukládá záznamy souhlasu do databáze s časovými razítky a stavem kategorie; Klaro lze nakonfigurovat tak, aby totéž dělal prostřednictvím hook na straně Drupalu. Oba způsoby produkují dotazovatelný log souhlasu, vůči kterému lze odpovědět na žádost regulátora. Vícejazyčný aspekt také záleží: překladová vrstva Drupalu se rozšiřuje až na text banneru souhlasu, takže oznámení o ochraně soukromí a popisky kategorií musí být přeloženy pro každý jazyk, který web obsluhuje, a log souhlasu musí zaznamenat, jakou jazykovou verzi uživatel skutečně viděl. Obhajitelné nasazení Drupalu v roce 2026 je takové, kde výběr modulu, vzor mezipaměti, integrace pro jednotlivé moduly a vícejazyčná auditní stopa byly všechny zvažovány společně — a kde výběr Drupalu jako základní platformy byl přeměněn z odpovědnosti mezipaměti na výhodu souhlasu.

← Blog Číst vše →