Спам через формы сайта — это не просто раздражающие письма в почте. Это нагрузка на сайт, мусор в заявках, риск пропустить нормальное обращение, проблемы с почтовой репутацией и иногда первый признак, что боты активно нашли ваш WordPress-сайт.

Обычно всё начинается спокойно: одна странная заявка, потом пять, потом десятки писем с бессмысленным текстом, ссылками, одинаковыми именами, иностранными доменами, рекламой казино, крипты, SEO-услуг и прочего цифрового счастья. И в какой-то момент форма на сайте превращается из инструмента заявок в бесплатный мусоропровод.

Google описывает reCAPTCHA как сервис, который защищает сайт от спама и злоупотреблений, используя анализ риска для различения людей и ботов. А reCAPTCHA v3 возвращает score для каждого запроса без лишнего действия от пользователя, чтобы сайт мог сам решить, как обработать подозрительную отправку.

Симптомы

Главный симптом — через форму начинают приходить заявки, которые явно не писал живой человек. В них странные имена, бессмысленные фразы, ссылки, одинаковые шаблоны, нерелевантные услуги, иностранные тексты или повторяющиеся сообщения с разных email.

Второй симптом — спам идёт волнами. Сегодня тишина, завтра 30 сообщений за час. Это часто означает, что форму нашли автоматические боты, сканеры или спам-сети. Они не сидят и не думают над вашим оффером. Они просто отправляют всё, куда можно отправить.

СимптомЧто это может означать
Много одинаковых заявокбот отправляет шаблон
В письмах есть ссылкипопытка SEO-спама или фишинга
Заявки идут волнамиформу нашли автоматические скрипты
Странные имена и emailмассовая генерация данных
Сообщения на другом языкебот не ориентируется на аудиторию сайта
Спам идёт ночьюавтоматическая отправка без участия людей
Форма отправляется слишком быстроскрипт обходит нормальное поведение пользователя
В заявках HTML или кодпопытка инъекций или мусорного ввода
Нормальные заявки теряются среди спамауже есть бизнес-ущерб

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

Почему это происходит

Первая причина — форма доступна всем и никак не проверяет отправителя. Для человека это удобно. Для бота тоже. Если форма принимает любые данные без фильтрации, защиты, проверки скорости отправки и антиспама, её рано или поздно найдут.

Вторая причина — популярные WordPress-плагины форм хорошо известны ботам. Contact Form 7, WPForms, Elementor Forms и другие решения используют понятные маршруты, поля и обработчики. Сам факт популярности не делает плагин плохим, но делает типовые формы более заметными для автоматических атак.

Третья причина — нет серверной проверки. Нельзя полагаться только на фронтенд. Если защита существует только в браузере, бот может отправлять запросы напрямую на обработчик формы. Cloudflare Turnstile, например, работает в два шага: виджет получает token в браузере, а сервер затем отправляет token в Cloudflare для проверки валидности.

Четвёртая причина — неправильно настроенная защита. reCAPTCHA, Turnstile, Akismet, honeypot, фильтры, firewall и лимиты должны работать аккуратно. Если включить всё подряд, можно не только отрезать ботов, но и сломать нормальные заявки. Особенно неприятно, когда форма перестаёт принимать реальных клиентов, но зато спама стало меньше. Победа уровня «пациент не жалуется».

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

ПричинаЧто происходит
Нет антиспамаформа принимает всё подряд
Нет серверной проверкибот может обойти браузерную защиту
Популярный плагин формыботы знают типовые обработчики
Слабая валидация полейпроходят ссылки, код, мусор
Нет rate limitingможно отправлять много заявок подряд
Неправильная капчаблокирует людей или не ловит ботов
Нет логов отправкинепонятно, откуда идёт спам
Сайт под бот-нагрузкойстрадают формы, сервер и почта

Akismet проверяет комментарии и отправки контактных форм по глобальной базе спама, а официальный плагин WordPress описан как антиспам-защита для комментариев и contact form submissions. Для Contact Form 7 Akismet можно подключать через специальные параметры полей, например для автора, email и URL.

Что проверить в первую очередь

Сначала нужно понять масштаб. Сколько спама приходит: 2–3 письма в неделю, 20 в день или сотни за час? Спам идёт через одну форму или через все? Это contact form, форма услуги, комментарии, регистрация, WooCommerce, подписка или кастомный обработчик?

Что проверитьЗачем
Какая форма ловит спампонять точку входа
Частота отправокоценить масштаб
Время отправокувидеть волны и автоматику
Содержание заявокпонять тип спама
IP и User-Agentнайти повторяющиеся источники
Наличие ссылоквыявить SEO-спам
Работают ли нормальные заявкине сломать конверсию
Есть ли SMTP и журнал отправкипонять, что реально уходит
Какие плагины формы стоятпроверить настройки защиты
Есть ли кэш / CDN / firewallпонять уровень фильтрации

Дальше проверьте настройки самой формы. Есть ли обязательные поля, нормальная валидация email, ограничение ссылок в сообщении, защита от слишком быстрой отправки, honeypot, капча или антиспам-интеграция. Если форма принимает пустой текст, ссылку в каждом поле и отправку за 0,3 секунды после открытия страницы, ботам даже стараться не нужно.

Важно проверить, не мешает ли защита нормальным пользователям. Если после включения капчи или антиспама реальные заявки пропали, проблема может быть уже не в спаме, а в чрезмерной фильтрации. Для такой ситуации полезен связанный материал почему формы на сайте не отправляют заявки.

ПроверкаХороший признак
Обязательные полянельзя отправить пустую форму
Валидация emailмусорные адреса не проходят
Honeypotскрытое поле ловит простых ботов
Captcha / Turnstileесть проверка человека или риска
Серверная проверка tokenзащита не только на фронтенде
Лимит частотынельзя отправить 100 заявок подряд
Фильтр ссылоксообщения с мусорными URL ограничены
Логивидно IP, время и ошибку

Contact Form 7 в своей документации отдельно рекомендует Turnstile как CAPTCHA-альтернативу Cloudflare для защиты контактных форм от спам-ботов; в документации Cloudflare Turnstile также прямо описан как инструмент защиты форм через клиентский виджет и серверную проверку token.

Как снизить ущерб

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

Первый шаг — сохранить нормальный канал связи. Если форма тонет в спаме, добавьте временно альтернативу: email, Telegram, VK, телефон, ссылку на мессенджер. Но не убирайте форму без понимания, если она приносит заявки.

Второй шаг — включить мягкую защиту. Обычно начинают с honeypot, базовой фильтрации, ограничения ссылок и проверки обязательных полей. Это меньше мешает пользователям, чем жёсткая капча. Если спама много, добавляют Turnstile, reCAPTCHA, Akismet или антиспам-плагин.

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

МераКогда использовать
Honeypotпри простом автоматическом спаме
Ограничение ссылокесли в заявках много URL
Валидация полейесли проходят пустые или мусорные данные
Turnstile / reCAPTCHAесли простая защита не помогает
Akismetесли нужен фильтр по базе спама
Rate limitingесли идут массовые отправки
Firewall / WAFесли бот-трафик шире, чем формы
Логи и журнал заявокесли нужно понять источник проблемы
SMTP и отдельный ящикчтобы не терять нормальные заявки

Google reCAPTCHA v3 работает без пользовательского вызова и возвращает score, а Turnstile позиционируется Cloudflare как CAPTCHA-замена, которая подтверждает реальность посетителей и блокирует нежелательных ботов без замедления опыта для реальных пользователей. На практике выбор зависит от формы, плагина, сайта, требований к приватности и того, насколько критичны ложные блокировки.

Если спам идёт через несколько форм, комментарии, регистрации или WooCommerce, лучше не ограничиваться одной формой. Нужно смотреть весь сайт: плагины, открытые endpoints, XML-RPC, REST API, комментарии, регистрацию, firewall, логи и хостинг.

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

Если спама немного, можно начать с настройки формы: honeypot, обязательные поля, фильтр ссылок, Turnstile или reCAPTCHA, журнал заявок и проверка доставки писем. После каждой правки нужно отправить тестовую заявку как обычный пользователь и убедиться, что она дошла.

Если спама много, он идёт волнами, сайт нагружен, формы перестают нормально работать или заявки уже теряются, лучше переходить к системной защите. Здесь уже важно не просто «поставить капчу», а понять, как боты отправляют формы, что видно в логах, какие IP повторяются, есть ли прямые POST-запросы, как настроен сервер и не мешает ли защита нормальным посетителям.

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

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

СитуацияЧто делать
1–2 спам-заявки в неделюмягкая фильтрация и honeypot
10–20 спам-заявок в деньTurnstile/reCAPTCHA, Akismet, фильтры
Сотни отправокrate limiting, firewall, логи, серверная защита
Нормальные заявки пропалипроверить, не блокирует ли антиспам людей
Спам идёт через все формысистемная проверка WordPress
Есть нагрузка на сайтсмотреть хостинг, логи, ботов
Форма сломалась после защитыоткатить и диагностировать настройки
Непонятно, что включенотехническая проверка формы и плагинов

Для самостоятельного продолжения можно использовать материал как защитить формы от спама: он ближе к практической настройке защитных слоёв после первичной диагностики.