WordPress plugin intelligence profile

Cookie Consent Snigirev

A cookie consent banner with real category-based gating of tracking scripts (necessary/analytics/marketing).

WP PlugIndex snapshot

Current directory snapshot

Tested up to WordPress 7.1
Current version1.3.8
WordPress coverageTested up to WordPress 7.1
Minimum stackWP 5.8 · PHP 7.4
Directory statusactive
Last directory update10 Sept 20261mo ago
Active installationsNewAdoption metric — not a quality score
WordPress.org ratingNo WordPress.org ratings yet
Official packageDirect from WordPress.org

Repository metrics are context, not quality scores. Active installations measure adoption and can strongly reflect a plugin’s age and historical popularity. Ratings, recent updates and “Tested up to” metadata also do not guarantee modern code, error-free operation, security, feature completeness or suitability for a particular site. Why active installs don’t tell the whole story →

WP PlugIndex currently records Cookie Consent Snigirev version 1.3.8 as active, updated 1mo ago and tested up to WordPress 7.1.

Overview

About this plugin

Most “cookie consent” plugins are just an informational banner: it shows

up, the visitor clicks something, the banner disappears — and every

tracking script on the page was already running before that click ever

happened. That doesn’t satisfy 152-FZ or GDPR, and it wouldn’t hold up

if a regulator ever asked “prove the user actually consented before

”

Cookie Consent Snigirev gates the scripts themselves, not just the

banner. Any script you add through the plugin (Yandex Metrika, Google

Analytics/GTM, ad pixels, anything) is written to the page as an inert

— the browser physically will not execute

it. Only after the visitor makes an actual choice (Accept, or ticks the

matching category and saves) does the banner’s own JavaScript rewrite

that tag into a real <script> and let it run. Reload the page after

that, and the plugin reads the stored choice from a cookie and

re-activates only the categories the visitor actually agreed to —

without showing the banner again. Nothing loads by default except

strictly necessary functionality.

Two ways to run it

  • Full mode — three categories (necessary/analytics/marketing), a

“Customize” button with a detailed per-category breakdown, and a

“Save choices” button. Analytics/marketing only appear as separate

toggles once you’ve actually added a script for that category in the

admin — an empty, non-functional toggle never shows up.

  • Simple mode — one switch in the settings turns the whole thing

into a plain Accept/Reject notice: no category panel, no “Customize”

button. Every non-independent script activates together on Accept.

Good fit for sites that don’t need (or don’t want to manage) a

category breakdown.

Design, without touching a line of CSS

  • Position: top or bottom bar (full width), centered modal, or a corner

card (left/right)

  • Colors, border radius, shadow, padding, max width — all from the

g. to

drop the banner’s background strip entirely and show only the

floating container)

  • Configurable delay before the banner appears, with a smooth fade-in
  • A live preview of the banner sits right on the settings screen and

updates instantly as you change style or text — no saving, no

reloading, no guessing what it’ll look like on the actual site

Editing the banner text

  • Banner texts (title, description, category labels/descriptions,

button labels) are one flat set of settings-screen fields, in Russian

  • The description field (and other long-text fields) uses WordPress’s

own visual editor in a stripped-down form — Bold, Italic, and an

actual “Insert/edit link” button, instead of hand-typing HTML. That’s

also where you link to your privacy policy: there’s no separate

privacy-link field to fill in, just link the words directly in the

description text

Managing tracking scripts

  • A repeater in the admin: name, the script’s own code (HTML/JS),

category, and a “load immediately, without consent” flag for the rare

case where a tracker (typically an analytics counter) genuinely needs

to start before any interaction — that one bypasses the gate entirely

and is clearly called out as doing so

  • The code field has real syntax highlighting (the same CodeMirror-based

editor WordPress uses for Additional CSS and the theme/plugin file

editor), not a bare textarea

  • Saving the script’s code requires the unfiltered_html capability —

on classic multisite that’s normally only the network super admin;

everyone else sees the field locked, and the server refuses a

modified value even from a direct POST request, not just visually

Everything else

  • [snigirev_cookie_settings] shortcode — drop it anywhere (footer,

privacy policy page) as a button to reopen the banner so a visitor can

change their mind later

  • No server-side storage at all — the consent decision lives only in a

cookie on the visitor’s own browser; the plugin doesn’t collect or

keep any personal data

  • Free, and stays that way — nothing here is a trial or a paywalled

tier. If it saved you some time, there’s a link to say thanks with a

coffee, entirely optional and unrelated to how the plugin works

External Services

This plugin does not send any data to external services. The consent

banner and all its logic run entirely client-side (the visitor’s

browser) and store the decision only in a cookie — nothing is sent to

or stored on any server, including the plugin’s own. The optional

donate notice in the admin area (“Угостить кофе” / “Пожертвовать на

восстановление монастыря”) consists of plain links the administrator

may click — the plugin itself makes no request to any external service

because of them.

Установка

  • Распакуйте архив и загрузите папку snigirev-cookie-consent в

/wp-content/plugins/ (или используйте Плагины → Добавить новый →

Загрузить плагин на самом архиве)

  • Активируйте плагин через меню «Плагины»
  • Настройки → Cookie Consent — настройте стиль баннера, тексты

категорий (ссылку на политику конфиденциальности впишите прямо в

"> ) и добавьте скрипты метрики

  • При необходимости разместите шорткод [snigirev_cookie_settings]

на странице политики конфиденциальности, чтобы пользователь мог

изменить своё решение

Структура файлов

snigirev-cookie-consent/

php ← заголовок плагина, автозагрузчик, точка входа

├── includes/

php ← singleton-фасад, регистрация хуков

php ← схема опции, defaults, sanitize

php ← [snigirev_cookie_settings]

php ← страница настроек (Settings API)

│ └── Frontend/

php ← рендер баннера + гейтящихся скриптов (wp_footer)

php ← независимые скрипты (wp_head)

├── assets/

js ← вкладки настроек, репитер скриптов

js ← стили и логика согласия на фронтенде

php

txt

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

  • Страница настроек требует manage_options
  • Поле кода скрипта в репитере сохраняется только при наличии права

unfiltered_html у текущего пользователя — без этого права поле

недоступно для редактирования в форме (readonly/disabled), и сервер

не принимает изменения кода даже при прямом POST-запросе

  • Нонсы и проверка option_page — через стандартный механизм

php

  • Все обычные поля настроек проходят через sanitize_callback

( sanitize_hex_color, sanitize_text_field, absint, esc_url_raw

и т. ); текстовые поля баннера — через wp_kses() с узким allowlist

тегов ( a / strong / em ), а не произвольный HTML

  • Согласие хранится только в cookie на стороне клиента — плагин не

собирает и не хранит персональные данные на сервере

Соответствие 152-ФЗ

  • Баннер прямо называет используемые сервисы аналитики/маркетинга по

названию, заданному в репитере скриптов

  • Ссылка на политику конфиденциальности добавляется админом прямо в

текст описания баннера (поддерживается тег <a> )

  • По умолчанию не активируется ничего, кроме необходимых cookie, до

явного действия пользователя

Известные ограничения

  • Если пользователь дал согласие на категорию, скрипт этой категории

успел выполниться в текущей загрузке страницы, а затем пользователь

через шорткод [snigirev_cookie_settings] отозвал согласие на эту же

категорию — уже выполнившийся код (например уже инициализированный

счётчик метрики) технически не может быть «отменён» на лету, это

ограничение самого приёма гейтинга через type="text/plain". Новое

решение сохраняется в cookie и будет учтено при следующей загрузке

страницы.

Поддержать разработку

Плагин бесплатный и таким останется — донат ни на что не влияет и не

открывает скрытых функций. Если плагин сэкономил вам время, можно

ru/

WordPress.org metadata

Plugin tags

Topics listed for this plugin in the WordPress.org directory.

  • 152 fz
  • cookie banner
  • cookie consent
  • gdpr
  • privacy
Compatibility & maintenance

Compatibility & maintenance

Tested with WP 7.1

Marked as tested with the current WordPress 7.1 release.

Current WordPress releaseWordPress 7.1
WordPress.org Tested up to7.1
Minimum requirementsWordPress 5.8 · PHP 7.4
Update activity10 Sept 20261mo ago

“Tested up to” is directory metadata supplied by the plugin author. WP PlugIndex does not turn an older declaration into a claim that the plugin is incompatible.

Changes recorded by WP PlugIndex

Recent tracked changes

Version1.3.61.3.8
Version1.3.51.3.6
Version1.3.41.3.5
Tracking & source

WP PlugIndex tracks public WordPress.org directory metadata and records selected version, compatibility and availability changes as they are detected.

Plugin watchlist

Watch this plugin

Sign in to your WP PlugIndex account or create a free account. Free accounts can watch up to 5 plugins and see what changed.

Watch limit

Watchlist limit reached

You have reached your current active watch limit.