Главная » Wordpress » «Отправляемые данные определены как спам» в Contact Form 7: причины и решения
|

«Отправляемые данные определены как спам» в Contact Form 7: причины и решения

Contact Form 7 определяет сообщения как спам: как найти и устранить причину

Форма Contact Form 7 может работать корректно, а затем внезапно перестать отправлять сообщения. При попытке отправки появляется уведомление:

Отправляемые данные определены как спам.

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

Contact Form 7 присваивает заявке статус spam и прекращает обработку до вызова почтовой функции. Сначала необходимо определить, какая именно проверка блокирует форму.

Убедитесь, что форма действительно блокирует спам-фильтр

По умолчанию сообщения Contact Form 7 об ошибке отправки и блокировке спама могут выглядеть почти одинаково. Чтобы различить эти ситуации, откройте:

Контакты → Контактные формы → нужная форма → Сообщения

Найдите поле «Отправляемые данные определены как спам» и укажите отдельный текст, например:

Не удалось пройти автоматическую проверку. Обновите страницу и попробуйте ещё раз.

Сохраните форму и выполните тестовую отправку.

Если появился новый текст, заявка действительно была остановлена антиспам-системой. SMTP, почтовый сервер и функция mail() на этом этапе ещё не используются.

Определите причину через Flamingo

Contact Form 7 не показывает посетителю, какой именно модуль присвоил заявке статус spam. Для диагностики удобно использовать официальный плагин Flamingo.

Установите и активируйте Flamingo, после чего:

  1. Отправьте тестовое сообщение через проблемную форму.
  2. Откройте Flamingo → Входящие сообщения → Спам.
  3. Выберите заблокированную заявку.
  4. Найдите поле Spam log.

В журнале может быть указано, например:

reCAPTCHA score (0.30) is lower than the threshold (0.50)
reCAPTCHA response token is empty
Akismet: spam

Flamingo сохраняет только сообщения, отправленные после его установки. Ранее заблокированные заявки в журнале не появятся.

Низкая оценка reCAPTCHA

Google reCAPTCHA v3 присваивает каждой отправке числовую оценку. Если она ниже установленного порога, Contact Form 7 блокирует сообщение.

В Spam log это выглядит так:

reCAPTCHA score (0.30) is lower than the threshold (0.50)

Снизить порог можно через functions.php дочерней темы или плагин сниппетов:

add_filter( 'wpcf7_recaptcha_threshold', function( $threshold ) {
	return 0.3;
} );

Значение нужно выбирать по реальным данным из Flamingo. Не следует сразу устанавливать минимальный порог: вместе с ложными блокировками увеличится количество настоящего спама.

Если reCAPTCHA нестабильно работает1, постоянное снижение порога проблему не решит. В таком случае лучше отказаться от этой проверки и использовать защиту, не зависящую от доступности сервисов Google.

Contact Form 7 не получает токен reCAPTCHA

Если в журнале указано:

reCAPTCHA response token is empty

Contact Form 7 не получил результат проверки. Снижение порога здесь бесполезно: оценка отсутствует полностью.

Причиной могут быть:

  • недоступность серверов reCAPTCHA;
  • блокировка скрипта браузером;
  • работа сайта через мобильную сеть или VPN;
  • блокировщик рекламы;
  • настройки конфиденциальности браузера;
  • cookie-баннер, запрещающий загрузку скрипта;
  • отложенная загрузка или оптимизация JavaScript;
  • неверные ключи для текущего домена;
  • конфликт нескольких CAPTCHA-плагинов.

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

Для подтверждения причины можно временно удалить ключи в разделе:

Контакты → Интеграция → reCAPTCHA

После этого очистите кэш и снова отправьте форму. Если сообщение ушло, блокировка была связана с reCAPTCHA.

Не оставляйте форму без защиты надолго. После отключения reCAPTCHA подключите другой антиспам-механизм.

Чем заменить reCAPTCHA

Для сайта, ориентированного на пользователей из России, не стоит делать отправку формы полностью зависимой от зарубежного CAPTCHA-сервиса. Если внешний скрипт не загрузится, реальный посетитель не сможет отправить сообщение.

Вместо reCAPTCHA можно использовать:

  • плагин интеграции Contact Form 7 с Яндекс SmartCaptcha;
  • honeypot-поле;
  • простой проверочный вопрос;
  • ограничение частоты отправок;
  • серверную проверку подозрительных значений;
  • комбинацию honeypot и фильтрации заявок.

Не подключайте одновременно несколько CAPTCHA-плагинов. Они могут конфликтовать между собой и блокировать нормальные отправки.

После замены защиты обязательно проверьте форму:

  • без авторизации;
  • на компьютере и телефоне;
  • через Wi-Fi и мобильную сеть;
  • в нескольких браузерах;
  • после очистки кэша.

Срабатывание Akismet

Akismet участвует в проверке, если в разметке формы используются параметры:

[text* your-name akismet:author]
[email* your-email akismet:author_email]

Откройте вкладку «Форма» и временно удалите параметры akismet:*:

[text* your-name]
[email* your-email]

Сохраните изменения и повторите отправку.

Если форма заработала, заявку блокировал Akismet. В Flamingo такое сообщение можно открыть и отметить как «Не спам».

Полностью отключать проверку Akismet следует только при наличии другого способа защиты формы.

Запрещённые ключи WordPress

Contact Form 7 учитывает системный список запрещённых ключей:

Настройки → Обсуждение → Запрещённые ключи комментариев

Если имя, email, IP-адрес или текст сообщения совпадает с одной из строк этого списка, заявка может быть заблокирована.

Особенно часто проблему вызывают:

  • слишком короткие записи;
  • распространённые слова;
  • части популярных почтовых доменов;
  • фрагменты IP-адресов;
  • большие готовые списки, скопированные из интернета.

Для проверки сохраните содержимое поля в текстовый файл, временно очистите список и повторите отправку.

Если форма заработала, возвращайте записи небольшими группами, пока не найдёте проблемную строку.

Сторонние плагины защиты

Статус spam могут устанавливать не только встроенные интеграции Contact Form 7, но и сторонние плагины:

  • CAPTCHA;
  • honeypot;
  • антиспам для форм;
  • плагины безопасности;
  • защита от ботов;
  • ограничение запросов;
  • блокировка IP-адресов.

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

Особое внимание следует уделить ситуации, когда на сайте одновременно работают несколько средств защиты формы. Например, reCAPTCHA, отдельный CAPTCHA-плагин и honeypot. Такая комбинация не обязательно повышает качество фильтрации, но заметно увеличивает вероятность ложных блокировок.

Пользовательский код

Разработчик сайта может самостоятельно присваивать заявке статус спама через фильтр:

wpcf7_spam

Такой код может находиться:

  • в functions.php;
  • в дочерней теме;
  • в плагине сниппетов;
  • в собственном плагине;
  • в каталоге mu-plugins.

Если Flamingo не указывает на reCAPTCHA или Akismet, а отключение сторонних плагинов не помогает, найдите использование wpcf7_spam в коде сайта.

Также проверьте собственные проверки IP-адресов, доменов email, содержимого полей и частоты отправок.

Что делать, если блокируются все формы

Правильный порядок действий:

  1. Измените текст сообщения о спаме, чтобы подтвердить тип ошибки.
  2. Установите Flamingo.
  3. Отправьте новую тестовую заявку.
  4. Откройте Spam log.
  5. Определите модуль, который присвоил статус spam.
  6. Исправляйте только найденную причину.

Если в логе указана низкая оценка reCAPTCHA, скорректируйте порог или замените reCAPTCHA.

Если токен отсутствует, проверьте загрузку скрипта и доступность внешнего сервиса.

Если сработал Akismet, проверьте параметры akismet:*.

Если причина связана с запрещёнными ключами, очистите или пересмотрите список.

Если в журнале нет понятного объяснения, последовательно проверьте сторонние плагины и пользовательский код.

Похожие записи

Задайте вопрос

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