Защита форм WPForms от спама с помощью reCAPTCHA и CAPTCHA

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

Почему важна защита форм от спама в WordPress

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

  • засорению базы данных бесполезными записями;
  • нагрузке на сервер и замедлению работы сайта;
  • получению большого количества спам-сообщений на email;
  • ухудшению пользовательского опыта.

WPForms предлагает несколько способов защиты, но наиболее эффективными являются Google reCAPTCHA и классическая CAPTCHA с вопросами и картинками.

Как добавить Google reCAPTCHA в формы WPForms

Google reCAPTCHA – это бесплатный сервис от Google, который помогает отличать людей от ботов. В WPForms реализована поддержка reCAPTCHA версий v2 Checkbox и invisible.

Шаг 1. Получение ключей reCAPTCHA

Перейдите на сайт Google reCAPTCHA, зарегистрируйте ваш домен и получите Site Key и Secret Key. Для WPForms рекомендуем использовать reCAPTCHA v2 (Checkbox), так как она проще для пользователей и надежна.

Шаг 2. Настройка WPForms

В админке WordPress перейдите в WPForms > Настройки > reCAPTCHA, вставьте ключи и выберите тип reCAPTCHA. Сохраните настройки.

Шаг 3. Включение reCAPTCHA в форму

Отредактируйте нужную форму в WPForms, перейдите в раздел Настройки > Защита от спама и включите reCAPTCHA. После сохранения на фронтенде в форме появится виджет reCAPTCHA.

Добавление собственной CAPTCHA с вопросом

Иногда стандартные reCAPTCHA неудобны или их отключают пользователи. В таких случаях можно добавить простую текстовую CAPTCHA с вопросом.

Пример реализации текстовой CAPTCHA для WPForms

Добавим в форму дополнительное поле типа «Текст» с вопросом и проверим ответ через хук wpforms_validate.

function wpform_ru_custom_captcha_validation($fields, $entry, $form_data) {
    // ID поля с вопросом (замените на свой)
    $captcha_field_id = 5;
    $expected_answer = '7'; // например, вопрос: Сколько будет 3 + 4?

    if ( isset($fields[$captcha_field_id]) ) {
        $user_answer = trim($fields[$captcha_field_id]['value']);
        if ($user_answer !== $expected_answer) {
            wpforms()->process->errors[$form_data['id']][$captcha_field_id] = 'Ответ на вопрос указан неверно';
        }
    }
}
add_action('wpforms_process_validate', 'wpform_ru_custom_captcha_validation', 10, 3);

Этот код проверяет правильность ответа и выводит ошибку, если ответ неверен. Чтобы реализовать, нужно добавить в форму поле с вопросом, например, «Сколько будет 3 + 4?» и запомнить его ID.

Использование плагина WPForms Custom Captcha

Для более сложных CAPTCHA можно использовать сторонние расширения, например WPForms Custom Captcha от WPSHOP.RU. Он позволяет создавать собственные вопросы, использовать изображения и гибко настраивать защиту без сложного кода.

Советы по борьбе со спамом в WPForms

  • Включайте honeypot – скрытое поле, которое заполняют только боты. В WPForms эта функция включена по умолчанию.
  • Ограничьте количество отправок с одного IP с помощью плагинов безопасности.
  • Используйте фильтры и черные списки слов в настройках WPForms.
  • Обновляйте WPForms и плагины для защиты от уязвимостей.

Заключение

Защита форм WPForms от спама – важный этап в настройке сайта. Интеграция Google reCAPTCHA проста и эффективна, но при необходимости можно расширить функционал кастомными CAPTCHA на основе собственного кода или плагинов, таких как WPForms Custom Captcha. Правильная настройка защиты обеспечит чистоту данных и комфорт вашим пользователям.

WPForms отладка проблем с переадресацией после отправки формы в WordPress
06.12.2025
WPForms: как создать уникальный тип поля для форм в WordPress
21.01.2026
Защита форм WPForms от спама с помощью reCAPTCHA и CAPTCHA
06.01.2026
Как создать собственный обработчик формы в WordPress для WPForms
20.11.2025
WPForms: заполнение формы через AJAX без перезагрузки страницы
05.02.2026