← вернуться на главную

Документация

Всё об установке и работе Cookie Consent Manager: от первого запуска до PHP-хуков и JS-событий. Плагин создан для законодательства Беларуси и России.

версия 1.1 WordPress 6.0+ PHP 7.4+ языки ru / by / en JS < 15 КБ

01О плагине

Cookie Consent Manager (CCM) — плагин для WordPress, который управляет согласием посетителей на использование cookie. Он показывает баннер, ведёт детальные настройки по категориям, блокирует аналитику до получения согласия и хранит выбор посетителя.

Плагин создан специально для законодательства Республики Беларусь (НЦЗПД, Совмин РБ) и Российской Федерации (152-ФЗ, Роскомнадзор) — с учётом требований к гранулярному согласию и прозрачности.

  • Баннер согласия — не блокирует контент, адаптивен, три действия: «Принять все», «Отклонить все», «Настроить».
  • Модальное окно настроек — четыре категории с переключателями и списком конкретных cookie.
  • Блокировка скриптов — счётчики и реклама не загружаются до согласия.
  • Реестр cookie — таблица с названиями, целями и сроками хранения.
  • Виджет повторного доступа — посетитель меняет решение в любой момент.
  • Лёгкость — JS меньше 15 КБ, CSS меньше 5 КБ, без jQuery и внешних CDN.
Бесплатно и без ограничений. Плагин распространяется лично через Telegram @Sminec — без Pro-версий, подписок и скрытых платежей.

02Установка

  1. Получите архив. Напишите в Telegram @Sminec пару слов о сайте — в ответ придёт ZIP с плагином и инструкцией.
  2. Загрузите плагин. В админке WordPress откройте Плагины → Добавить новый → Загрузить плагин, выберите ZIP-файл и нажмите «Установить».
  3. Активируйте. После установки нажмите «Активировать плагин».
  4. Откройте настройки. В меню слева появится раздел «Cookie Consent» — плагин уже работает, баннер появится у новых посетителей.
Требования: WordPress 6.0+, PHP 7.4+. Плагин корректно работает с кэширующими плагинами (WP Rocket, W3 Total Cache) и не влияет на оценку PageSpeed.

03Быстрая настройка

Раздел «Cookie Consent» → «Общие настройки». Здесь задаётся всё, что видит посетитель:

ПараметрЧто делает
Включение плагинаГлобальный выключатель — баннер и блокировка скриптов отключаются полностью.
Позиция баннераВнизу или вверху экрана.
Тема оформленияСветлая, тёмная или автоматическая — по настройкам системы посетителя.
Акцентный цветЦвет кнопок и активных элементов. По умолчанию #2563EB.
Ссылки на политикиСтраница политики cookie и политика конфиденциальности — используются в баннере и настройках.
Тексты баннераЗаголовок, описание и надписи на кнопках. Мультиязычные: ru / by / en.
Акцентный цвет применяется ко всему интерфейсу плагина: кнопкам «Принять все» и «Сохранить», активным тумблерам, индикаторам категорий, иконке виджета и hover ссылок. Баннер впишется в любой дизайн сайта.

04Категории cookie

Гранулярность — ключевое требование регуляторов: посетитель сам решает, какие категории разрешить. В плагине их четыре:

КатегорияНазначениеМожно отключитьПримеры
necessary НеобходимыеБазовая работа сайта: сессия, язык, CSRF-защитаНет — всегда включеныPHPSESSID, CSRF-токен, язык
functional ФункциональныеЗапоминают предпочтения посетителяДаТема, версия для слабовидящих
statistics СтатистическиеАналитика посещаемости без передачи третьим лицамДаЯндекс.Метрика, GA4
marketing МаркетинговыеПерсонализация рекламыДаFacebook Pixel, рекламные ID
«Отклонить все» оставляет только необходимые cookie — отключить эту кнопку нельзя, её наличие требует и НЦЗПД, и Роскомнадзор. Для каждой категории в настройках выводится список конкретных cookie: название, цель, срок хранения.

05Реестр cookie

Законы требуют открыто рассказывать, какие cookie использует сайт. Вкладка «Cookie» — это реестр, который виден посетителям в окне настроек и закрывает требование прозрачности.

Поля записи

ПолеОписание
НазваниеТехническое имя cookie, например _ga
ОписаниеЧеловеческое описание — зачем нужна
КатегорияОдна из четырёх: necessary / functional / statistics / marketing
Срок храненияВ секундах, минутах, часах или днях
ТипСессионная или постоянная
ДоменНа каком домене устанавливается
Третьи лицаДа / нет, и какой сервис получает данные

Как добавить cookie

  1. Откройте вкладку «Cookie» и нажмите «Добавить».
  2. Заполните поля: название, описание, категория, срок хранения.
  3. Сохраните — запись появится в окне настроек у посетителей.

Шаблоны ускоряют заполнение: WordPress (сессия, язык, auth), WooCommerce (корзина, недавно просмотренные), Яндекс.Метрика, Google Analytics 4, Matomo, Facebook Pixel. Поддерживаются импорт из CSV и массовые операции.

06Блокировка скриптов

Главный принцип: до согласия аналитика и реклама не загружаются вообще — сайт работает как обычно, просто без невидимых счётчиков. После выбора категорий скрипты подхватываются динамически, без перезагрузки страницы.

Способ 1 — готовые шаблоны

Яндекс.Метрика и Google Analytics распознаются автоматически по домену. Выберите шаблон в админке — счётчик привяжется к категории «statistics».

Способ 2 — data-атрибут в теме

Замените у скрипта тип на text/plain и добавьте атрибут категории:

<!-- счётчик не выполнится, пока нет согласия -->
<script type="text/plain"
      data-cookiecategory="statistics"
      src="https://mc.yandex.ru/metrika/tag.js"></script>

Плагин найдёт такие скрипты, проверит согласие и, если категория разрешена, вернёт text/javascript — счётчик запустится на текущем визите.

Способ 3 — вкладка «Скрипты»

Для кода, который нельзя править в теме: вставьте скрипт в админке и укажите название, категорию, размещение (head / body / footer) и приоритет загрузки. Плагин сам обернёт его и активирует после согласия.

Что происходит при разных действиях

Действие посетителяРезультат
Первый визитБаннер показан, счётчики не загружены
«Принять все»Все скрипты загружаются динамически
«Отклонить все»Работают только необходимые скрипты
«Настроить» → сохранитьЗагружаются только выбранные категории
Возврат на сайтРазрешённые скрипты грузятся сразу, баннер не показывается

08Для разработчиков

JS-событие

Реагируйте на изменение согласия в своём коде:

document.addEventListener('ccm:consent-updated', function (e) {
    console.log(e.detail.categories);
    // ['necessary', 'functional']
});

PHP-хуки

// Проверка: разрешена ли категория
$allowed = apply_filters('ccm_is_category_allowed', $allowed, $category);

// Добавить cookie в реестр программно
apply_filters('ccm_register_cookie', $cookies);

// Действие после обновления согласия
add_action('ccm_after_consent_updated', function ($categories, $version) {
    // своя логика, например очистка кэша
}, 10, 2);

Безопасность

  • Все входные данные проходят sanitize / escape.
  • AJAX-запросы защищены nonce-проверкой.
  • Запросы к базе — только через $wpdb->prepare.
  • Ни одного запроса к сторонним сервисам без согласия; стили CSP-friendly.

09Интеграции

Плагин распознаёт популярные сервисы и корректно распределяет их cookie по категориям:

Плагин / сервисЧто делает CCM
WooCommerceАвтоматически распознаёт cookie корзины и «недавно просмотренных»
Fluent FormsРазделяет cookie форм: CSRF-токены — «necessary», abandonment-трекинг — «statistics»
Rank MathДобавляет страницу политики в структуру сайта и Schema
Yoast SEOДобавляет политику в хлебные крошки
Polylang / WPMLМультиязычные тексты баннера: ru / by / en
Contact Form 7Блокирует cookie форм до получения согласия
Яндекс.Метрика / GA4Готовые шаблоны, блокировка счётчика до согласия на «statistics»

Fluent Forms — подробности

  • fluentform_abandonment → категория statistics — отслеживание брошенных форм только при согласии.
  • CSRF-токены и сессия формы → necessary — базовая отправка форм работает всегда.

10Соответствие законам

Беларусь: Закон «Об информации, информатизации и защите информации», постановление Совмина РБ о защите персональных данных, требования НЦЗПД (cpd.by) — категоризация cookie, гранулярное согласие, прозрачность.

Россия: 152-ФЗ «О персональных данных», приказ Роскомнадзора № 512 от 18.09.2013, постановление Правительства РФ № 1119, рекомендации РКН по cookie-файлам.

Чек-лист перед запуском — встроен в админку

  • Указаны все cookie и сроки их хранения.
  • Есть ссылка на политику в отношении cookie.
  • Работает кнопка «Отклонить все».
  • Необходимые cookie нельзя отключить.
  • Предусмотрено повторное согласие при изменениях.
Важно: перед запуском сверьтесь с актуальной редакцией нормативных актов — требования регуляторов периодически обновляются.

11Решение проблем

СитуацияЧто делать
Баннер не появляетсяПроверьте, что плагин включён в общих настройках. Откройте сайт в режиме инкогнито — у вас уже могло сохраниться согласие. Сбросьте кэш страницы и CDN.
Метрика не работает после «Принять все»Убедитесь, что шаблон счётчика добавлен и привязан к категории «statistics», а ID счётчика указан верно.
Изменили список cookie — баннер не показывается зановоУвеличьте версию согласия в настройках: все посетители увидят баннер повторно.
Скрипт в теме не блокируетсяЗамените type="text/javascript" на text/plain и добавьте data-cookiecategory с нужной категорией.
Кэширующий плагин кэширует старую версию согласияCCM совместим с WP Rocket и W3 Total Cache — JS читает согласие на клиенте. Достаточно очистить кэш после изменения настроек.
Остались вопросы? Напишите в Telegram @Sminec — отвечу лично и помогу с настройкой.