Конверсия

Как защитить формы на сайте от спама и не потерять заявки

Многослойная защита форм от ботов: от невидимых ловушек до капчи. Как убрать спам и при этом не отпугнуть настоящих клиентов.

Как защитить формы на сайте от спама и не потерять заявки

Чтобы защитить формы на сайте от спама, используйте несколько слоёв: невидимую ловушку для ботов (honeypot), проверку времени заполнения и данных на сервере, ограничение частоты отправки и умную капчу вроде Yandex SmartCaptcha. Главное правило — защита должна мешать ботам, а не клиентам, поэтому после настройки обязательно проверьте конверсию формы.

Откуда берётся спам и чем он опасен

Спам в формах почти всегда отправляют программы, которые обходят сайты и заполняют всё, что похоже на форму. Им не нужен именно ваш сайт — они работают массово. Бывает и ручной спам: люди за небольшую плату вводят рекламу вручную, такой обойти сложнее.

Проблема не только в раздражении менеджеров:

  • Теряются настоящие заявки — среди сотни мусорных писем легко пропустить клиента.
  • Засоряется CRM, искажается аналитика: в Яндекс Метрике цель «Отправка формы» срабатывает на ботов, и реклама оптимизируется не на тех.
  • Страдает почтовая репутация: если форма отправляет автоответ на указанный адрес, боты используют её для рассылки спама от вашего имени, и письма сайта начинают попадать в спам у получателей.
  • Нагрузка на сервер и расход лимитов SMS или платных API, если форма их использует.
Хорошая защита отсекает ботов незаметно для настоящих посетителей
Хорошая защита отсекает ботов незаметно для настоящих посетителей

Слой 1. Невидимые проверки (honeypot и время)

Самый дружелюбный к людям способ. Посетитель ничего не замечает, а примитивные боты отсекаются.

Honeypot — поле-ловушка

В форму добавляется дополнительное поле, скрытое от людей с помощью CSS. Человек его не видит и не заполняет, а бот заполняет всё подряд. Если поле не пустое — заявка отклоняется. Важно:

  • скрывайте поле через CSS, а не атрибутом type=»hidden» — такие поля боты часто пропускают;
  • дайте полю правдоподобное имя, например «website» или «company_site»;
  • добавьте атрибуты autocomplete=»off» и tabindex=»-1″, чтобы браузер не автозаполнил его и клавиатура не попала в него у реального посетителя.

Проверка времени заполнения

Человек не может заполнить форму за полсекунды после загрузки страницы. Сервер запоминает время показа формы и отклоняет отправки, пришедшие слишком быстро (например, быстрее 2–3 секунд). Порог подбирайте осторожно: автозаполнение браузера ускоряет людей.

Слой 2. Проверка на сервере

Всё, что проверяется только в браузере с помощью JavaScript, бот обходит, отправляя запрос напрямую. Поэтому валидация на сервере обязательна.

  • Формат данных: телефон — только цифры и допустимые символы нужной длины, email — корректный формат, имя — без ссылок.
  • Запрет ссылок в полях, где их не должно быть. Большинство спам-сообщений содержит URL.
  • Стоп-слова — список типичных слов и доменов из спама. Работает, но требует обновления.
  • Язык: если бизнес работает в России, а сообщение целиком на иностранном языке, его можно не удалять, а помечать как подозрительное.
  • Одноразовый токен (CSRF) в форме — отсекает отправки без загрузки страницы.

Слой 3. Ограничение частоты

Настройте лимит: не больше нескольких отправок с одного IP-адреса за определённое время. Это останавливает массированные атаки. На уровне сервера nginx это делается модулем limit_req, в WordPress — плагинами безопасности. Если сайт находится за сервисом защиты от DDoS, у многих из них есть готовые правила для ботов.

Слой 4. Капча — когда без неё никак

Если спам идёт сквозь первые три слоя, подключайте капчу. Для сайтов, ориентированных на Россию, практичный выбор — Yandex SmartCaptcha: сервис Яндекс Облака, который в большинстве случаев пропускает человека после простого клика по чекбоксу, а задание показывает только подозрительным посетителям. Есть и невидимый режим. Сервис платный по количеству проверок, но у него есть бесплатный лимит — актуальные условия смотрите на сайте Яндекс Облака.

Способ Видно посетителю Против каких ботов Влияние на конверсию
Honeypot Нет Простые, массовые Никакого
Проверка времени Нет Простые Минимальное при правильном пороге
Серверная валидация и стоп-слова Только при ошибке Ссылочный спам Минимальное
Лимит частоты Нет Массовые атаки Никакого
SmartCaptcha (чекбокс/невидимая) Иногда Продвинутые Небольшое
Капча с картинками всегда Да Продвинутые Заметное

Старые капчи с искажёнными буквами лучше не использовать: они раздражают людей и плохо останавливают современных ботов.

Настройка на популярных платформах

WordPress

  • Contact Form 7 — поддерживает honeypot через дополнительный плагин, есть встроенный механизм фильтрации по стоп-словам и интеграции с сервисами капчи; для SmartCaptcha есть сторонние плагины.
  • Комментарии — если они не нужны, отключите их полностью в «Настройки» → «Обсуждение». Это самый частый вход для спама на WordPress.
  • Регистрация пользователей — отключите, если не используется.

1С-Битрикс

В модуле «Веб-формы» есть встроенная капча, а в модуле «Проактивная защита» — фильтры и ограничения. Для современных сценариев SmartCaptcha подключается через готовые решения из Маркетплейса Битрикса или доработкой шаблона.

Tilda

В настройках формы есть встроенная защита от спама, а часть проверок платформа выполняет сама. Если спам всё равно идёт, проверьте, не опубликован ли адрес вебхука или приёма заявок в открытом виде, и ограничьте поля формы по формату.

Не сломайте конверсию

Самая дорогая ошибка — перестараться. Бывает, что после установки капчи спам исчез, но и заявок стало меньше, а никто этого не заметил. Чтобы этого не случилось:

  1. Зафиксируйте количество заявок и конверсию формы в Яндекс Метрике за 2–4 недели до изменений.
  2. Настройте цель на успешную отправку формы (после серверной проверки), а не на клик по кнопке.
  3. После внедрения сравните показатели. Посмотрите записи Вебвизора: не спотыкаются ли люди на капче.
  4. Проверьте формы с телефона и с включённым блокировщиком рекламы.
  5. Не удаляйте подозрительные заявки молча — складывайте их в отдельную папку или статус в CRM и просматривайте раз в неделю.

Если спама нет, а заявок всё равно мало, дело не в ботах. Разобраться поможет статья «Трафик есть, заявок нет».

Пошаговый план внедрения

Если спам уже идёт, не включайте всё сразу. Двигайтесь от невидимых мер к заметным и после каждого шага смотрите на результат неделю:

  1. Уберите лишние формы и поля: отключите неиспользуемые комментарии, регистрацию, старые формы на забытых страницах.
  2. Включите honeypot и проверку времени заполнения.
  3. Добавьте серверную валидацию телефона и email, запрет ссылок в полях.
  4. Настройте лимит отправок с одного IP.
  5. Отключите автоответ на адрес из формы или уберите из него произвольный текст посетителя, чтобы форму нельзя было использовать для рассылки.
  6. Только если спам продолжается — подключите SmartCaptcha, начиная с невидимого режима.

Такой порядок позволяет понять, какая мера реально сработала, и не добавлять лишних барьеров для клиентов.

Отдельно о персональных данных

Форма, собирающая имя и телефон, обрабатывает персональные данные. Рядом с ней должно быть согласие на обработку и ссылка на политику конфиденциальности. Если вы подключаете внешний сервис проверки, он тоже получает данные о посетителе — учтите это в политике. Для российских сайтов удобно, что SmartCaptcha работает на инфраструктуре в России.

Частые вопросы

Почему спам идёт, хотя капча стоит?

Причин несколько: капча проверяется только в браузере, а на сервере её ответ не сверяется; боты отправляют данные напрямую на обработчик формы; спам вводят люди вручную. Проверьте серверную валидацию токена капчи и добавьте фильтрацию по содержимому.

Можно ли обойтись вообще без капчи?

Для многих сайтов малого бизнеса — да. Honeypot, проверка времени, серверная валидация и лимит отправок отсекают основную массу автоматического спама. Капчу стоит добавлять, только если этих мер не хватило, и начинать с невидимого режима.

Спам приходит в CRM напрямую, минуя сайт. Что делать?

Скорее всего, где-то в коде страницы опубликован адрес вебхука или API-ключ, и боты отправляют данные прямо туда. Смените ключ, перенесите отправку в CRM на сервер сайта, чтобы адрес интеграции не был виден в браузере.

Спам-заявки портят статистику рекламы. Как быть?

Перенастройте цель в Метрике на успешную серверную отправку, а в CRM помечайте мусорные заявки. Если используете сквозную аналитику или офлайн-конверсии, передавайте в рекламные системы только квалифицированные лиды — так автостратегии Директа перестанут учиться на ботах.

Pear Advert настроит многослойную защиту форм без ущерба для заявок в рамках поддержки сайта, а если нужно навести порядок с целями и потоком заявок — поможет сквозная аналитика и корректная интеграция с CRM.

Читать дальше

Статьи по теме

Начать проект

Давайте сделаем крутой проект вместе

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

Телефон

8 (926) 837 76 68

Почта

info@pear-advert.ru

Офис

Москва, ул. Гиляровского, 57с1

Оставьте заявку

Ответим в течение рабочего дня

Выберите тип проекта

Данные используются только для ответа на заявку и хранятся не дольше трёх лет.