Вернуться в список

Модуль Первый линк: Cookie менеджер Про

Модуль Первый линк: Cookie менеджер Про

Продолжая тему проверки сайтов РКН на соответствие 152-ФЗ, представляем наш новый модуль Cookie менеджер Про.

Почти каждый сайт на 1С-Битрикс использует cookie: авторизацию, корзину, счётчики аналитики, рекламные пиксели. Растущие требования к прозрачности обработки данных (и не только европейский GDPR) делают согласие посетителя на обработку cookie не «экзотикой», а обязательной частью сайта. Мы подготовили подробный обзор нашего модуля «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. Установите модуль через Маркетплейс 1С-Битрикс: marketplace.1c-bitrix.ru/solutions/llink.cookiepro/;
  2. Очистите кеш (Настройки администратора);
  3. Перейдите в Настройки → Настройки продукта → Настройки модулей → Cookie менеджер Про;
  4. Включите баннер — он начнёт показываться на публичных страницах автоматически.

Баннер внедряется в страницу автоматически (обработчик 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

Работает ли модуль с Яндекс.Метрикой и GA4?

Да. Модуль задаёт 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:

Наша статья, разбирающая тонкости куки

Что проверяет РКН?

Проверка сайта на соответствие 152-ФЗ