152-ФЗ на WordPress: баннер cookies, галочки в формах и плагины ускорения
На WordPress проблема обычно не в том, что владелец ничего не сделал. Часто стоит плагин с баннером cookies, в формах есть какая-то галочка. А Метрика всё равно стартует раньше, чем посетитель что-то нажал. Разберёмся, откуда это берётся.
Почему баннер есть, а счётчики всё равно работают
Причин обычно три.
Первая: баннер только показывает сообщение. Многие плагины не умеют останавливать чужой код. Метрика, вставленная темой, другим плагином или через Google Tag Manager, запускается сама по себе.
Вторая: код стоит не там. Если скрипт, который должен блокировать счётчики, оказался в <head> ниже Метрики, он опаздывает.
Третья, самая коварная: плагины ускорения. WP Rocket, Autoptimize, LiteSpeed Cache и им подобные переставляют скрипты, склеивают их в один файл или откладывают загрузку. Защитный скрипт после такой «оптимизации» может оказаться в самом конце страницы.
Как поставить тег 152on
Самый надёжный способ — через плагин для вставки кода. Правка файлов темы тоже работает, но после обновления темы вставка может пропасть.
- Установите плагин WPCode или Code Snippets (Плагины → Добавить новый).
- Создайте PHP-фрагмент с кодом из кабинета 152on. Он ставит тег самым первым в
<head>, раньше скриптов темы и других плагинов. - Включите фрагмент и откройте сайт в режиме инкогнито: должен появиться баннер.
Если плагины ставить не хочется, тот же код можно добавить в конец functions.php дочерней темы. Строка, вставленная в файлы шаблона в блочных темах, в <head> не попадёт — у них нет header.php.
Сейчас мы делаем свой плагин для WordPress: вставил ключ сайта — и всё, исключения для плагинов ускорения он пропишет сам.
Что сделать с плагинами ускорения
Добавьте адрес 152on.ru в исключения везде, где плагин трогает JavaScript:
- в WP Rocket — «Отложить выполнение JavaScript» и «Объединить JavaScript»;
- в Autoptimize — исключения в разделе оптимизации JavaScript;
- в LiteSpeed Cache — исключения для объединения и отложенной загрузки JS;
- если сайт за Cloudflare с включённым Rocket Loader, его тоже нужно научить не трогать наш скрипт.
После этого очистите кэш плагина. Иначе посетители ещё какое-то время будут получать старые сохранённые страницы.
Проверить, что всё получилось, проще всего в кабинете 152on: тег сам сообщает, стоит ли он первым, и если нет — показывает, чей скрипт оказался раньше.
Формы: Contact Form 7, WPForms, Elementor
В каждом конструкторе форм галочку согласия можно добавить руками. Беда в том, что форм на сайте обычно больше, чем помнит владелец: обратный звонок во всплывающем окне, подписка в подвале, отзыв о товаре, оформление заказа в WooCommerce.
Тег 152on находит все формы с телефоном или e-mail и сам добавляет в них пустую галочку со ссылкой на текст согласия. Если своя галочка уже есть, вторую не ставит. Какой она должна быть по закону, мы разбирали в статье о согласии с 1 сентября 2025 года.
Если какой-то форме галочка не нужна (поиск по сайту, вход в личный кабинет), добавьте ей или блоку вокруг неё атрибут data-152on-skip.
Видео и карты
Встроенные YouTube, RUTUBE, Яндекс Карты и другие окна тоже собирают данные. Тег заменяет их заглушкой «Разрешить и показать», пока посетитель не согласится. Чтобы до согласия к этим сервисам не ушло вообще ни одного запроса, в коде вставки замените src= на data-152on-src=.
Начать стоит с проверки: она покажет, что на вашем сайте запускается до согласия, и какой плагин или тема это делает.
Статья — общий обзор требований закона, а не юридическая консультация. Если у вас особый случай, обратитесь к юристу.