akismet contact form 7

Сегодня поговорим о том, как можно избавиться от спама, который приходит с плагина Contact Form 7 — контактная форма на вашем сайте. Один из самых популярных подобных плагинов.

Избавляться будем при помощи функционала Akismet (по ссылке статья), т.е. без всяких капч, которые я терпеть не могу вводить.

Итак. Чтобы все получилось, у вас должен быть установлен Akismet и активирован. Далее переходим в CF7 в нужную вам форму и добавляем следующее:

  • к полю ввода имени дописываем akismet:author и получаем
    [text* your-name akismet:author]
  • к полю ввода email дописываем akismet:author_email и получаем
    [email* your-email akismet:author_email]
  • к полю ввода url сайта дописываем akismet:author_url и получаем
    [text your-url akismet:author_url]

По итогу получится нечто подобное (пример на сайте одного из клиентов):

Spammers target everything and your contact forms are no exception.

Contact Form 7 provides several spam protection modules; we recommend utilizing different types in combination.

Akismet is a powerful anti-spam service provided by Automattic that protects your contact forms. Spam filtering with Akismet forms the centerpiece of our spam prevention strategy.

Activating Akismet

The first step is to activate the Akismet plugin. Since the plugin package of Akismet is bundled with WordPress, there is no need to manually install it. Move to the Plugins menu and simply activate the plugin titled “Akismet Anti-Spam”.

You need an API key to use Akismet. If you use it on a personal blog, you can get an API key for free. For corporate or commercial sites, paid subscriptions are available.

For people considering the paid subscriptions, we recommend Jetpack “Personal” or upper plans. Jetpack is the total solution package for WordPress and is provided by the same company as Akismet. In addition to Jetpack’s wide variety of features, the “Personal” and upper plans include an Akismet subscription that is equivalent to the Akismet “Plus” plan.

Deploying Akismet in a Contact Form

The primary purpose of Akismet is to protect WordPress comment forms. To use Akismet to protect Contact Form 7, you need to give specific options to input fields (form-tags).

There are three Akismet-related options:

akismet:author

You give this option to the field where submitters input their names.

Example: [text* your-name akismet:author]

akismet:author_email

You give this option to the field where submitters input their email addresses.

Example: [email* your-email akismet:author_email]

akismet:author_url

You give this option to the field where submitters input the URL of their websites.

Example: [text your-url akismet:author_url]

To deploy Akismet in a contact form, use one or more of these options in the form. To get accurate results, you are advised to use as many options as possible.

Where Akismet is deployed, Contact Form 7 sends data to Akismet when a user submits the form. The data are composed of all user inputs (not only the fields with an akismet:* option) and variables from the environments. Akismet will verify the data to respond with a “spam” or “ham” answer.

If a “spam” answer is the response, Contact Form 7 will suspend the email and show a message saying, “There was an error trying to send your message,” surrounded by an orange border.

Приветствую вас, дорогие друзья!

В одной из моих прошлых статей я рассказывала вам о способах защиты от спама для форм обратной связи Contact Form 7.

Все показанные в этой статье способы защиты рабочие, но каждый из них имеет те или иные недостатки. Так, например, поля «acceptance» и «quiz» не являются достаточно надежными, так как боты развиваются и уже способны обойти защиту, сделанную на основе этих полей.

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

  • Внешний дизайн и размер. Google ReCaptcha занимает очень много места в форме обратной связи. Особенно это критично во всплывающих формах.
  • У Google ReCaptcha очень большие проблемы с адаптивностью. Точнее, она совсем не адаптируется.
  • Заполнение Google ReCaptcha зачастую вызывает у пользователей неудобство.

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

Как вы знаете, у Google так же есть Invisible ReCaptcha, которая как раз и предназначена для выполнения данных функций. То есть, она не видима и автоматически определяет, кто заполняет форму, робот или реальный пользователь. Но я уже несколько раз, на разных сайтах, сделанных на WordPress, пыталась настроить Invisible ReCaptcha. У меня она не работает.

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

Невидимая защита от спама

Смысл работы данной защиты в следующем:

    1. При создании формы в Contact Form 7 на вкладке «Шаблон формы» мы вставляем поле acceptance (принятие) со следующими параметрами:

Оцените статью