Логотип seo-prodvizhenie-biznesa.ru
+7 (921) 333-77-45

Защита сайта от ботов: что реально работает, а что только мешает живым клиентам

Защита сайта от ботов: что реально работает, а что только мешает живым клиентам
Анатолий Кузнецов
Анатолий Кузнецов
SEO-оптимизатор с 20-летним стажем. Автор блога seo-prodvizhenie-biznesa.ru о продвижении и доработке сайтов.

Защита сайта от ботов начинается не с покупки сервиса, а с вопроса, каких именно ботов вы собираетесь отсекать. 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-оптимизатор

Остались вопросы по продвижению?

Меня зовут Анатолий Кузнецов, я SEO-оптимизатор с 20-летним стажем. Разберу ваш сайт, отвечу на вопросы и подскажу, что улучшить для роста позиций в Яндексе и Google.

Связаться со мной →

Комментарии

Андрей

У меня интернет-магазин, хостинг жалуется на нагрузку каждый месяц. Полез в логи — там половина запросов от сканеров, которые долбятся в /wp-login.php по сто раз в час. Закрыл вход на уровне сервера, нагрузка упала вдвое. Но появился вопрос: если я закрою вход, я сам-то как буду заходить?

Анатолий Кузнецов автор

Варианта три, по возрастанию удобства. Первый: разрешить доступ к адресу входа только со своего домашнего адреса, если провайдер даёт постоянный. Второй: оставить дополнительный пароль на уровне сервера — вы вводите его один раз, браузер запоминает, а перебор до формы движка вообще не доходит. Третий, самый удобный для нескольких человек: оставить вход открытым, но поставить жёсткий лимит частоты именно на этот адрес, два-три запроса в минуту. Живой человек столько и делает, а перебор упирается в потолок на первой же секунде. Только проверьте после настройки, что сами заходите нормально с телефона по мобильному интернету — адрес там другой.

Борис

Спорное утверждение про блокировку по странам. У меня локальные услуги в одном городе, клиентов из-за границы не было ни разу за шесть лет. Закрыл всё, кроме России, — мусор в логах упал в три раза, заявки как шли, так и идут. Не вижу, в чём тут вред.

Анатолий Кузнецов автор

Справедливое возражение, и в вашем сценарии оно во многом работает. Но обратите внимание на два момента. Первый: мусор в логах упал, а трафик, из-за которого обычно и затевают блокировку, приходит с российских серверных площадок и вашим фильтром не задет. То есть вы решили задачу нагрузки, а не задачу имитации визитов. Второй: потерю вы не увидите в отчётах никогда, потому что человек, у которого сайт не открылся, в статистику не попадает — он просто ушёл к конкуренту. Проверить можно так: возьмите телефон, включите браузер со встроенным туннелем и попробуйте открыть свой сайт. Если увидели отказ — ровно это видит ваш клиент из отпуска. Дальше решайте сами, я лишь настаиваю, что решение должно быть осознанным.

Вадим

Про краулеры соцсетей — неочевидная вещь, спасибо. Полгода назад ставили «защиту от парсинга», и с тех пор ссылки на сайт в чатах выглядели голым текстом. Все думали, что это мессенджер глючит.

Галина

У меня в whois было только название компании на английском, без слова hosting, и я застряла. Помогло вбить это название в поиск — через полминуты стало понятно, что это облачная площадка. Плюс посмотрела обратные DNS-имена нескольких адресов из блока: у серверов они технические, у домашних абонентов попадаются куски слов про широкополосный доступ. Оставляю как подсказку тем, кто тоже упрётся.

Денис

Добавлю по лимитам частоты. У нас порог поставили 10 запросов за 5 секунд, и через день посыпались жалобы, что сайт открывается «без картинок». Оказалось, одна страница каталога тянет 60 файлов. Вывели статику из-под лимита — всё встало на место. Так что совет про статику не теоретический.

Елена

Я правильно понимаю, что если поставить на сайт внешний фильтр, то он видит вообще весь трафик, включая то, что люди вводят в форму? Немного не по себе от такой мысли.

Анатолий Кузнецов автор

Понимаете правильно: сервис, стоящий перед сайтом, пропускает через себя запросы, и содержимое форм в том числе. Отсюда два следствия. Первое: такой сервис нужно указать в политике обработки персональных данных, потому что он получает сведения о ваших посетителях. Второе: если площадка зарубежная, вы попадаете в сюжет с передачей данных за пределы страны, а закон требует до начала такой передачи уведомить надзорный орган отдельно от общего уведомления об обработке. Для малого бизнеса, которому нужно закрыть пару подсетей, это лишняя нагрузка. Начинайте с блокировки на своём сервере — там данные никуда не уходят.

Жанна

Проверила свои адреса через инструмент в Вебмастере — оказалось, треть «робота Яндекса» в логах вообще не Яндекс. Никогда бы не догадалась проверять.

Захар

Не соглашусь с подходом в целом. Возиться с логами, whois, подсетями — это работа на полдня каждую неделю. Проще один раз заплатить за сервис защиты и забыть. Время владельца стоит дороже.

Анатолий Кузнецов автор

Для части сайтов вы правы, и я сам в тяжёлых случаях иду туда же. Возражение у меня к слову «забыть». Сервис перед сайтом — ещё одно звено, которое может лечь, замедлить отдачу страниц или начать показывать проверку части живых посетителей. Его настройки тоже нужно смотреть, просто реже. И он не решает главного: массовые визиты с одной серверной площадки на одну страницу по пять секунд большинство фильтров пропускает, потому что формально это обычные запросы без превышения частоты. Полдня в неделю, кстати, преувеличение: после первой настройки уходит минут двадцать в месяц на взгляд в отчёт по источникам.

Ирина

У нас сайт на конструкторе, доступа к серверу нет вообще. Из всего списка доступна только капча на форме. Получается, мы беззащитны?

Кирилл

Ирина, у части конструкторов есть встроенный раздел с защитой и списком блокировок, просто он спрятан в настройках домена, а не сайта. Стоит написать в поддержку и спросить прямо, можно ли закрыть диапазон адресов. Нам на одной платформе так и сделали руками по заявке.

Лариса

Вопрос про обход. После того как мы прикрутили ограничение частоты, в Вебмастере число загруженных страниц просело почти вдвое. Это совпадение или мы робота зацепили?

Анатолий Кузнецов автор

Скорее зацепили, и это лечится за десять минут. Проверьте два места. Первое: статистика обхода в Вебмастере, вкладка с кодами ответа — если после даты правок пошли 429 или 403, вопрос закрыт, лимит бьёт по роботу. Второе: прогоните несколько адресов через «Проверку ответа сервера», должен быть код 200. Лечится либо повышением порога, либо исключением проверенных адресов поисковых роботов из-под лимита — именно проверенных по DNS, а не по имени в запросе. И не тяните: длительное падение обхода заканчивается выпадением страниц из индекса, а возвращаются они потом неделями.

Марина

Сделала скрытое поле в форме по описанию — спам с формы исчез в тот же день, за неделю ни одного мусорного письма. Раньше приходило по десять штук. Самая простая мера из статьи и самая эффективная в нашем случае.

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

 Нажимая «оставить комментарий» вы принимаетеправила конфиденциальности 

Прокрутить вверх