Vodič za integraciju cookie pristanka u Drupalu: arhitektura bannera usklađena s GDPR-om za Drupal 10 i 11 u 2026.
Drupal nema jedan jedini ugrađeni odgovor za pristanak na kolačiće kao što ga ima hostarana SaaS platforma. Ima modularni ekosustav — modul EU Cookie Compliance, modul Klaro Cookie & Consent Management, integracije dobavljača za Cookiebot i OneTrust, te šačicu specijaliziranijih doprinosnih modula — a izbor između njih sam je po sebi odluka o usklađenosti. Na to se nadovezuje arhitektura predmemoriranja Drupala: Internal Page Cache, Dynamic Page Cache, sloj Varnish ili CDN ispred aplikacije, te inherentna napetost između stranica predmemoriranih radi performansi i stanja pristanka koje se mora odlučiti po posjetitelju. Web stranica Drupala koja zadovoljava GDPR jest ona u kojoj su ti slojevi namjerno usklađeni, a ne prepušteni zadanom ponašanju. Ovaj vodič je priručnik koji inženjerski timovi koji pokreću Drupal 10 ili Drupal 11 u 2026. godini mogu koristiti za postizanje branjive pozicije pristanka bez prepisivanja teme ili žrtvovanja performansnih karakteristika koje su ih dovele do Drupala.
Zašto Drupal treba namjernu arhitekturu pristanka
Snage Drupala i njegovi rizici u pogledu pristanka dolaze s istog mjesta. Uredničku fleksibilnost platforme, pristup temeljen na ulogama i strukturirani model sadržaja upravo ono je što ga čini zadanim izborom za vladine portale, sveučilišne stranice i globalne poslovne web nekretnine — iste stranice koje se najvjerojatnije revidiraju, koje imaju najraznolikiji inventar oznaka trećih strana nakupljenih godinama kampanjskog rada, i koje imaju najveću površinu nebitnih kolačića za kontrolu. Tipična Drupal 10 stranica koja pokreće analitički stog, piksel za marketinšku automatizaciju, video ugrađeni sadržaj, webform s reCAPTCHA-om i widget za društveno dijeljenje može poslati više od desetak zasebnih nebitnih operacija pohrane u jednom učitavanju stranice, često putem modula koje izvorni implementator više ne pamti da je konfigurirao.
Svaka od tih operacija angažira zasebnu pristupnu kapiju pristanka. Prema Article 5(3) Direktive ePrivacy, svaki nebitni kolačić ili analogna operacija pohrane i pristupa zahtijeva prethodni, slobodno dan, specifičan, informiran i nedvosmislen pristanak u EEA-u, UK-u i svim jurisdikcijama koje su prihvatile isti standard. Prema GDPR-u, bihevioralni podaci koje te operacije pohrane generiraju jesu obrada osobnih podataka jer je kombinacija identifikatora kolačića, IP adrese i bihevioralnog traga dovoljna za izdvajanje pojedinca. Pitanje usklađenosti na Drupal stranici stoga nije je li instalirati banner — svaki odgovorni tim to je već učinio — nego sprječava li banner stvarno pokretanje oznaka prije nego što je korisnik pristao, i preživljava li odluka o pristanku slojeve predmemoriranja Drupala.
Panorama modula: EU Cookie Compliance, Klaro i opcije integrirane s dobavljačima
Modul EU Cookie Compliance — doprinosni modul koji se održava na Drupal.org pod tim imenom — historijski je zadani i najšire raspoređena opcija. Isporučuje konfigurabilan banner, podržava kategorije, izlaže JavaScript stanje pristanka da ga tematski kod stranice može vezati, te pohranjuje zapise pristanka u Drupal bazu podataka. Prednosti su duboka integracija s Drupalovim sustavom dozvola i uloga, višejezična podrška putem Drupalovog sloja prijevoda te mogućnost blokiranja Drupalovih renderiranih oznaka prema kategoriji na razini izgradnje stranice. Slabosti su da je korisničko sučelje bannera zaostalo za dizajnerskim standardima koje regulatori sada očekuju, da su zadane oznake kategorija nejasne, te da interakcija modula s Drupalovim slojevima predmemoriranja zahtijeva eksplicitnu konfiguraciju.
Modul Klaro Cookie & Consent Management novija je opcija koja integrira JavaScript biblioteku Klaro — upravitelja pristankom otvorenog koda s modernim sučeljem bannera i granularnim kontrolama po usluzi. Prednosti su kvaliteta sučelja, granularnost po usluzi umjesto po kategoriji te aktivni razvoj upstream. Slabosti su da je modul tanji od EU Cookie Compliance, zahtijeva više truda pri tematiziranju i tjera više stanja pristanka na klijentsku stranu gdje se mora uskladiti s Drupalovim renderiranjem na strani poslužitelja.
Opcije integrirane s dobavljačima — Cookiebot, OneTrust, Usercentrics i slični — prikladne su kada je stranica dio nasljedstva koje se već standardiziralo na jednom od tih CMP-ova na razini organizacije. Obično su to najjače opcije po sučelju i revizijskom tragu, ali uvode plaćenu zavisnost o trećoj strani i mogu zahtijevati Sporazum o obradi podataka koji prolazi kroz odvojen postupak nabave.
Zamka predmemoriranja koja poražava većinu Drupal implementacija pristanka
Ovo je problem koji potapa Drupal stranice inače ispravno konfigurirane: Internal Page Cache i Dynamic Page Cache, radeći kako su dizajnirani, posluživat će predmemorirani prikaz stranice posjetitelju koji još nije vidio banner, a predmemorirani prikaz može uključivati oznake skripti ili vanjske resurse koje banner treba blokirati. Rješenje nije onemogućiti predmemoriranje — time se poništava razlog zašto su ga većina poduzeća izabrala — već renderirati oznake blokirane pristankom putem puta koji slojevi predmemorije poštuju.
Uzorak rezerviranog mjesta
Uzorak koji radi u produkciji jest renderirati svaku nebitnu oznaku kao rezervirano mjesto u predmemoriranom HTML-u — obično oznaka <script type="text/plain"> s atributom kategorije, ili prilagođeni element koji JavaScript modula za pristanak aktivira samo na klijentskoj strani nakon što se relevantna kapija okrenula. Sama Drupal stranica je predmemorirljiva jer je rezervirano mjesto isto za svakog posjetitelja; logika aktivacije je u JavaScriptu modula za pristanak i pokreće se u trenutku hidratacije prema stanju pristanka specifičnom za posjetitelja pohranjenem u pregledaču. EU Cookie Compliance podržava ovaj uzorak izvorno; za Klaro ekvivalent je mehanizam zamjene skripti po usluzi koji pruža upstream biblioteka.
Slojevi predmemoriranja renderiranja i varnish
Drupalova predmemorija renderiranja i bilo koja upstream Varnish ili CDN predmemorija moraju biti konfigurirani za variranje prema stanju pristanka samo kada stanje pristanka mijenja renderirani HTML — što s uzorkom rezerviranog mjesta ne čini. Sam banner renderira se kao zasebni predmemorirljivi blok s kontekstom koji razlikuje «banner potreban» od «banner nije potreban», a ostatak stranice renderira se identično bez obzira na stanje pristanka. Ovo je arhitekturalni izbor koji čini Drupalove slojeve predmemoriranja kompatibilnima s implementacijom usmjerenom na pristanak. Alternativa — renderiranje stranice drugačije prema stanju pristanka i onemogućavanje predmemoriranja za korisnike koji su donijeli odluku — jest ono što producira ponašanje sporih stranica nakon prihvaćanja koje tjera korisnike na odbacivanje bannera.
Obrasci integracije modul po modul
Integracijski rad na Drupal stranici uglavnom se odnosi na spajanje stanja pristanka s modulima koji emitiraju nebitne kolačiće ili vanjske resurse. Uzorak se ponavlja kroz ekosustav doprinosnih modula.
- Google Analytics module i Google Tag Manager module moraju biti konfigurirani za renderiranje svojih oznaka kao rezerviranih mjesta blokiranih pristankom, s kategorijom pristanka mapiranom na analitičku kapiju. Oba modula izlažu hook koji EU Cookie Compliance modul može spojiti.
- Webform module s reCAPTCHA-om najčešće je suptilno curenje: reCAPTCHA postavlja nebitne kolačiće pri učitavanju čak i prije nego što korisnik preda obrazac. Rješenje je blokirati biblioteku reCAPTCHA iza relevantne funkcionalne ili marketinške kategorije, ili koristiti invisible-v3 varijantu koja odgađa pisanje kolačića do podnošenja obrasca.
- Video ugrađeni sadržaji Media modula s YouTubea, Vimea ili Brightcovea moraju koristiti poboljšani privatni način ili biti omotani u rezervirano mjesto za klik za učitavanje koje odgađa zahtjev trećoj strani dok ga korisnik ne aktivira. Uzorak Lite YouTube Embed ekvivalent je koji su usvojile neke Drupal teme.
- Widgeti za društveno dijeljenje od izvornih dobavljača obrazac su iz 2010-ih koji treba zamijeniti statičkim vezama za dijeljenje koje uopće ne učitavaju JavaScript treće strane. Ako widget dobavljača mora ostati, smještaj je iza marketinške kapije.
- Drupal Commerce i svi kolačići vezani uz košaricu strogo su potrebni i ne zahtijevaju pristanak, ali identifikatori programa lojalnosti, kolačići motora preporuka i eventi košarice vezani uz analitiku zahtijevaju odgovarajuću kapiju.
Validacija, revizijski trag i višejezični aspekt
Korak validacije na Drupal stranici isti je četverostruki niz provjera koji se primjenjuje svugdje: posjet bez radnje mora producirati nula nebitnih kolačića, posjet odbijanja mora zadržati to stanje, posjet prihvaćanja mora producirati samo odobrene oznake, a povlačenje mora odmah zaustaviti daljnja pokretanja oznaka i isteći relevantne kolačiće. Na Drupalu konkretno, ova validacija mora biti obavljena s predmemorijom stranice toplom — ne zaobiđenom — kako bi se potvrdilo da uzorak rezerviranog mjesta radi ispravno u realističnim prometnim uvjetima.
Revizijski trag na Drupalu koristi snage platforme. EU Cookie Compliance pohranjuje zapise pristanka u bazu podataka s vremenskim oznakama i stanjem kategorije; Klaro se može konfigurirati da učini isto putem hook-a na strani Drupala. Svaki put producira upitljiv zapisnik pristanka na koji se može odgovoriti za zahtjev regulatora. Višejezični aspekt je također važan: Drupalov sloj prijevoda proteže se na tekst bannera za pristanak, pa se obavijest o privatnosti i oznake kategorija moraju prevesti za svaki jezik koji stranica opsluživje, a zapisnik pristanka mora bilježiti koju jezičnu verziju je korisnik stvarno vidio. Branjiva Drupal implementacija u 2026. jest ona u kojoj su izbor modula, uzorak predmemoriranja, integracije po modulima i višejezični revizijski trag svi zajedno razmatrani — i gdje je izbor Drupala kao temeljne platforme pretvoren iz odgovornosti predmemoriranja u prednost pristanka.