Аудит 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)
- Кнопок социального обмена (загрузка скриптов из Facebook, Twitter, LinkedIn)
- Системы комментариев (cookie Gravatar)
- Функций безопасности (cookie модуля Protect)
- Использования CDN (cookie CDN WordPress.com)
Единственная установка 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 и является ли он собственным или сторонним.
Шаг 2: используйте специализированный сканер cookie
Ручная проверка выявляет cookie, устанавливаемые при загрузке страницы, но пропускает cookie, устанавливаемые при взаимодействиях (нажатие кнопок, отправка форм, прокрутка). Специализированные сканеры, такие как бесплатный сканер Cookiebot, сканер CookieYes или браузерные расширения вроде EditThisCookie, дают более полные результаты. Запускайте сканирование на нескольких страницах, а не только на главной.
Шаг 3: категоризируйте каждый cookie
Сгруппируйте обнаруженные cookie по стандартным категориям:
- Строго необходимые: сессионные cookie, аутентификация, безопасность, функциональность корзины. Они не требуют согласия.
- Функциональные: языковые предпочтения, настройка интерфейса. Согласие технически требуется, но они представляют низкий риск.
- Аналитика: Google Analytics, статистика WordPress.com, инструменты тепловых карт. Согласие требуется.
- Маркетинг/реклама: 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» в разделе «Плагины > Добавить новый», установите и активируйте. Ручная загрузка файлов не требуется.
- Подключите ваш сайт: введите ваш идентификатор сайта 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, о которых вы знаете; реальность почти всегда сложнее, чем ожидается.