Модуль Первый линк: Cookie менеджер Про
Продолжая тему проверки сайтов РКН на соответствие 152-ФЗ, представляем наш новый модуль Cookie менеджер Про.
Почти каждый сайт на 1С-Битрикс использует cookie: авторизацию, корзину, счётчики аналитики, рекламные пиксели. Растущие требования к прозрачности обработки данных (и не только европейский GDPR) делают согласие посетителя на обработку cookie не «экзотикой», а обязательной частью сайта. Мы подготовили подробный обзор нашего модуля «Cookie менеджер Про» — что умеет, как установить и настроить, и какие задачи он закрывает «из коробки».
Если вы только разбираетесь, зачем это нужно, — сначала прочитайте нашу статью «Что такое cookie и зачем они нужны».
llink.cookiepro, версия 1.0.0) — готовый consent-менеджер для «1С-Битрикс: Управление сайтом»: категории согласия, автоматическая блокировка трекеров до согласия, логирование решений посетителей и повторное открытие панели настроек. Модуль уже прошёл модерацию в Маркетплейс и доступен по адресу: marketplace.1c-bitrix.ru/solutions/llink.cookiepro/.Что умеет модуль
Модуль решает три задачи, с которыми сталкивается практически каждый владелец сайта на Битрикс:
- Спросить разрешение — показать посетителю аккуратный баннер с понятным выбором;
- Не загружать трекеры до согласия — чтобы ничего не «капало» на пользователя до его решения;
- Доказать согласие — вести журнал решений (кто, когда, что выбрал) прямо в БД сайта.
Основные возможности
- Адаптивный баннер в трёх позициях: слева внизу, по центру внизу (на всю ширину), справа внизу;
- Кнопки «Принять всё», «Только необходимые», «Настроить», «Отменить всё» — каждую можно отключить в админке;
- Категории cookie: Необходимые (нельзя отключить), Аналитические (Яндекс Метрика, GA4), Маркетинговые (GTM, VK, Meta/Facebook, TikTok);
- Consent Mode для GTM/GA4 — пока согласие не дано, теги работают в режиме «denied»;
- Самоблокировка трекеров по маскам URL — загрузка отложенных скриптов перехватывается до согласия;
- Логирование согласия в БД — статус, категории, IP, User-Agent, дата, ID пользователя;
- Настраиваемый срок действия согласия (по умолчанию 365 дней);
- Темы панели: как в системе / светлая / тёмная + произвольные цвета баннера;
- Lazy-load сценариев по категориям — скрипт загружается только после согласия на нужную категорию;
- Повторное открытие настроек — ссылка «Настроить cookie» в подвале работает даже после того, как согласие уже дано.
Как работает согласие
Решение посетителя хранится в cookie cookie_consent в виде JSON. Например:
cookie_consent = 1:{"necessary":true,"analytics":false,"marketing":false}
- Необходимые — всегда включены (авторизация, корзина, защита от CSRF), отключить нельзя;
- Аналитические — Яндекс.Метрика, Google Analytics;
- Маркетинговые — Google Tag Manager, ВКонтакте, Meta (Facebook/Instagram), TikTok.
Посетитель может согласиться со всем сразу, принять только необходимые, отказаться полностью или настроить каждую категорию отдельно в модальной панели. При изменении выбора запись в журнале обновляется, а срок действия согласия отсчитывается заново.
Установка и настройка
Модуль устанавливается стандартным способом для компонентов Маркетплейс — из административного раздела, без правки файлов сайта:
- Установите модуль через Маркетплейс 1С-Битрикс: marketplace.1c-bitrix.ru/solutions/llink.cookiepro/;
- Очистите кеш (Настройки администратора);
- Перейдите в Настройки → Настройки продукта → Настройки модулей → Cookie менеджер Про;
- Включите баннер — он начнёт показываться на публичных страницах автоматически.
Баннер внедряется в страницу автоматически (обработчик OnEndBufferContent), поэтому правки шаблона и header.php не нужны. Всё управляется из админки.
Ключевые настройки
| Настройка | Что делает |
|---|---|
| Баннер активен | Включает/выключает вывод баннера на сайте |
| URL страницы с политикой cookie | Ссылка «Подробнее» в тексте баннера |
| Позиция баннера | Слева внизу / по центру внизу / справа внизу |
| Показывать кнопки в баннере | Отдельные галочки для кнопок «Принять всё», «Только необходимые», «Настроить», «Отменить всё» |
| Цвета баннера | Фон и текст — своя палитра или тема (светлая/тёмная/как в системе) |
| Срок действия согласия, дней | Через сколько дней посетитель снова увидит баннер |
| Логировать согласие посетителей | Запись решений в таблицу журнала |
| Маски URL трекеров | Список доменов/масок для самоблокировки (метрика, аналитика, реклама) |
Использование в шаблоне
Баннер работает без вмешательства в код, но для продвинутых сценариев предусмотрены удобные хелперы.
Серверная проверка согласия
Подключайте трекеры только после согласия на нужную категорию:
<?php if (\llink_cookiepro::hasConsent('analytics')): ?>
<!-- Яндекс.Метрика / Google Analytics -->
<?php endif; ?>
<?php if (\llink_cookiepro::hasConsent('marketing')): ?>
<!-- Google Tag Manager / VK / Meta / TikTok -->
<?php endif; ?>
Повторное открытие панели настроек
Разместите в подвале ссылку «Настроить cookie» — она снова откроет панель, даже после данного согласия:
<?= \llink_cookiepro::settingsLink() ?>
Также панель открывается по клику на любой элемент с атрибутом data-cookie-settings-open или через JavaScript: window.ConsentManager.openSettings().
Ленивая загрузка сценариев по категориям
<script data-cookie-consent="analytics" data-cookie-src="/analytics.js"></script>
Скрипт загрузится только после согласия на «Аналитические». Программный вариант:
window.ConsentManager.loadWhenAllowed('/metrika.js', 'analytics');
При этом модуль сам задаёт consent mode для GTM/GA4 по умолчанию как denied, поэтому дополнительный код согласия в шаблоне не требуется.
Безопасность и надёжность
Модуль разработан с учётом требований Маркетплейс и прошёл модерацию:
- Защита от переполнения журнала — лимит записи по IP и User-Agent, общий лимит на сайт, автоматическая очистка записей старше 180 дней;
- Валидация всех настроек админки — цвета, списки и длины значений проверяются на сервере при сохранении;
- Безопасный вывод настроек в
<script>— JSON сериализуется с экранированием HTML-символов (защита от XSS); - Защита форм админки — все изменения настроек защищены анти-CSRF токеном;
- Логирование до того, как запись попала в БД — статус записи строго ограничен (accepted/partial/declined), категории фильтруются белым списком.
FAQ
Да. Модуль задаёт consent mode для GTM/GA4 (по умолчанию «denied»), а Яндекс.Метрика блокируется по маскам URL до согласия на категорию «Аналитические».
Нет. Установка выполняется из административного раздела Битрикс через Маркетплейс. Баннер включается одной галочкой в настройках модуля. Шаблон трогать не обязательно.
Посетитель видит компактный баннер и модальную панель с тремя категориями. Решение хранится в cookie cookie_consent, а при включённом логировании — ещё и в отдельной таблице БД.
Да, в настройках есть отдельные галочки для каждой кнопки баннера. Если выключить все — останутся текст, ссылка на политику cookie и кнопка закрытия.
Дизайн адаптивный: на узких экранах баннер занимает всю ширину, кнопки выстраиваются в две колонки и не обрезаются, в том числе в позиции «по центру внизу».
PHP 8.2+ и «1С-Битрикс: Управление сайтом» (ядро 20.0+).
Итог
«Cookie менеджер Про» закрывает весь цикл работы с согласием на cookie на сайте «1С-Битрикс»: показ баннера, настройка категорий, блокировка трекеров до согласия, consent mode, журнал решений и повторное открытие настроек. Модуль установлен через Маркетплейс, не требует правки кода, а безопасность его реализации проверена модерацией.
Скачать и установить модуль: marketplace.1c-bitrix.ru/solutions/llink.cookiepro/.
Есть вопросы по вашей конфигурации сайта — напишите нам в MAX или закажите на KWork, поможем настроить согласие под ваши счётчики.
Читайте подробнее про cookie: