Скрипт защиты сайта от ботов — версия 3.0

Обновили скрипт защиты сайта от ботов, который помогает уменьшить влияние автоматических посещений на данные Яндекс Метрики, Google Analytics и других систем аналитики.
Скрипт откладывает загрузку счётчиков до подтверждения в приветственном окне. Если бот не взаимодействует с окном или не проходит проверку, счётчики не загружаются и такой визит не попадает в их статистику.
В версии 3.0 мы усилили защиту от автоматических действий, исправили работу cookie, добавили настройки оформления и упростили установку.
Зачем нужна защита сайта от ботов?
Роботы регулярно посещают сайты: одни индексируют страницы или проверяют их доступность, другие собирают данные или имитируют действия пользователей. Часть автоматического трафика может попадать в системы аналитики и влиять на показатели посещаемости, отказов, глубины просмотра и времени на сайте.
Отдельная задача — нагуливание профилей (cookie). Так называют посещение разных сайтов для формирования истории браузерного профиля. В процессе могут накапливаться cookie и другие данные, благодаря которым автоматизированный профиль становится похожим на профиль реального пользователя. Подробнее об этом рассказали в материале «Что делать с нагуливанием профилей».
Скрипт помогает отсеять автоматические визиты, если боты не прошли проверку в окне.
Как работает скрипт защиты от ботов на сайте?
При первом посещении обычный пользователь видит приветственное окно. Счётчики и другие указанные коды не загружаются, пока посетитель не подтвердит действие.
После подтверждения скрипт загружает коды систем аналитики и сохраняет подтверждение. При следующих посещениях оно позволяет не показывать окно повторно, пока остаётся действительным.
Если посетитель не подтвердил действие или проверка не пройдена, отложенные счётчики не загружаются. При настройках по умолчанию счётчики также не загружаются для распознанных поисковых роботов и автоматизированных браузеров.
Содержание и оформление окна можно настроить под сайт: например, использовать его для приветствия или уведомления о cookie.
Что нового в версии 3.0?
Усилили защиту от автоматических действий
Добавили проверки, которые помогают распознавать типичные сценарии автоматизации: слишком быстрые или программные клики, признаки автоматизированного браузера и другие особенности взаимодействия с окном.
Также изменили работу с подтверждением: подмена User-Agent на поискового робота или ручная установка произвольного значения cookie больше не позволяют загрузить счётчики в обход проверки при настройках по умолчанию.
Исправили работу cookie
Исправили обработку срока действия подтверждения. При регулярных посещениях оно продлевается, поэтому постоянным посетителям не нужно каждый раз взаимодействовать с окном.
Окно может появиться снова, например после истечения срока подтверждения или из-за ограничений браузера.
Добавили настройки оформления
Теперь проще адаптировать окно под дизайн сайта:
- выбрать светлую или тёмную тему;
- разместить окно в виде нижней плашки;
- настроить цвета, стили и текст;
- использовать собственный шаблон;
- включить кнопку «Только необходимые».
Если посетитель нажмёт «Только необходимые», окно закроется без загрузки отложенных счётчиков.
Упростили установку
Для работы скрипта больше не нужны jQuery и FancyBox. Окно создаётся автоматически, поэтому отдельно добавлять его HTML-разметку на страницу не требуется.
Также добавили поддержку управления с клавиатуры и работы со скринридерами.
Как установить скрипт защиты от ботов?
Самый простой способ — воспользоваться онлайн-конструктором:
- Настройте содержание, поведение и стили окна.
- Укажите номер счётчика или добавьте свой код системы аналитики.
- Скопируйте готовый код.
- Вставьте его перед закрывающим тегом
</body>в общем шаблоне нужных страниц сайта.
Удалите прежние подключения перенесённых счётчиков из шаблона сайта, настроек CMS, модулей аналитики или Google Tag Manager. Если счётчик останется подключён отдельно, он может загружаться в обход скрипта.
При необходимости скрипт можно установить вручную. Готовые файлы и описание настроек доступны на GitHub, а примеры установки — в инструкции для CMS.
Как проверить работу скрипта?
После установки проверьте, что счётчики загружаются только после подтверждения:
- Откройте сайт в режиме инкогнито.
- Откройте инструменты разработчика: DevTools → Network.
- Выберите фильтр JS и обновите страницу.
- До подтверждения окна проверьте, что файл счётчика не загрузился:
tag.jsдля Яндекс Метрики илиgtag/jsдля Google Analytics. - Нажмите кнопку в окне и убедитесь, что нужный файл появился в списке запросов.
Дополнительно проверьте несколько страниц сайта, повторное посещение, поступление данных в систему аналитики и работу настроенных целей. Появление файла в Network подтверждает его загрузку, но для проверки целей нужны дополнительные действия.
Если счётчик загружается до подтверждения, проверьте, не подключён ли он где-то ещё: например, в настройках CMS, плагине или Google Tag Manager.
Статус счётчика в Метрике — «Не найден»? Проверочный робот может не загрузить счётчик из-за настроек скрипта. Проверьте поступление данных от реальных посетителей.
Как обновиться с версии 2.x?
Чтобы перейти на версию 3.0, замените файлы скрипта и стилей, а также удалите старую HTML-разметку окна: теперь скрипт создаёт её самостоятельно.
Конфигурация версии 2.1 поддерживается, но часть параметров изменилась. Старые cookie подтверждения не принимаются, поэтому посетители с такими cookie после обновления один раз увидят окно повторно.
Перед обновлением рекомендуем изучить раздел «Переход с v2.x» в документации.
Что важно учитывать?
Скрипт работает в браузере и не блокирует доступ ботов к сайту. Он помогает сократить автоматические визиты в данных отложенных счётчиков.
После установки часть реальных посещений также может не попасть в статистику — например, если пользователь не подтвердит действие в окне. Учитывайте это при анализе данных и выборе поведения окна.
Попробуйте скрипт защиты сайта от ботов версии 3.0: настройте окно в онлайн-конструкторе или скачайте файлы и изучите документацию на GitHub.
Читайте также
ТОП-4 популярных инструментов
это займёт около 20-30 секунд