Год назад на одном из своих проектов я столкнулась с проблемой: один из моих сайтов атаковали боты. Не просто несколько посещений в сутки, а тысячи, с колоссальной перегрузкой сервера. Причём перегрузка сервера – не самое страшное, что может случиться. Если проект монетизирован, вполне возможен бан от РСЯ или Adsense за фиктивные клики или показы. Какая защита сайта от ботов может быть использована в настоящее время, или какие действия могут предупредить их нашествие?
Откуда берутся боты на сайте?
В первую очередь хотелось бы уточнить, откуда берутся боты. Данная проблема берет начало порядка трёх лет назад, когда начались массовые накрутки поведенческих факторов в поисковой системе Яндекс. Практически любой новый счётчик Метрики, более или менее интересный накрутчикам в плане тематики, может быть использован ботами, это уж как повезёт. Все мои и клиентские проекты старше трёх лет не тронуты, но, если счётчик “моложе”, и тематика конкурентная, то риск высок. Яндекс пытается бороться с накрутчиками, к примеру, один из относительно недавних апдейтов Метрики – статистика без учёта ботов. Но лично я считаю, что пока не очень успешно, так как вполне себе проходят посещения с устройств, даже в природе несуществующих.
Каковы признаки посещения сайта ботами?
Вообще это тема целой статьи, и признаков много больше (к примеру, определённые операторы или подсети), но, как правило, бОльшая часть заходов при нашествии ботов – прямые, доля посещений из органической выдачи снижается в разы. Переходы могут идентифицироваться Метрикой и как переходы из поиска, но при этом в кабинетах вебмастеров этих переходов вы не найдёте.
С началом эры накрутки поведенческих факторов это были посещения с минимальным временем нахождения ботов на ресурсе, но сейчас боты “продвинутые”, и максимально маскируются под реального пользователя, вплоть до того, что посещают до 2-3 страниц. В целом чаще всего по Вебвизору их видно: если шкала действий посетителя в видеозаписи ровная и однообразная, то весьма вероятно, что это бот. Также боты могут валить из соцсетей, но у меня были именно прямые заходы.
Как защитить уже атакованный сайт от ботов?
На уже атакованный сайт был поставлен Антибот https://antibot.cloud. Решение платное, но эффективное. Возможно, в самом ближайшем времени смогу развернуть тему в отдельной статье, так как есть нюансы. Также есть сервис Cloudflare https://www.cloudflare.com с блокировкой в том числе по подсетям, но я обошлась без него только Антиботом.
Как предупредить нашествие ботов, и зачем прятать Метрику?
А вот для предупреждения проблемы вижу два варианта:
- Не ставить Метрику вовсе (но все так привыкли к Вебвизору, да и в целом для продвижения в Яндекс счётчик важен);
- “Спрятать” счётчик Метрики в коде.
Обычно выбираю второй вариант, привожу код скрипта:
(function(m,e,t,r,i,k,a){m[i]=m[i]||function(){(m[i].a=m[i].a||[]).push(arguments)}; m[i].l=1*new Date();k=e.createElement(t),a=e.getElementsByTagName(t)[0],k.async=1,k.src=r,a.parentNode.insertBefore(k,a)}) (window, document, "script", "https://cdn.jsdelivr.net/npm/yandex-metrica-watch/tag.js", "ym"); ym(XXXXXXXX, "init", { clickmap:true, trackLinks:true, accurateTrackBounce:true, webvisor:true });
Здесь нужно в одном месте заменить номер счётчика. На сайте подключается как обычный скрипт в подвале сайта, при этом Яндекс может ныть, что что-то не так, однако если из настроек счётчика вы перешли по ссылке с UTM-меткой, и всё ок, можно не переживать, все возможные посещения отслеживаются в штатном порядке. Из скрипта по возможности удалены все идентификаторы, по которым его можно сопоставить со скриптом Метрики, название самого файла скрипта стоит дать нейтральное, в таком случае идентифицировать счётчик будет сложнее. В данном коде зашиты основные функции счётчика, включая вебвизор, в работе проверен.
Если было полезно, вы можете отблагодарить меня подпиской на мой канал https://t.me/ennhomenko, в котором я делюсь опытом вебмастера, а также отвечаю новыми публикациями на вопросы в комментариях