Защита сайта от ботов: все способы
Способов защиты от ботов много, и у каждого своя цена: одни мешают людям, другие обходятся за минуту. Собрали всё в одном месте — от бесплатных настроек до антибот-сервисов.
Содержание
Коротко
- robots.txt и блокировка по User-Agent работают только против честных роботов.
- Капча защищает форму, но мешает людям и не чистит Метрику и рекламу.
- Надёжнее всего — оценка по браузеру, сети и поведению с проверкой для сомнительных посетителей.
robots.txt — только для честных роботов
Файл robots.txt просит роботов не заходить в определённые разделы. Его соблюдают поисковики и большинство SEO-сервисов. Вредные боты его просто игнорируют, поэтому как защита он не работает — это способ снизить нагрузку от «вежливых» краулеров. Готовые правила можно собрать в генераторе блокировки ботов.
Блокировка по IP и User-Agent
В nginx, Apache или панели хостинга можно запретить доступ отдельным адресам, подсетям и строкам User-Agent.
- Плюсы: бесплатно, работает мгновенно.
- Минусы: User-Agent подделывается одной строкой, а IP-адреса у ботов меняются через прокси. Список приходится постоянно обновлять, и легко случайно заблокировать живых людей из той же подсети мобильного оператора.
Ограничение частоты запросов
Если с одного адреса приходит больше N запросов в секунду — притормаживать или отказывать. Хорошо защищает от грубого парсинга и перебора паролей, но почти не помогает против накрутки и скликивания: такие боты ходят медленно и с разных адресов.
Капча
Классическая защита форм. Современные капчи вроде Яндекс SmartCaptcha часто обходятся галочкой «Я не робот», но всё равно:
- снижают конверсию — часть людей уходит, не дождавшись проверки;
- не спасают от ботов, которые решают капчу через сервисы распознавания за копейки;
- защищают только форму, а статистику и рекламу — нет.
Разбор вариантов — в статье «Капча для сайта: какую выбрать».
Скрытое поле и проверка времени
В форму добавляют поле, которое человек не видит, а бот заполняет. Плюс проверяют, сколько секунд прошло от открытия страницы до отправки: человек не заполнит форму за полсекунды. Способ бесплатный и незаметный для людей, отсекает простых спам-ботов, но не справляется с ботами на реальном браузере.
Поведенческий анализ и антибот-сервисы
Самый надёжный подход — оценивать каждого посетителя по десяткам признаков сразу:
- браузер: нет ли следов автоматизации, совпадают ли заявленные и реальные возможности;
- сеть: дата-центр, прокси, VPN, репутация адреса;
- поведение: движения мыши, прокрутка, скорость действий;
- история: как этот посетитель вёл себя раньше.
Так работают антибот-сервисы. Хороший сервис при этом не блокирует людей вслепую: сомнительному посетителю показывает короткую проверку, а поисковых роботов пропускает после проверки по DNS.
Сравнение способов
| Способ | Против кого работает | Мешает людям | Цена |
|---|---|---|---|
| robots.txt | Только честные краулеры | Нет | Бесплатно |
| Блокировка IP и User-Agent | Грубые боты с постоянных адресов | Иногда | Бесплатно, но время на поддержку |
| Лимит запросов | Парсеры, перебор | Редко | Бесплатно |
| Капча | Спам в формах | Да | Бесплатно или по запросам |
| Скрытое поле | Простые спам-боты | Нет | Бесплатно |
| Антибот-сервис | Накрутка, скликивание, спам, парсинг | Почти нет | От 0 ₽ в месяц |
Что выбрать
Для небольшого сайта разумная связка такая: robots.txt и лимиты на сервере — от грубой нагрузки, а антибот-сервис — от того, что действительно стоит денег: фейковых заявок, мусора в Метрике и скликивания рекламы. Начните с наблюдения: посмотрите, сколько ботов на самом деле, и только потом включайте блокировку.
Частые вопросы
Какой самый простой способ защитить сайт от ботов?
Подключить антибот-сервис одной строкой кода в режиме наблюдения: он покажет, сколько ботов и откуда, ничего не блокируя. Дальше можно включить проверку для подозрительных посетителей и защиту форм.
Защитит ли robots.txt от ботов?
Нет. Это просьба, а не запрет: её выполняют поисковики и честные сервисы, а вредные боты игнорируют.
Не пострадает ли SEO от защиты от ботов?
Не пострадает, если роботов Яндекса и Google пропускать. Правильная защита проверяет их по обратному и прямому DNS — так подделать поискового робота нельзя.
Нужен ли программист, чтобы защитить сайт от ботов?
Для наблюдения и режима защиты — нет: код ставится в шапку сайта, как счётчик Метрики. Для проверки заявок на своём сервере нужно добавить один запрос в обработчик формы.
Чем антибот отличается от защиты от DDoS?
DDoS-защита фильтрует огромные потоки трафика на уровне сети, чтобы сайт не упал. Антибот разбирается с отдельными посетителями: накрутка, спам, скликивание, парсинг. Это разные задачи.
Сколько стоит защита сайта от ботов?
Базовые меры бесплатны. Антибот-сервисы для небольших сайтов стоят от 0 до нескольких тысяч рублей в месяц в зависимости от трафика. У nbots есть бесплатный тариф до 3 000 визитов в месяц.
Не будет ли защита мешать клиентам?
Правильно настроенная — нет. Большинство людей ничего не замечают, а тех, кто похож на бота (например, из-за VPN), просят один раз нажать кнопку.