Баннер согласия на cookie для сайта на 1С-Битрикс
Как подключить баннер согласия на cookie на 1С-Битрикс строкой в шаблоне: куда вставить, почему важен порядок относительно ShowHead, какие cookie ставит сам Битрикс и что делать при истёкшей лицензии.
После установки счётчики на сайте 1С-Битрикс не запустятся, пока посетитель не нажмёт «Принять», а каждое его решение попадёт в журнал.
Одна строка в header.php выше ShowHead, затем сброс кэша. Если шаблонов на сайте несколько — строку нужно добавить в каждый используемый.
header.php шаблона сайта
<head>
<!-- LoveCookie -->
<script src="https://app.lovecookie.ru/embed-script/SITE_ID.js"></script>
<?$APPLICATION->ShowHead();?>Строка обязана стоять выше ShowHead. Если поставить ниже, баннер появится, но Метрика успеет отработать до согласия — и проверка это покажет.
async или defer. С ними загрузчик может стартовать позже счётчиков, и блокировка не сработает.- Откройте header.php шаблона
В админке: Настройки → Настройки продукта → Сайты → Шаблоны сайтов, выберите используемый шаблон и откройте его на редактирование. Шаблонов на сайте может быть несколько — мобильный, печатный, отдельные разделы или домены при мультисайте. Строку нужно добавить в каждый используемый.
Настройки→Настройки продукта→Сайты→Шаблоны сайтовЧерез FTP или репозиторий:
/bitrix/templates/{шаблон}/header.php - Вставьте строку сразу после <head>
Поставьте строку выше вызова $APPLICATION->ShowHead() — так, как показано в примере слева. Именно порядок, а не сам факт вставки, определяет, успеет ли счётчик отработать до согласия. Сохраните файл.
- Сбросьте кэш
Настройки → Настройки продукта → Автокеширование → Очистить файлы кеша. Если на сайте включён Композит, сбросьте отдельно и кэш композитных страниц: иначе часть посетителей продолжит получать старую страницу без загрузчика.
- Проверьте установку
Мы откроем сайт и посмотрим, найден ли загрузчик, где он стоит и какие счётчики срабатывают до согласия.
Подключение требует доступа к файлам шаблона сайта. Это делается один раз и занимает у разработчика несколько минут — но лезть в шаблон самому не нужно.
Скопируйте письмо ниже и отправьте тому, кто ведёт ваш сайт: студии, подрядчику или системному администратору. В нём есть всё, что ему потребуется.
Нужно подключить баннер согласия на cookie по 152-ФЗ.
Установка — одна строка в шаблоне сайта. Инструкция целиком:
https://lovecookie.ru/bitrix/
Строка:
<!-- LoveCookie -->
<script src="https://app.lovecookie.ru/embed-script/SITE_ID.js"></script>
Куда: /bitrix/templates/{шаблон}/header.php, сразу после открывающего <head>
и обязательно ВЫШЕ вызова $APPLICATION->ShowHead(). Если поставить ниже,
баннер появится, но счётчики успеют отработать до согласия.
Если шаблонов на сайте несколько (мобильный, печатный, отдельные разделы) —
строку нужно добавить в каждый используемый.
После правки сбросить кэш: Настройки → Настройки продукта → Автокеширование →
Очистить файлы кеша. Если включён Композит — сбросить и кэш композитных страниц.
Проверить результат можно там же по ссылке, кнопкой «Проверить установку».
Способ работает на любой редакции 1С-Битрикс, включая копию с неактивной лицензией.
При мультисайте шаблон у каждого сайта свой — строку нужно добавить в header.php каждого.
Если правку делает подрядчик, попросите его не добавлять к тегу async или defer.
Корзина, авторизация и отправка форм используют технические cookie, которые загрузчик не трогает.
Какие cookie ставит сам Битрикс
Проверено на десяти клиентских сайтах на Битриксе. Все эти cookie ставит сервер, а не браузерный скрипт: загрузчик LoveCookie их не создаёт и не удаляет. Обязательные отключать нельзя — без них ломается корзина и авторизация.
| Cookie | Что делает | Кто ставит | Основание |
|---|---|---|---|
PHPSESSID | сессия PHP — корзина, авторизация, отправка форм | сервер, ядро Битрикса | обязательная |
BITRIX_SM_SALE_UID | привязка корзины к посетителю в интернет-магазине | сервер, модуль «Интернет-магазин» | обязательная |
BX_USER_ID | идентификатор авторизованного пользователя | сервер, модуль «Главный» | обязательная |
BITRIX_CONVERSION_CONTEXT_s1 | источник перехода для отчётов по конверсиям внутри Битрикса | сервер, модуль «Конверсии» | по согласию |
BITRIX_SM_GUEST_ID | идентификатор посетителя для модуля веб-аналитики | сервер, модуль «Веб-аналитика» | по согласию |
BITRIX_SM_LAST_VISIT | время предыдущего визита для той же статистики | сервер, модуль «Веб-аналитика» | по согласию |
Cookie из модулей «Конверсии» и «Веб-аналитика» ставятся сервером до того, как браузер выполнит хоть один скрипт, поэтому загрузчик на них не влияет. Если они вам не нужны — соответствующие модули отключаются в настройках Битрикса. Из десяти проверенных сайтов BITRIX_CONVERSION_CONTEXT встретилась на восьми, cookie веб-аналитики — на одном.
Если лицензия не продлена
Решения из каталога Маркетплейс устанавливаются только на копии продукта с активным коммерческим статусом технической поддержки. Если лицензия не продлена, установить решение из каталога не получится.
Подключение строкой в шаблоне от статуса лицензии не зависит и работает на любой редакции, включая копию с истёкшей поддержкой.
Обновлять сам Битрикс для этого не требуется: строка ссылается на внешний файл, вся логика остаётся на стороне сервиса.
Баннер-уведомление и управление загрузкой — в чём разница
Сравниваем два класса решений, а не конкретные продукты. В каталоге есть и те, и другие; понять, что именно у вас стоит, можно кнопкой проверки выше.
| Что сравниваем | Баннер-уведомление | Управление загрузкой и журнал согласий |
|---|---|---|
| Показывает уведомление о cookie | Да | Да |
| Задерживает выполнение счётчиков до согласия | Нет | Да |
| Сохраняет, на что именно согласился посетитель | Обычно только факт закрытия | Да, по категориям |
| Где хранится журнал согласий | В базе того же сайта | Во внешнем сервисе, отдельно от сайта |
| Список трекеров | Зафиксирован в версии решения | Обновляется на стороне сервиса, без обновления сайта |
| Установка при истёкшей лицензии | Из каталога недоступна | Работает, каталог не задействован |
В таблице только проверяемые технические различия. Мы не оцениваем соответствие чужих решений закону и не называем конкретные продукты — посмотрите, что делает ваше текущее решение, кнопкой проверки.
Частые вопросы
Счётчики, которыми управляет загрузчик, не выполняются, а решение записывается в журнал. Технические cookie — сессия, корзина, авторизация — продолжают работать: без них сайт перестал бы функционировать, и согласия они не требуют.
Каждое решение посетителя записывается на стороне сервиса с датой, временем и составом выбранных категорий. Журнал выгружается в CSV из личного кабинета. Он лежит отдельно от вашего сайта, поэтому переустановка Битрикса или потеря базы на него не влияют.
Да. У каждого сайта в мультисайтовой конфигурации свой шаблон, строку нужно добавить в header.php каждого из них. В личном кабинете сайты заводятся отдельно, и журнал согласий по каждому ведётся свой.
Строка стоит ниже вызова ShowHead или ниже кода счётчика в шаблоне. Поднимите её сразу после открывающего тега <head> и сбросьте кэш. Проверка выше покажет, какие именно счётчики объявлены раньше загрузчика.
В каждый, который реально отдаётся посетителям. Мобильный и печатный шаблоны часто забывают, и на них баннера не будет. Проверить можно, открыв сайт с телефона и запустив проверку по тому же адресу.
Нет. Подключение — это строка в шаблоне, никакой установки в систему не происходит, и статус лицензии значения не имеет.
Нет. PHPSESSID, BITRIX_SM_SALE_UID и BX_USER_ID относятся к техническим, загрузчик их не блокирует и не удаляет.