
Защита сайта от ботов начинается не с покупки сервиса, а с вопроса, каких именно ботов вы собираетесь отсекать. 16 сентября 2026 года на один из моих сайтов пришло 934 прямых визита за сутки при обычных тридцати-пятидесяти: 883 из них — с одной подсети петербургского дата-центра, все с мобильного браузера, все на одну страницу, все по 4–6 секунд. Подсеть закрыли на уровне сервера, заходы с неё прекратились в тот же час, на следующий день прямых визитов осталось 37. А если бы я вместо этого включил «блокировку зарубежного трафика» и повесил капчу на каждую страницу, атака бы никуда не делась, зато часть живых клиентов до формы заявки не доехала бы.
Дальше — разбор по слоям: какие боты ходят на сайт малого бизнеса и какие из них полезны, как отличить настоящего поискового робота от того, кто им притворяется, какие меры защиты выстроены по возрастанию вреда для посетителей и что владельцы включают в панике, а потом жалеют. Если техническая часть для вас тёмный лес, есть техническая защита и продвижение сайта под ключ, но большую часть описанного можно сделать своими руками за вечер.
Кто ходит на ваш сайт, кроме клиентов
Слово «бот» в разговоре с владельцем обычно означает «кто-то плохой». На деле автоматических посетителей у среднего сайта несколько типов, и отношение к ним разное — от «пустите обязательно» до «режьте без сожаления».
Поисковые роботы обходят страницы, чтобы те попали в выдачу. Заблокировать их означает собственноручно отключить бесплатный поток посетителей. Краулеры социальных сетей и мессенджеров идут по ссылке, которую кто-то вставил в пост или в чат, за заголовком, описанием и картинкой — из этого собирается превью-карточка. Если запрос заблокирован, в переписке вместо карточки появляется голая ссылка, по которой кликают заметно реже.
Парсеры цен скачивают ваш каталог целиком: вред тут коммерческий, а нагрузка бывает ощутимой. Сканеры уязвимостей долбятся в /wp-login.php, /administrator, /.env и перебирают пароли — фоновый шум интернета, опасный не нагрузкой, а тем, что однажды находит незакрытую дверь. Спам-боты форм бьют по вашему времени и почтовому ящику.
И отдельная категория — имитация визитов живых людей, та самая, с которой начинается эта статья. Важно понимать рамку: искусственное наращивание посещаемости Яндекс относит к нарушению «Имитация действий пользователей», и сайт за это ограничивают в ранжировании. Поэтому единственная разумная позиция владельца — не участвовать в этом ни в какой роли и научиться отсекать чужие визиты технически. Защиту именно от этого сценария я отдельно разбирал в материале про защиту сайта от накрутки.
Поисковый робот или подделка: как проверить
Самая дорогая ошибка в этой теме — закрыть доступ настоящему поисковому роботу, приняв его за бота. Вторая по цене — оставить ворота открытыми тому, кто просто написал в заголовке запроса имя поискового робота.
Представиться кем угодно тривиально: строка User-Agent задаётся вручную, никакой проверки в ней нет. Поэтому в логах вы регулярно увидите запросы с подписью поискового робота, приходящие с адресов, к поисковику отношения не имеющих. Яндекс не публикует список своих адресов — он описывает процедуру проверки, и она строится на DNS.
Порядок по официальной инструкции Яндекса такой. Берёте из логов адрес подозрительного запроса, делаете обратный DNS-запрос и получаете имя хоста. Имена всех роботов Яндекса заканчиваются на yandex.ru, yandex.net или yandex.com. Затем делаете прямой DNS-запрос по полученному имени и сверяете: адрес должен совпасть с исходным. Не совпал — имя поддельное, перед вами чужой сервер под чужой личиной.
Если терминала под рукой нет, в Вебмастере есть инструмент «Проверка IP-адреса», который делает ровно эту проверку. Там же, в списке инструментов Вебмастера, лежит «Проверка ответа сервера» — им удобно убедиться, что страницы доступны роботам после правок защиты. Отсюда правило: в блок-лист попадают адреса, а не имена.
Методы защиты по возрастанию вреда для живых людей
Любая защита — это фильтр, а фильтр ошибается в обе стороны: пропускает часть ботов и задерживает часть людей. Поэтому меры выстраивают лесенкой и поднимаются на ступень выше, только если предыдущая не помогла.
| Метод | Что отсекает | Чем рискуете |
|---|---|---|
| Блокировка подсети дата-центра на сервере | Массовые визиты с одной серверной площадки, агрессивные парсеры | Почти ничем: живых людей с домашних и мобильных адресов не задевает |
| Ограничение частоты запросов с адреса | Парсеры, сканеры, перебор паролей | При низком пороге режет живых: офис за общим адресом, тяжёлая страница каталога |
| Скрытое поле-ловушка в форме | Простые спам-боты, заполняющие все поля подряд | Посетитель не видит ничего, но неаккуратно спрятанное поле портит аналитику форм |
| Закрытие служебных адресов | Перебор паролей в админку, сканеры дыр | Нужен способ попасть внутрь самому |
| Капча на форме и на входе в панель | Спам, автоматические регистрации, перебор | Снижает число отправленных форм, а на искусственные визиты не влияет вовсе |
| Внешний сервис фильтрации перед сайтом | Широкий спектр, включая распределённые атаки | Лишнее звено отказа, проверки у части людей, вопрос персональных данных у зарубежных |
| Блокировка по стране и «зарубежным адресам» | Малую часть ботов | Клиенты в поездке, корпоративный VPN, мобильный оператор с зарубежным выходом |
Читать таблицу нужно сверху вниз. Первые три строки стоит сделать любому сайту с формой: они не видны посетителю и не стоят денег. Последняя — то, к чему прибегают в отчаянии и о чём потом жалеют.
Блокировка подсети: главный рабочий инструмент
Против массового искусственного трафика работает именно этот способ. Такие визиты идут не с телефонов живых людей, а с арендованных серверов, а у дата-центра адреса выданы блоками, и блок целиком принадлежит одной площадке. Закрывая блок, вы закрываете серверную инфраструктуру, а не квартиры и смартфоны.
Порядок у меня такой. Из логов сервера или из сырых данных счётчика вытаскиваю адреса всплеска. Смотрю, к какой сети они принадлежат, — запросом whois, в ответе указаны владелец сети и её границы. Если в описании фигурирует хостинг, облако или дата-центр, это серверный блок. Закрываю не один адрес, а всю выданную сеть, иначе назавтра придут с соседнего адреса того же блока.
Закрывать можно на разных уровнях. Выше всего по потоку — у хостера или в панели управления сервером: запрос не доходит до сайта и не тратит ресурсы. Ниже — правилами веб-сервера. Хуже всего средствами движка: чтобы отказать, сайт всё равно должен запуститься. Промежуточный вариант — настройки безопасности в самом движке, про них есть разбор, как защитить WordPress без плагинов-комбайнов.
По моей практике четырёх волн — 18 августа, 30 августа, 7 сентября и 16 сентября — визиты с закрытой подсети прекращаются в тот же час. Но каждая следующая волна приходит с новой подсети, то есть это регулярная процедура, а не разовая настройка. Где брать адреса, если вы никогда не открывали логи, подробно разобрано в материале про логи сервера и то, что в них видит робот.
Ограничение частоты запросов и ловушка в форме
Смысл ограничения простой: с одного адреса разрешено не больше N запросов за промежуток времени, всё сверх отвечает кодом 429 и сайт не нагружает. Это лечит парсеры и переборщики паролей, которые по определению работают быстрее человека.
Главная ловушка — порог. Живой посетитель при открытии одной страницы делает не один запрос, а десятки: сама страница, стили, скрипты, шрифты, картинки. Лимит в пять запросов за десять секунд отрежет не ботов, а обычных людей, и сайт у них откроется без оформления. Поэтому статику из-под лимита выводят, а ограничивают обращения к страницам и к обработчикам форм. Отдельный жёсткий лимит стоит поставить на адрес входа в панель: два-три запроса в минуту — потолок, в который живой человек не упрётся, а перебор упрётся сразу.
Скрытое поле-ловушка — самая дешёвая мера из всех. В форму добавляется поле, убранное с экрана и снабжённое пометкой для программ чтения с экрана «не заполнять». Человек его не видит. Примитивный бот заполняет все поля подряд, и если поле пришло непустым, заявка отбрасывается на сервере. Против массового спама работает, против скрипта, написанного под вашу форму, — нет.
Две оговорки. Первая: отбрасывать нужно на сервере, а не скриптом в браузере, иначе проверку обойдут. Вторая: в справке Метрики указано, что аналитика форм собирает данные корректно, если поля не скрыты значением display:none. Прячьте ловушку иначе, выносом за пределы экрана, либо считайте, что отчёт по этой форме будет неполным.
Что бьёт по клиентам: страны, VPN и краулеры соцсетей
Логика «мои клиенты только из России, остальное закрываю» звучит разумно ровно до первого потерянного заказа. За зарубежным адресом сегодня сидит ваш же клиент: в отпуске, в командировке, за корпоративным VPN, через браузер со встроенным туннелем, через оператора с зарубежным выходом. При этом искусственный трафик прекрасно приходит с российских серверов — 883 визита из моего примера были с петербургской площадки. Тему подробно разбирает статья про то, почему боты приходят через VPN и мобильные прокси.
Вторая частая ошибка — блокировка подсетей операторов связи. Увидев десяток визитов с адресов крупного мобильного оператора, владелец закрывает весь блок, а за блоком — десятки тысяч живых абонентов в вашем городе. Отличить одно от другого помогает whois: у серверной сети в описании хостинг и дата-центр, у оператора — оператор связи и широкополосный доступ.
Третья — блокировка краулеров соцсетей. Их запросы выглядят подозрительно: приходят с серверов, ходят по одной странице, не грузят картинки. Закрыв их, вы получаете тихую потерю: ссылки на сайт в чатах и постах перестают разворачиваться в карточку, а заметить это по отчётам почти невозможно — падение размажется по прямым заходам. Краулеры площадок, где вас репостят, держите открытыми, даже если они шумят в логах.
Как проверить, что не отрезали лишнего
После любой настройки защиты нужна проверка. Она занимает пятнадцать минут и избавляет от сценария «неделю не было заявок, и никто не понял почему».
| Что проверить | Как | Нормальный результат |
|---|---|---|
| Сайт открывается у людей | Зайти с домашнего интернета, с мобильного и из браузера с VPN | Страница открывается полностью, со стилями и картинками |
| Страницы доступны роботу | «Проверка ответа сервера» в Вебмастере на 3–5 адресах | Код 200 и содержимое, а не 403 и не пустой ответ |
| Обход не упал | Статистика обхода в Вебмастере через 2–3 дня | Число загруженных страниц на прежнем уровне |
| Форма отправляется | Тестовая заявка с телефона и с компьютера | Письмо пришло, цель в Метрике засчиталась |
| Ссылка разворачивается | Кинуть ссылку на страницу себе в мессенджер | Появились заголовок, описание и картинка |
| Лимит не бьёт по статике | Открыть тяжёлую страницу и обновить 5–10 раз подряд | Оформление на месте, ошибок 429 в консоли нет |
| Блокировка подействовала | Сравнить визиты с проблемного источника до и после | Поток прекратился в течение часа, а не «стало поменьше» |
| Живой трафик не просел | Сравнить переходы из поиска за неделю до и после | Отклонение в пределах обычных недельных колебаний |
Последняя строка — самая важная и самая неудобная: результат виден не сразу. Если вниз пошёл поисковый трафик, а не искусственный, фильтр ошибся в другую сторону, и настройки надо откатывать, а не усиливать.
Когда это не сработает и когда нужен специалист
Первая ситуация: у вас нет доступа ни к серверу, ни к логам. На конструкторах и части облачных платформ владелец не может ни посмотреть адреса посетителей, ни закрыть подсеть. Остаётся то, что доступно внутри платформы: ловушка в форме, капча, штатные настройки. Это ограничение платформы, и решается оно переездом.
Вторая: атака распределённая, адреса меняются каждый час, подсетей десятки. Ручная блокировка превращается в бесконечную работу, и тут действительно нужен фильтрующий сервис перед сайтом. Как отличить такой сценарий от обычного всплеска и что делать без серьёзного бюджета — в разборе DDoS-атаки на сайт малого бизнеса.
Третья: проблема не в ботах. Позиции падают, трафик тает, а в логах ничего необычного — и вся энергия уходит на борьбу с призраком. Прежде чем строить оборону, убедитесь, что источник беды внешний, а не собственная ошибка вроде закрытых от индексации разделов. Здесь помогает бесплатный аудит сайта: сразу видно, техническая у вас проблема, содержательная или её вовсе нет.
Специалист нужен, когда правки в конфигурацию сервера делать страшно, а откатывать нечем. Ошибка в одной строке кладёт сайт целиком, и ловится это иногда через сутки, по отсутствию заявок. Если нет резервной копии конфигурации и способа быстро вернуть всё как было, к таким файлам лучше не подходить: доработка сайта по конкретному списку правок обычно стоит дешевле суток простоя.
Частые вопросы
Можно ли закрыть сайт от всех роботов и оставить только Яндекс?
Технически да, практически плохая идея. Кроме поисковых роботов на сайт ходят краулеры соцсетей, сервисы мониторинга доступности, платёжные системы. Белый список ломает часть этого незаметно, а поломка обнаруживается через месяц. Разумнее идти от обратного: пускать всех, закрывать нарушителей по адресам.
Поможет ли капча против накрутки поведенческих?
Нет. Такой трафик заходит на страницу и уходит, форму он не открывает. Капча стоит на форме — значит, для этого сценария её не существует. Единственное, чего вы добьётесь, — снижения числа настоящих заявок. От искусственных визитов помогает блокировка на уровне сервера, и больше ничего.
Что делать, если бот приходит каждый раз с нового адреса?
Смотреть не на адрес, а на сеть. Одиночные адреса почти всегда принадлежат одному блоку одного дата-центра — блокируйте блок. Если меняются и блоки, но владелец сети один, можно закрывать по владельцу, хотя это грубее. Когда и это не помогает, нагрузка распределённая, и дальше только фильтрующий сервис перед сайтом.
Метрика показывает мало роботов — значит, атаки нет?
Не значит. Счётчик отмечает роботами то, что попало под его правила: известные User-Agent и поведенческие признаки. В моём сентябрьском случае помечена была лишь часть визитов, остальные выглядели в отчётах как обычные люди. Вывод делают по совокупности: источник, подсеть, город, браузер, длительность, глубина просмотра, а не по одной цифре.
Нужно ли предупреждать посетителей, что на сайте работает защита?
Если стоит капча или внешний фильтр с проверками — да, и не из вежливости. Любой внешний сервис получает данные о посетителе, значит, его нужно упомянуть в политике обработки персональных данных. Для зарубежного сервиса вопрос сложнее: до начала передачи данных за рубеж оператор обязан уведомить надзорный орган отдельным уведомлением. Проще выбрать решение, которое обрабатывает данные внутри страны.
Коротко
Боты бывают полезные и вредные. Поисковых роботов и краулеры соцсетей блокировать нельзя: первые приносят посетителей из поиска, вторые разворачивают ваши ссылки в аккуратные карточки. Отличить настоящего робота от подделки можно только проверкой по DNS в обе стороны — имя в запросе подделывается за секунду.
Меры выстраивайте лесенкой от незаметных к заметным: блокировка подсети дата-центра, ограничение частоты, скрытое поле в форме, закрытие служебных адресов и только потом капча и внешние фильтры. Каждая следующая ступень стоит вам части живых заявок.
Блокируйте сети, а не отдельные адреса, и проверяйте по whois, кому сеть принадлежит. Дата-центр режьте смело, оператора связи не трогайте никогда. Визиты с закрытой подсети прекращаются в течение часа, но следующая волна приходит с другой — это процедура, а не разовая настройка.
Блокировка по стране — самая вредная из популярных мер: искусственный трафик идёт и с российских серверов, а под нож попадают клиенты в поездках и за корпоративным VPN.
После каждой правки проходите проверку по таблице выше и через неделю сравнивайте поисковый трафик.
Ради чего всё это затевается. Реклама — аренда потока: платите — идут заявки, кончился бюджет или сорвалась модерация — тишина в тот же день. Позиции в поиске работают иначе: страница в выдаче приводит людей и в выходные, и в отпуске, и тогда, когда кабинет по какой-то причине встал. Разумно держать оба канала и постепенно смещать вес в сторону собственного, который у вас не отключат. Защита от ботов тут — гигиена: сайт, который лежит под нагрузкой или отдаёт роботу ошибку, в выдаче не удержится. Хотите разобрать свою ситуацию предметно — приходите на консультацию по продвижению сайта, посмотрим логи и источники и решим, что закрывать, а что трогать нельзя.
Увеличьте позиции и продажи вашего сайта
Профессиональное SEO-продвижение с гарантией результата. Выберите подходящую услугу:
Остались вопросы по продвижению?
Меня зовут Анатолий Кузнецов, я SEO-оптимизатор с 20-летним стажем. Разберу ваш сайт, отвечу на вопросы и подскажу, что улучшить для роста позиций в Яндексе и Google.
Связаться со мной →
Комментарии
Андрей
У меня интернет-магазин, хостинг жалуется на нагрузку каждый месяц. Полез в логи — там половина запросов от сканеров, которые долбятся в /wp-login.php по сто раз в час. Закрыл вход на уровне сервера, нагрузка упала вдвое. Но появился вопрос: если я закрою вход, я сам-то как буду заходить?
Анатолий Кузнецов автор
Варианта три, по возрастанию удобства. Первый: разрешить доступ к адресу входа только со своего домашнего адреса, если провайдер даёт постоянный. Второй: оставить дополнительный пароль на уровне сервера — вы вводите его один раз, браузер запоминает, а перебор до формы движка вообще не доходит. Третий, самый удобный для нескольких человек: оставить вход открытым, но поставить жёсткий лимит частоты именно на этот адрес, два-три запроса в минуту. Живой человек столько и делает, а перебор упирается в потолок на первой же секунде. Только проверьте после настройки, что сами заходите нормально с телефона по мобильному интернету — адрес там другой.
Борис
Спорное утверждение про блокировку по странам. У меня локальные услуги в одном городе, клиентов из-за границы не было ни разу за шесть лет. Закрыл всё, кроме России, — мусор в логах упал в три раза, заявки как шли, так и идут. Не вижу, в чём тут вред.
Анатолий Кузнецов автор
Справедливое возражение, и в вашем сценарии оно во многом работает. Но обратите внимание на два момента. Первый: мусор в логах упал, а трафик, из-за которого обычно и затевают блокировку, приходит с российских серверных площадок и вашим фильтром не задет. То есть вы решили задачу нагрузки, а не задачу имитации визитов. Второй: потерю вы не увидите в отчётах никогда, потому что человек, у которого сайт не открылся, в статистику не попадает — он просто ушёл к конкуренту. Проверить можно так: возьмите телефон, включите браузер со встроенным туннелем и попробуйте открыть свой сайт. Если увидели отказ — ровно это видит ваш клиент из отпуска. Дальше решайте сами, я лишь настаиваю, что решение должно быть осознанным.
Вадим
Про краулеры соцсетей — неочевидная вещь, спасибо. Полгода назад ставили «защиту от парсинга», и с тех пор ссылки на сайт в чатах выглядели голым текстом. Все думали, что это мессенджер глючит.
Галина
У меня в whois было только название компании на английском, без слова hosting, и я застряла. Помогло вбить это название в поиск — через полминуты стало понятно, что это облачная площадка. Плюс посмотрела обратные DNS-имена нескольких адресов из блока: у серверов они технические, у домашних абонентов попадаются куски слов про широкополосный доступ. Оставляю как подсказку тем, кто тоже упрётся.
Денис
Добавлю по лимитам частоты. У нас порог поставили 10 запросов за 5 секунд, и через день посыпались жалобы, что сайт открывается «без картинок». Оказалось, одна страница каталога тянет 60 файлов. Вывели статику из-под лимита — всё встало на место. Так что совет про статику не теоретический.
Елена
Я правильно понимаю, что если поставить на сайт внешний фильтр, то он видит вообще весь трафик, включая то, что люди вводят в форму? Немного не по себе от такой мысли.
Анатолий Кузнецов автор
Понимаете правильно: сервис, стоящий перед сайтом, пропускает через себя запросы, и содержимое форм в том числе. Отсюда два следствия. Первое: такой сервис нужно указать в политике обработки персональных данных, потому что он получает сведения о ваших посетителях. Второе: если площадка зарубежная, вы попадаете в сюжет с передачей данных за пределы страны, а закон требует до начала такой передачи уведомить надзорный орган отдельно от общего уведомления об обработке. Для малого бизнеса, которому нужно закрыть пару подсетей, это лишняя нагрузка. Начинайте с блокировки на своём сервере — там данные никуда не уходят.
Жанна
Проверила свои адреса через инструмент в Вебмастере — оказалось, треть «робота Яндекса» в логах вообще не Яндекс. Никогда бы не догадалась проверять.
Захар
Не соглашусь с подходом в целом. Возиться с логами, whois, подсетями — это работа на полдня каждую неделю. Проще один раз заплатить за сервис защиты и забыть. Время владельца стоит дороже.
Анатолий Кузнецов автор
Для части сайтов вы правы, и я сам в тяжёлых случаях иду туда же. Возражение у меня к слову «забыть». Сервис перед сайтом — ещё одно звено, которое может лечь, замедлить отдачу страниц или начать показывать проверку части живых посетителей. Его настройки тоже нужно смотреть, просто реже. И он не решает главного: массовые визиты с одной серверной площадки на одну страницу по пять секунд большинство фильтров пропускает, потому что формально это обычные запросы без превышения частоты. Полдня в неделю, кстати, преувеличение: после первой настройки уходит минут двадцать в месяц на взгляд в отчёт по источникам.
Ирина
У нас сайт на конструкторе, доступа к серверу нет вообще. Из всего списка доступна только капча на форме. Получается, мы беззащитны?
Кирилл
Ирина, у части конструкторов есть встроенный раздел с защитой и списком блокировок, просто он спрятан в настройках домена, а не сайта. Стоит написать в поддержку и спросить прямо, можно ли закрыть диапазон адресов. Нам на одной платформе так и сделали руками по заявке.
Лариса
Вопрос про обход. После того как мы прикрутили ограничение частоты, в Вебмастере число загруженных страниц просело почти вдвое. Это совпадение или мы робота зацепили?
Анатолий Кузнецов автор
Скорее зацепили, и это лечится за десять минут. Проверьте два места. Первое: статистика обхода в Вебмастере, вкладка с кодами ответа — если после даты правок пошли 429 или 403, вопрос закрыт, лимит бьёт по роботу. Второе: прогоните несколько адресов через «Проверку ответа сервера», должен быть код 200. Лечится либо повышением порога, либо исключением проверенных адресов поисковых роботов из-под лимита — именно проверенных по DNS, а не по имени в запросе. И не тяните: длительное падение обхода заканчивается выпадением страниц из индекса, а возвращаются они потом неделями.
Марина
Сделала скрытое поле в форме по описанию — спам с формы исчез в тот же день, за неделю ни одного мусорного письма. Раньше приходило по десять штук. Самая простая мера из статьи и самая эффективная в нашем случае.