Opis
Wtyczka WordPress pozwala podłączyć domenę, edytować banner i włączyć Consent Mode bez ręcznej edycji motywu.
Wtyczka jest w oficjalnym katalogu WordPress.org
CookiePilot instalujesz tak samo jak każdą inną wtyczkę WordPress: w kokpicie przejdź do Wtyczki → Dodaj nową, wyszukaj „CookiePilot” i kliknij Zainstaluj, a potem Włącz. Wtyczka jest opublikowana w oficjalnym katalogu wtyczek WordPress.org pod slugiem cookiepilot, więc aktualizacje dostajesz standardowym mechanizmem aktualizacji WordPressa — bez ręcznego wgrywania plików.
Jeżeli wolisz instalację ręczną (np. na stagingu bez dostępu do internetu), pobierz paczkę ZIP z WordPress.org i wgraj ją przez Wtyczki → Dodaj nową → Wyślij wtyczkę na serwer. Wymagania są niskie: WordPress 6.0 lub nowszy i PHP 8.0+, licencja GPLv2.
Konto CookiePilot założysz bez wychodzenia z wp-admin — wtyczka ma wbudowaną rejestrację i logowanie, a darmowy plan (1 domena, 10 000 odsłon miesięcznie) nie wymaga karty płatniczej. Po zalogowaniu klikasz „Add this domain”, a wtyczka sama tworzy domenę w CookiePilot i zapisuje klucz API w ustawieniach WordPressa.
Jak wtyczka ładuje CMP — kolejność ma znaczenie
Wtyczka wstrzykuje CookiePilot w dwóch krokach, dokładnie w kolejności wymaganej przez dokumentację Google Consent Mode. Najpierw inline stub na hooku wp_head z priorytetem 0 — czyli zanim załaduje się GTM, GA4 czy jakakolwiek inna wtyczka śledząca. Stub synchronicznie ustawia wszystkie sygnały Consent Mode na denied (z wyjątkiem security_storage) z wait_for_update: 500, definiuje window.gtag i wypycha default consent do dataLayer.
Dla powracającego użytkownika stub odczytuje cookie cookiepilot_consent i od razu wykonuje consent update — stan zgody jest poprawny już przy pierwszym renderze strony, bez „migotania” między denied a granted po przeładowaniu.
Drugim krokiem jest właściwy bundle cookiepilot.js ładowany asynchronicznie z CDN przez standardowy mechanizm wp_enqueue_scripts. Konfiguracja idzie w atrybutach data-*: data-cpkey (klucz domeny), data-locale (język strony) i data-page-type (kontekst WooCommerce). Dla nietypowych wdrożeń są filtry cookiepilot_should_inject i cookiepilot_print_gcm_stub — celowo pomyślane jako wyjścia awaryjne, a nie sposób na wyłączanie banera na podstronach.
Edytor banera w wp-admin: 7 zakładek i 13 języków
Panel wtyczki to aplikacja React osadzona w wp-admin, z edytorem banera podzielonym na zakładki: szablony, ustawienia ogólne, teksty, kolory, styl, efekty i zaawansowane. Zmieniasz pozycję i układ banera (pasek, karta, modal), kolory z podglądem na żywo, typografię, zaokrąglenia, przyciski, a nawet efekty typu glassmorphism czy animacje wejścia.
Teksty banera edytujesz w 13 językach (m.in. polski, angielski, niemiecki, francuski), a wtyczka sama wykrywa język strony: na instalacjach z WPML lub Polylang pobiera bieżący język przez filtr wpml_current_language, a na stronach jednojęzycznych używa determine_locale(). Wykryty język trafia do banera jako data-locale — odwiedzający widzi banner w języku strony, nie w domyślnym.
W zakładce zaawansowanej konfigurujesz domyślne stany Google Consent Mode (interfejs podpowiada, że RODO wymaga denied), tryb dostępności WCAG 2.1 AA oraz cookie zgody (nazwa i czas życia, domyślnie 365 dni). Interfejs panelu jest w pełni przetłumaczalny przez standardowe mechanizmy i18n WordPressa.
Tryb agencyjny: jeden panel dla stron klientów
Agencje prowadzące wiele stron nie muszą zakładać konta na każdej z nich. W panelu CookiePilot generujesz jednorazowy token instalacyjny (format cpat_ + 32 znaki), a klient wkleja go we wtyczce — domena automatycznie podpina się do konta agencji.
Od tego momentu agencja zarządza banerem klienta ze swojego panelu, a wtyczka na stronie klienta komunikuje się z API kluczem domeny, bez współdzielenia loginów. Na wyższym planie dostępny jest white-label.
Co jest necessary, a co musi czekać na zgodę
WordPress sam w sobie używa cookies technicznych i preferencyjnych, np. sesji zalogowanego użytkownika, wp-settings-* albo wp_lang. CookiePilot rozróżnia te elementy od trackerów marketingowych i analitycznych.
Najważniejszy test wdrożenia WordPress to czysta sesja niezalogowanego użytkownika. Admin cookies mogą zakłócić wynik, dlatego frontend trzeba sprawdzać bez panelu WP, bez wcześniejszej zgody i najlepiej z nowym profilem przeglądarki.
Cache, awaria API i dowody zgody
CookiePilot jest cache-friendly z natury: bundle CMP to statyczny plik z CDN, a cała konfiguracja idzie w atrybutach data-* — w HTML-u nie ma nic generowanego per żądanie. Dzięki temu wtyczka działa z WP Rocket, W3 Total Cache, LiteSpeed Cache i innymi wtyczkami cache bez dodatkowej konfiguracji, a strona z pełnym page cache dalej pokazuje poprawny banner.
Konfiguracja banera jest dodatkowo cache'owana w przeglądarce odwiedzającego, więc chwilowa niedostępność API nie wyłącza banera. Inline stub z denied-by-default jest częścią HTML-a, więc nawet strona serwowana w całości z cache zaczyna od bezpiecznych ustawień zgody.
Dowody zgody (kto, kiedy, na co i w jaki sposób wyraził zgodę) oraz historia wersji banera są przechowywane po stronie CookiePilot przez wymagane 5–6 lat, z eksportem do CSV, PDF i JSON — to dokumentacja, o którą może poprosić UODO przy kontroli zgodności z RODO i art. 399 PKE.
Kroki wdrożenia
- 1Zainstaluj wtyczkę CookiePilot z oficjalnego katalogu WordPress.org (Wtyczki → Dodaj nową → wyszukaj „CookiePilot”) i ją aktywuj.
- 2Zaloguj się lub załóż konto w panelu wtyczki i kliknij „Add this domain” — klucz domeny zapisze się automatycznie.
- 3Włącz Consent Mode v2 i zapisz konfigurację.
- 4Otwórz frontend w czystej sesji i sprawdź banner przed zgodą.
Checklista testowa
- window.CookiePilot jest dostępne na frontendzie.
- Przed zgodą nie ma _ga, _fbp, _gcl ani podobnych cookies.
- Reject zachowuje stronę funkcjonalną.
- Accept wysyła consent update do dataLayer.
FAQ
Czy to jest porada prawna?
Nie. To techniczny przewodnik wdrożeniowy. Przy nietypowym modelu danych warto skonsultować konfigurację z prawnikiem lub inspektorem ochrony danych.
Czy CookiePilot blokuje wszystkie skrypty automatycznie?
CookiePilot ma autoblocking i Consent Mode, ale twardo wklejone trackery uruchomione przed CMP trzeba przenieść za stub albo do GTM Consent Initialization.