Предотвращение пометки отправлений контактной формы 7 как спама

Contact Form 7 (CF7) – популярный плагин WordPress, используемый для создания контактных форм на веб-сайтах и ​​управления ими. Однако одной из распространенных проблем, с которыми сталкиваются владельцы веб-сайтов, является большое количество законных отправленных форм, которые помечаются как спам. В этой статье мы рассмотрим несколько эффективных методов предотвращения того, чтобы отправленные формы CF7 были помечены как спам. Мы предоставим примеры кода для каждого метода, чтобы упростить реализацию.

Метод 1: внедрение поля HoneyPot
Один из способов защиты от спам-ботов – добавить скрытое поле в форму CF7. Боты, как правило, заполняют все поля, включая скрытые, в то время как пользователи-люди не видят скрытое поле и не взаимодействуют с ним. В код формы CF7 добавьте следующую строку:

[text* honeypot]

Далее в «Дополнительных настройках» формы CF7 добавьте следующий код:

on_sent_ok: "document.getElementById('honeypot').value='';"

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

Метод 2. Внедрение reCAPTCHA
Google reCAPTCHA – широко используемый инструмент для предотвращения спама и злоупотреблений на веб-сайтах. Чтобы добавить reCAPTCHA в форму CF7, выполните следующие действия:

Шаг 1. Зарегистрируйте свой веб-сайт и получите ключи reCAPTCHA API с веб-сайта Google reCAPTCHA.
Шаг 2. Установите и активируйте плагин «Contact Form 7 reCAPTCHA» на своем сайте WordPress.
Шаг 3. Перейдите на страницу настройки формы CF7 и на вкладке «Интеграция» введите ключи API reCAPTCHA.
Шаг 4. Добавьте поле reCAPTCHA в форму CF7:

[recaptcha]

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

Метод 3: внедрение фильтрации спама Akismet
Akismet — это мощная служба фильтрации спама, предоставляемая Automattic, компанией, стоящей за WordPress. Его можно интегрировать с CF7 для автоматического обнаружения и фильтрации спама. Чтобы использовать Akismet, выполните следующие действия:

Шаг 1. Зарегистрируйтесь для получения API-ключа Akismet на akismet.com.
Шаг 2. Установите и активируйте плагин «Akismet» на своем сайте WordPress.
Шаг 3. Перейдите к настройкам плагина Akismet и введите свой ключ API.
Шаг 4. Включите фильтрацию спама Akismet для ваших форм CF7.

Метод 4. Внедрение пользовательской проверки
Вы можете создать собственные правила проверки для полей формы CF7, чтобы блокировать отправки, содержащие определенные ключевые слова, которые обычно встречаются в спаме. Добавьте следующий код в файл functions.phpвашей темы:

add_filter('wpcf7_validate_text', 'custom_cf7_validation', 20, 2);
function custom_cf7_validation($result, $tag) {
    $name = $tag->name;
    $value = $_POST[$name];

    // Add your custom validation logic here
    if (stripos($value, 'spam_keyword') !== false) {
        $result->invalidate($tag, 'This field contains spam content.');
    }

    return $result;
}

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

Применяя эти методы, вы можете значительно сократить количество спам-рассылок, полученных через контактную форму 7. Независимо от того, решите ли вы добавить поле HoneyPot, интегрировать reCAPTCHA, использовать фильтрацию спама Akismet или внедрить пользовательскую проверку, принятие упреждающих мер поможет. убедитесь, что отправленные законные формы не помечаются как спам.