Проблема
Рекламные кампании в РСЯ Яндекс Директа часто страдают от ботового трафика: мусорные площадки, нехватка места в чёрном списке (лимит 1000), боты, имитирующие конверсии. Это мешает обучению алгоритмов и приводит к нецелевым расходам бюджета.
Решение
Плагин перехватывает запросы на раннем этапе и перенаправляет подозрительных посетителей на указанный URL (например, Яндекс), не давая засчитать конверсию. При стратегии «Оплата за конверсии» деньги за такой клик не списываются.
Возможности
- Фильтр по utm_source – задайте список слов (dsp, game, puzzle, com., tv и др.). Если источник содержит любое из них – редирект.
- Фильтр Android Browser – отсекает переходы с Android, в User-Agent которых нет признаков современных браузеров (Chrome, Firefox, Opera). Это характерно для ботов.
- Фильтр по отсутствию _ym_uid – для рекламных переходов (с utm_source или yclid) проверяет куку Яндекс.Метрики. Если куки нет – редирект. Это надёжный признак бота, не выполняющего JS.
- Гибкие настройки – каждый фильтр включается отдельно. Можно задать свой URL редиректа.
- Логирование – все срабатывания записываются в
wa-log/botfilter.log в формате JSON с деталями: IP, причина, URI, utm_source, yclid, User-Agent, наличие _ym_uid.
Как это работает
- Плагин подключается к событию routing (самый ранний этап).
- Исключает легитимных ботов (поисковые роботы, краулеры Яндекса, Google и др.).
- Последовательно применяет включённые фильтры.
- При срабатывании выполняет редирект на заданный URL, страница сайта не загружается.
- Если включено логирование, все детали сохраняются.
Требования
- Webasyst Framework 1.10.0+
- Shop-Script 7.0+
- PHP 7.2+
Установка
- Скачайте архив.
- Распакуйте в
wa-apps/shop/plugins/botfilter/.
- В бекенде перейдите в «Магазин» → «Плагины», установите и включите плагин.
- Настройте фильтры на странице настроек.