Аудит cookie у WordPress: як теми та плагіни наповнюють ваш сайт трекерами
Прихована проблема cookie у WordPress
Більшість власників сайтів на WordPress не усвідомлюють, скільки cookie встановлює їхній сайт. Нова інсталяція WordPress з популярною темою та кількома поширеними плагінами легко може встановити від 15 до 30 cookie на різних доменах, багато з яких — ще до того, як відвідувач узагалі матиме можливість надати згоду. Це не результат навмисного відстеження — це сукупний ефект тем і плагінів, які завантажують зовнішні ресурси, що приносять із собою власні cookie.
Розуміння того, звідки беруться ці cookie, що вони роблять і як їх контролювати, є критично важливим для будь-якого сайту на WordPress, який має відповідати GDPR, ePrivacy або подібним регуляціям. Цей посібник покроково проводить через процес аудиту.
Чому сайти на WordPress накопичують так багато cookie
Плагінна архітектура WordPress є водночас його найбільшою перевагою та найбільшим ризиком для конфіденційності. Кожен плагін працює напівнезалежно, і більшість розробників плагінів зосереджуються на функціональності, а не на відповідності вимогам щодо cookie. Ось основні джерела cookie на типовому сайті WordPress:
Теми та Google Fonts
Багато тем WordPress завантажують Google Fonts безпосередньо з fonts.googleapis.com. Коли браузер відвідувача запитує ці шрифти, Google може встановлювати cookie та збирати IP-адресу відвідувача, інформацію про браузер і сторінку, з якої було здійснено перехід. У 2022 році німецький суд постановив, що завантаження Google Fonts із серверів Google без згоди порушує GDPR, що призвело до штрафу в 100 євро за кожного постраждалого відвідувача. Рішенням є локальний хостинг шрифтів, але більшість стандартних налаштувань тем усе ще вказують на сервери Google.
Конструктори сторінок та аналітика
Elementor, найпопулярніший конструктор сторінок для WordPress, завантажує зовнішні ресурси, включно зі шрифтами, і може встановлювати cookie для відстеження використання. Деякі віджети Elementor вбудовують сторонній контент (відео YouTube, карти Google Maps), які встановлюють власні cookie. Навіть безкоштовна версія Elementor може надс��лати анонімізовані дані про використання, якщо це явно не вимкнено в налаштуваннях.
SEO-плагіни
Yoast SEO і Rank Math самі по собі встановлюють небагато cookie, але часто інтегруються з Google Search Console і заохочують додавати коди відстеження Google Analytics. Аналітичні скрипти, впровадженню яких вони сприяють, є основним джерелом cookie. Преміум-версія Yoast також взаємодіє із серверами Yoast для SEO-аналізу, що може передбачати використання cookie.
Jetpack і сервіси WordPress.com
Jetpack є одним із найактивніших встановлювачів cookie в екосистемі WordPress. Залежно від того, які модулі активні, Jetpack може встановлювати cookie для:
- Статистики сайту (WordPress.com stats)
- Кнопок поширення в соцмережах (завантаження скриптів із Facebook, Twitter, LinkedIn)
- Системи коментарів (cookie Gravatar)
- Функцій безпеки (cookie модуля Protect)
- Використання CDN (cookie WordPress.com CDN)
Одна інсталяція Jetpack із типовими налаштуваннями може бути відповідальною за 8–12 cookie з різних доменів.
WooCommerce та електронна комерція
WooCommerce встановлює кілька cookie, які вважаються суворо необхідними для роботи інтернет-магазину:
- woocommerce_cart_hash: Допомагає WooCommerce визначати, коли змінюється вміст кошика.
- woocommerce_items_in_cart: Відстежує, чи є товари в кошику.
- wp_woocommerce_session_*: Містить унікальний код для сесії кожного клієнта.
Хоча ці cookie зазвичай звільняються від вимог щодо отримання згоди як суворо необхідні, розширення WooCommerce для обробки платежів, відновлення покинутих кошиків і маркетингової автоматизації додають багато інших cookie, які вже потребують згоди.
Контактні форми та reCAPTCHA
Плагіни контактних форм, такі як Contact Form 7, WPForms і Gravity Forms, часто використовують Google reCAPTCHA для захисту від спаму. reCAPTCHA v2 і v3 встановлюють кілька cookie, включно з _GRECAPTCHA, і завантажують скрипти з google.com, які можуть встановлювати додаткові cookie для відстеження. Це означає, що навіть проста сторінка з контактною формою може запускати cookie, пов’язані з рекламою.
Плагіни кешування
Плагіни кешування, такі як WP Super Cache, W3 Total Cache і WP Rocket, встановлюють власні cookie для керування поведінкою кешу. Зазвичай це функціональні cookie (наприклад, щоб обходити кеш для авторизованих користувачів), але їх усе о��но потрібно задокументувати у вашій політиці щодо cookie.
Як провести аудит cookie на вашому сайті WordPress
Ретельний аудит cookie передбачає сканування сайту з точки зору відвідувача. Ось як це зробити:
Крок 1: Використайте інструменти розробника в браузері
Відкрийте свій сайт у Chrome, перейдіть до DevTools > Application > Cookies і перегляньте всі cookie, встановлені для вашого домену та сторонніх доменів. Зробіть це в режимі інкогніто, щоб змоделювати першого відвідувача. Запишіть назву кожного cookie, домен, строк дії та те, чи є він власним (first-party), чи стороннім (third-party).
Крок 2: Використайте спеціалізований сканер cookie
Ручна перевірка виявляє cookie, які встановлюються під час завантаження сторінки, але пропускає ті, що з’являються внаслідок взаємодії (натискання кнопок, надсилання форм, прокручування). Спеціалізовані сканери, такі як безкоштовний сканер Cookiebot, сканер CookieYes або розширення браузера на кшталт EditThisCookie, надають більш повні результати. Запускайте сканування на кількох сторінках, а не лише на головній.
Крок 3: Категоризуйте кожен cookie
Згрупуйте виявлені cookie за стандартними категоріями:
- Суворо необхідні (Strictly Necessary): Сесійні cookie, автентифікація, безпека, функціональність кошика. Не потребують згоди.
- Функціональні (Functional): Мовні налаштування, персоналізація інтерфейсу. Формально потребують згоди, але мають низький рівень ризику.
- Аналітичні (Analytics): Google Analytics, WordPress.com stats, інструменти теплових карт. Потребують згоди.
- Маркетингові/рекламні (Marketing/Advertising): Google Ads, Facebook Pixel, cookie ремаркети��гу. Потребують згоди й мають найвищий пріоритет для блокування.
Крок 4: Зіставте cookie з їхніми джерелами
Для кожного cookie визначте, яка тема або який плагін за нього відповідає. Тут WordPress ускладнює завдання — одна сторінка може завантажувати скрипти з 5 різних плагінів, кожен із яких встановлює власні cookie. Тимчасово деактивуйте плагіни по одному, щоб з’ясувати, який плагін встановлює які cookie.
Поширені джерела cookie та способи їх вирішення
Нижче наведено короткий довідник щодо найпоширеніших джерел cookie у WordPress і способів роботи з ними:
- Google Fonts: Перейдіть на локально розміщені шрифти. Плагіни на кшталт OMGF або налаштування вашої теми можуть автоматизувати цей процес.
- Google Analytics: Має бути заблокований до моменту надання згоди. Це завдання виконує ваш CMP.
- Вбудовані відео YouTube: Використовуйте домен youtube-nocookie.com замість youtube.com. Це запобігає встановленню більшості cookie для відстеження.
- Google Maps: Завантажуйте лише після отримання згоди або використовуйте статичне зображення карти як заповнювач.
- Facebook Pixel: Має бути заблокований до отримання маркетингової згоди.
- reCAPTCHA: Розгляньте альтернативи, такі як hCaptcha (більш орієнтована на конфіденційність) або honeypot-техніки, які не потребують зовнішніх скриптів.
Налаштування плагіна FlexyConsent для WordPress для повної відповідності
Коли ви провели аудит cookie й розумієте, що потрібно контролювати, впровадження FlexyConsent у WordPress стає простим.
Плагін FlexyConsent для WordPress інтегрується безпосередньо в адмін-панель WordPress, забезпечуючи рідний досвід конфігурації:
- Встановіть із каталогу плагінів: Знайдіть «FlexyConsent» у розділі Plugins > Add New, встановіть і активуйте. Жодних ручних завантажень файлів не потрібно.
- Під’єднайте свій сайт: Введіть ідентифікатор сайту FlexyConsent у налаштуваннях плагіна. Плаг��н автоматично вставить скрипт згоди в правильне місце — перед будь-якими іншими сторонніми скриптами.
- Налаштуйте категорії cookie: Зіставте результати вашого аудиту cookie з категоріями згоди FlexyConsent. Плагін надає для цього візуальний інтерфейс прямо в адмін-панелі WordPress.
- Налаштуйте блокування скриптів: FlexyConsent автоматично керує тегами Google через Consent Mode V2. Для інших скриптів (Facebook Pixel, власне відстеження) плагін надає правила блокування скриптів, які запобігають їх виконанню до надання згоди за відповідною категорією.
- Ретельно протестуйте: Використайте вікно в режимі інкогніто, щоб переконатися, що неважливі cookie блокуються до надання згоди та що вся функціональність коректно працює після її надання.
Як сертифікований Google CMP із підтримкою IAB TCF 2.3, FlexyConsent автоматично обробляє найскладніші аспекти відповідності cookie у WordPress. Сигнали Consent Mode V2 надсилаються до сервісів Google без додаткової конфігурації тегів, а геотаргетинг гарантує, що відвідувачі з різних регіонів бачать відповідний сценарій отримання згоди.
Головний висновок: Гнучкість WordPress має ціну з точки зору конфіденційності — кожна тема та кожен плагін можуть додавати cookie, які потребують згоди. Систематичний аудит, а потім коректне впровадження CMP — єдиний надійний шлях до відповідності вимогам. Не припускайте, що ваш сайт встановлює лише ті cookie, про які ви знаєте; на практиці все майже завжди значно складніше, ніж здається.