Drupal Cookie Consent ინტეგრაციის სახელმძღვანელო: GDPR-თან შესაბამისი ბანერის არქიტექტურა Drupal 10 და 11-ისთვის 2026 წელს
Drupal-ს არ გააჩნია cookie-თანხმობის ერთიანი ჩამონტაჟებული პასუხი, ისე როგორც მასპინძლობილ SaaS-პლატფორმას. მას გააჩნია მოდულური ეკოსისტემა — EU Cookie Compliance მოდული, Klaro Cookie & Consent Management მოდული, Cookiebot-ისა და OneTrust-ის მომწოდებლის ინტეგრაციები და რამდენიმე უფრო სპეციალიზებული კონტრიბუცია მოდული — და მათ შორის არჩევანი თავისთავად შესაბამისობის გადაწყვეტილებაა. ამ ყველაფრის თავზე არის Drupal-ის ქეშირების არქიტექტურა: Internal Page Cache, Dynamic Page Cache, Varnish ან CDN ფენა აპლიკაციის წინ, და შესრულებისათვის ქეშირებული გვერდებსა და ვიზიტორის მიხედვით გადასაწყვეტ თანხმობის მდგომარეობას შორის თანდაყოლილი დაძაბულობა. GDPR-ის მოთხოვნებს დამაკმაყოფილებელი Drupal-ის საიტი არის ის, სადაც ეს ფენები განზრახ იყო ჰარმონიზებული და არა ნაგულისხმევ ქცევაზე მიტოვებული. ეს სახელმძღვანელო არის სახელმძღვანელო წიგნი, რომელიც 2026 წელს Drupal 10-ს ან Drupal 11-ს მამართვებელ საინჟინრო გუნდებს შეუძლიათ გამოიყენონ თავიანთი თემის გადამოწერის ან Drupal-ისკენ მათი მოყვანის მიზეზი შესრულების მახასიათებლების მსხვერპლის გარეშე სადამცავი თანხმობის პოზიციის მიღწევისთვის.
რატომ სჭირდება Drupal-ს განზრახ თანხმობის არქიტექტურა
Drupal-ის სიძლიერეები და მისი თანხმობის რისკები ერთი და იმავე ადგილიდან მოდის. პლატფორმის სარედაქციო მოქნილობა, როლებზე დაფუძნებული წვდომა და სტრუქტურირებული კონტენტის მოდელი არის ზუსტად ის, რაც მას სამთავრობო პორტალების, სამუნივერსიტეტო საიტებისა და გლობალური საკორპორაციო ვებ-ქონების ნაგულისხმევ არჩევანად აქცევს — იგივე საიტები, რომელთა მმართვის შემოწმების ყველაზე მეტი ალბათობა არსებობს, რომლებსაც კამპანიების წლიური მუშაობის განმავლობაში დაგროვებული მესამე მხარის ტეგების ყველაზე მრავალფეროვანი ინვენტარი გააჩნიათ, და რომლებსაც კონტროლისთვის ყველაზე დიდი არასაარსებო cookie-ს ზედაპირი გააჩნიათ. ტიპური Drupal 10-ის საიტი, რომელიც ანალიტიკის სტეკს, მარკეტინგული ავტომატიზაციის პიქსელს, ვიდეოს ჩასმას, reCAPTCHA-ის მქონე webform-ს და სოციალური გაზიარების ვიჯეტს მართავს, ერთ გვერდის ჩატვირთვაში ათზე მეტ განსხვავებულ არასაარსებო შენახვის ოპერაციას შეიძლება ასრულებდეს, ხშირად მოდულების მეშვეობით, რომელთა კონფიგურაცია თავდაპირველ განმახორციელებელს აღარ ახსოვს.
ამ ოპერაციათაგან თითოეული ცალკე თანხმობის კარიბჭეს ეხება. ePrivacy-ს დირექტივის Article 5(3)-ის მიხედვით, EEA-ში, UK-ში და ნებისმიერ სამართლოდობრივ სფეროში, რომელმაც იგივე სტანდარტი შეითვისა, თითოეული არასაარსებო cookie ან ანალოგიური შენახვა-და-წვდომის ოპერაცია ითხოვს წინასწარ, თავისუფლად მიცემულ, კონკრეტულ, ინფორმირებულ და ცალსახა თანხმობას. GDPR-ის მიხედვით, ამ შენახვის ოპერაციების მიერ გენერირებული ქცევითი მონაცემები პერსონალური მონაცემების დამუშავებას წარმოადგენს, რადგან cookie-ს იდენტიფიკატორის, IP-მისამართისა და ქცევითი კვალის კომბინაცია საკმარისია ინდივიდის გამოსაყოფად. Drupal-ის საიტზე შესაბამისობის საკითხი ამდენად არ არის ბანერის დაყენება — ყველა პასუხისმგებელმა გუნდმა ეს უკვე გააკეთა — არამედ ბანერი ნამდვილად ხელს უშლის თუ არა ტეგების გაშვებას მომხმარებლის თანხმობამდე, და გადარჩება თუ არა თანხმობის გადაწყვეტილება Drupal-ის ქეშირების ფენებში.
მოდულების ლანდშაფტი: EU Cookie Compliance, Klaro და მომწოდებლის ინტეგრირებული ვარიანტები
EU Cookie Compliance მოდული — Drupal.org-ზე ამ სახელით შენარჩუნებული კონტრიბუცია მოდული — ისტორიული ნაგულისხმევია და ყველაზე ფართოდ გამოყენებული ვარიანტი. ის კონფიგურირებად ბანერს იყენებს, კატეგორიებს უჭერს მხარს, JavaScript-ის თანხმობის მდგომარეობას ავლენს საიტის თემის კოდის მისაბმელად, და თანხმობის ჩანაწერებს Drupal-ის მონაცემთა ბაზაში ინახავს. სიძლიერეები არის Drupal-ის ნებართვა-ს და როლების სისტემასთან ღრმა ინტეგრაცია, Drupal-ის თარგმნის ფენის მეშვეობით მრავალენოვანი მხარდაჭერა, და გვერდის აგების დონეზე Drupal-ის მიერ ვიზუალიზებული ტეგების კატეგორიის მიხედვით კარიბჭის შესაძლებლობა. სისუსტეები არის ის, რომ ბანერის UI ჩამოჩარჩება მარეგულირებლების მიერ ახლა მოსალოდნელ დიზაინის სტანდარტებს, ნაგულისხმევი კატეგორიის ეტიკეტები ბუნდოვანია, და მოდულის ურთიერთქმედება Drupal-ის ქეშირების ფენებთან პირდაპირ კონფიგურაციას ითხოვს.
Klaro Cookie & Consent Management მოდული უფრო თანამედროვე ვარიანტია, რომელიც Klaro-ს JavaScript-ის ბიბლიოთეკას — თანამედროვე ბანერის UI-ის და სერვისის მიხედვით დეტალური კონტროლების მქონე ღია კოდის თანხმობის მენეჯერს — აერთიანებს. სიძლიერეები არის UI-ის ხარისხი, კატეგორიის სახით კი არა სერვისის სახით დეტალიზება, და აქტიური upstream განვითარება. სისუსტეები არის ის, რომ მოდული EU Cookie Compliance-ზე თხელია, თემის განხორციელებაში მეტ ძალისხმევას ითხოვს, და თანხმობის მდგომარეობის მეტ ნაწილს კლიენტზე გადაადგილებს, სადაც ის Drupal-ის სერვერის მხარის ვიზუალიზაციასთან უნდა ჰარმონიზდეს.
მომწოდებლის ინტეგრირებული ვარიანტები — Cookiebot, OneTrust, Usercentrics და მსგავსი — შესაბამისია, როდესაც საიტი ორგანიზაციის დონეზე ამ CMP-ებიდან ერთ-ერთზე უკვე სტანდარტიზებული ქონების ნაწილია. ისინი ჩვეულებრივ UI-სა და ანგარიშვალდებულების კვალზე ყველაზე ძლიერი ვარიანტებია, მაგრამ ფასიანი მესამე მხარის დამოკიდებულებას შეიტანს და შეიძლება მოითხოვოს მონაცემთა დამუშავების ხელშეკრულება, რომელიც ცალკე შესყიდვის ლიანდაგზე გადის.
ქეშირების ხარვეზი, რომელიც Drupal-ის თანხმობის განხორციელებების უმეტესობას ანგრევს
ეს არის საკითხი, რომელიც სწორად კონფიგურირებულ Drupal-ის საიტებს ჩაძირავს: Internal Page Cache და Dynamic Page Cache, განზრახვის მიხედვით მუშაობენ და ვიზიტორს, რომელმაც ჯერ ბანერი ვერ ნახა, ქეშირებული გვერდის ვიზუალიზაციას გაუგზავნიან, ხოლო ქეშირებულ ვიზუალიზაციაში შეიძლება შევიდეს ის სკრიპტ-ტეგები ან გარე რესურსები, რომელთა კარიბჭე ბანერს უნდა ეყარა. გამოსწორება ქეშირების გათიშვა არ არის — ეს ანადგურებს მიზეზს, რის გამოც კომპანიების უმეტესობამ Drupal-ი აირჩია — არამედ თანხმობით კარიბჭიანი ტეგების ვიზუალიზება ქეშის ფენების მიერ პატივსაცემი გზის მეშვეობით.
Placeholder-ის შაბლონი
წარმოებაში მომუშავე შაბლონი არის ყოველი არასაარსებო ტეგის ქეშირებულ HTML-ში placeholder-ად ვიზუალიზება — ჩვეულებრივ კატეგორიის ატრიბუტის მქონე <script type="text/plain"> ტეგი, ან პერსონალური ელემენტი, რომელსაც თანხმობის მოდულის JavaScript კლიენტის მხარეს ააქტიურებს მხოლოდ შესაბამისი კარიბჭის გადართვის შემდეგ. Drupal-ის გვერდი თავად ქეშირებადია, რადგან placeholder ყოველი ვიზიტორისთვის ერთნაირია; გააქტიურების ლოგიკა თანხმობის მოდულის JavaScript-შია და ჰიდრატაციის დროს ბრაუზერში შენახულ ვიზიტორის მიხედვით თანხმობის მდგომარეობასთან ერთად მუშაობს. EU Cookie Compliance ამ შაბლონს თავისთავად უჭერს მხარს; Klaro-ს შემთხვევაში ეკვივალენტია upstream ბიბლიოთეკის მიერ მოწოდებული სერვისის მიხედვით სკრიპტ-ჩანაცვლების მექანიზმი.
ვიზუალიზება-ქეში და Varnish ფენები
Drupal-ის ვიზუალიზება-ქეში და ნებისმიერი upstream Varnish ან CDN ქეში კონფიგურირებული უნდა იყოს მხოლოდ მაშინ თანხმობის მდგომარეობის მიხედვით ცვალებადობისთვის, როდესაც თანხმობის მდგომარეობა ვიზუალიზებულ HTML-ს ცვლის — რაც placeholder-ის შაბლონთან ერთად არ ხდება. ბანერი თავად ცალკე ქეშირებად ბლოკად ვიზუალიზდება კონტექსტით, რომელიც „ბანერი საჭიროა“-ს „ბანერი საჭირო არ არის“-გან განასხვავებს, და გვერდის დანარჩენი ნაწილი თანხმობის მდგომარეობისგან დამოუკიდებლად იდენტურად ვიზუალიზდება. ეს არის ის არქიტექტურული არჩევანი, რომელიც Drupal-ის ქეშირების ფენებს consent-first განლაგებასთან თავსებადს ხდის. ალტერნატივა — გვერდის თანხმობის მდგომარეობის მიხედვით განსხვავებულად ვიზუალიზება და არჩევანის გამხდარ მომხმარებლებზე ქეშის გათიშვა — ის არის, რაც მიღების-შემდეგ-ნელი-გვერდის ქცევას გამოიმუშავებს, რომელიც მომხმარებლებს ბანერების უარყოფისკენ უბიძგებს.
ინტეგრაციის შაბლონები მოდული-მოდულის მიხედვით
Drupal-ის საიტზე ინტეგრაციის სამუშაო ძირითადად თანხმობის მდგომარეობის არასაარსებო cookie-ებს ან გარე რესურსებს გამომუშავებელ მოდულებთან დაკავშირებაზეა. შაბლონი კონტრიბუცია მოდულების ეკოსისტემის მასშტაბით მეორდება.
- Google Analytics module და Google Tag Manager module უნდა იყოს კონფიგურირებული მათი ტეგების თანხმობით კარიბჭიანი placeholder-ებად ვიზუალიზებისთვის, ანალიტიკის კარიბჭეზე დამაგრებული თანხმობის კატეგორიით. ორივე მოდული ავლენს hook-ს, რომელთანაც EU Cookie Compliance მოდული შეიძლება მიებმას.
- reCAPTCHA-ს მქონე Webform module ყველაზე გავრცელებული ნაზი გაჟონვაა: reCAPTCHA ჩატვირთვისას არასაარსებო cookie-ებს ადგენს მაშინაც კი, სანამ მომხმარებელი ფორმას გაუგზავნის. გამოსწორება არის reCAPTCHA-ს ბიბლიოთეკის შესაბამის ფუნქციურ ან მარკეტინგის კატეგორიას უკან კარიბჭიანობა, ან invisible-v3 ვარიანტის გამოყენება, რომელიც cookie-ის ჩაწერებს ფორმის გაგზავნამდე გადაავადებს.
- YouTube-ის, Vimeo-ს ან Brightcove-ის Media module ვიდეოს ჩასმები გაუმჯობესებულ კონფიდენციალურობის რეჟიმს უნდა იყენებდნენ, ან click-to-load placeholder-ში უნდა ყოფილიყვნენ შეკრულნი, რომელიც მომხმარებლის გააქტიურებამდე მესამე მხარის მოთხოვნას გადაავადებს. Lite YouTube Embed შაბლონი ეკვივალენტია, რომელიც Drupal-ის რამდენიმე თემამ მიიღო.
- ადგილობრივი მომწოდებლების სოციალური გაზიარების ვიჯეტები 2010-იანების შაბლონია, რომელიც სტატიკური გაზიარების ბმულების სასარგებლოდ უნდა გაეყოლოს, რომლებიც მესამე მხარის JavaScript-ს საერთოდ არ ჩატვირთავს. თუ მომწოდებლის ვიჯეტი დარჩენილი უნდა იყოს, ის მარკეტინგის კარიბჭეს უკანაა.
- Drupal Commerce და კალათასთან დაკავშირებული cookie-ები მკაცრად საჭიროა და თანხმობას არ ითხოვს, მაგრამ ლოიალობის პროგრამის იდენტიფიკატორები, რეკომენდაციების სამძრავ cookie-ები და ანალიტიკასთან დაკავშირებული კალათის ღონისძიებები შესაბამის კარიბჭეს ითხოვს.
ვალიდაცია, ანგარიშვალდებულების კვალი და მრავალენოვანი ასპექტი
Drupal-ის საიტზე ვალიდაციის ნაბიჯი ყველგან გამოსაყენებელი იგივე ოთხ-შემოწმება-ის თანმიმდევრობაა: ქმედებების გარეშე ვიზიტი ნულოვანი არასაარსებო cookie-ები უნდა გამოიმუშავოს, უარის ვიზიტი ამ მდგომარეობა უნდა შეინარჩუნოს, მიღების ვიზიტი მხოლოდ თანხმობული ტეგები უნდა გამოიმუშავოს, და გაუქმება ტეგის შემდგომი გაშვება დაუყოვნებლივ უნდა შეჩერდეს და შესაბამის cookie-ებს ვადა გაუსვლოს. Drupal-ზე კონკრეტულად, ეს ვალიდაცია გვერდის ქეშით თბილი — გაუვლელი არა — უნდა გაკეთდეს, რათა დადასტურდეს, რომ placeholder-ის შაბლონი სწორად მუშაობს რეალისტური ტრაფიკის პირობებში.
Drupal-ზე ანგარიშვალდებულების კვალი სარგებელს პლატფორმის სიძლიერეებიდან იღებს. EU Cookie Compliance კონსენსუსის ჩანაწერებს timestamps-ითა და კატეგორიის მდგომარეობით მონაცემთა ბაზაში ინახავს; Klaro კონფიგურირებადია Drupal-ის მხარის hook-ის მეშვეობით იგივე გასაკეთებლად. ნებისმიერი გზა სადავო თანხმობის ჟურნალს გამოიმუშავებს, რომლის მეშვეობით მარეგულირებლის მოთხოვნაზე პასუხი შეიძლება გაეცეს. მრავალენოვანი ასპექტიც მნიშვნელოვანია: Drupal-ის თარგმნის ფენა თანხმობის ბანერის ტექსტამდეც ვრცელდება, ამიტომ კონფიდენციალობის შეტყობინება და კატეგორიის ეტიკეტები საიტის მიერ მომსახურებული ყოველი ენისთვის უნდა ითარგმნოს, და თანხმობის ჟურნალი უნდა ჩაწეროს, თუ რომელი ენის ვერსია ნახა მომხმარებელმა. 2026 წლის სადამცავი Drupal-ის განლაგება არის ის, სადაც მოდულის არჩევანი, ქეშირების შაბლონი, მოდულის მიხედვით ინტეგრაციები და მრავალენოვანი ანგარიშვალდებულების კვალი ყველა ერთად იყო გათვალისწინებული — და სადაც Drupal-ი როგორც საფუძვლად არსებული პლატფორმის არჩევანი ქეშირების ვალდებულებიდან თანხმობის უპირატესობად გარდაიქმნა.