wpmail.ru wordpress WP Mail

Как избежать спама в WordPress: практические способы защиты

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

Почему спам проблема для WordPress

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

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

Чтобы эффективно бороться со спамом, необходимо использовать многоуровневый подход, комбинируя плагины, настройки и собственные фильтры.

Использование плагинов для борьбы со спамом в WordPress

Akismet Anti-Spam — классика жанра

Akismet — один из самых известных плагинов для фильтрации спам-комментариев. Он автоматически проверяет все комментарии и фильтрует подозрительные, отправляя их в папку спама.

Для установки:

  • Перейдите в админ-панель WordPress → Плагины → Добавить новый.
  • Найдите «Akismet» и установите плагин.
  • Активируйте и настройте ключ API (бесплатно для личных сайтов).

Akismet хорошо подходит для комментариев, но не всегда эффективно справляется с формами обратной связи.

Antispam Bee — альтернатива без API

Antispam Bee — бесплатный плагин, который не требует регистрации и API-ключей. Он фильтрует комментарии на основе различных алгоритмов и настроек.

Преимущества:

  • Работает локально без отправки данных на сторонние сервисы.
  • Поддерживает проверку IP и языков.
  • Легко настраивается.

Для установки и настройки достаточно активировать плагин и выбрать нужные опции в настройках.

Google reCAPTCHA для форм и комментариев

Интеграция reCAPTCHA помогает блокировать ботов при отправке форм и регистрации. В WordPress есть несколько плагинов, например, WP-reCAPTCHA или Invisible reCAPTCHA.

Чтобы настроить:

  1. Зарегистрируйтесь в Google reCAPTCHA, получите сайт-ключ и секретный ключ.
  2. Установите и активируйте плагин reCAPTCHA.
  3. В настройках введите ключи и выберите, где показывать капчу (комментарии, формы, регистрация).

Это значительно снижает количество спам-ботов.

Кодовые решения для дополнительной защиты от спама

Кроме плагинов, можно внедрить собственные фильтры и проверки, чтобы повысить качество защиты.

Создание простого фильтра комментариев по ключевым словам

Ниже пример функции, которая автоматически помечает комментарии как спам, если в них есть запрещённые слова или ссылки.

function wpmail_filter_spam_comment( $commentdata ) {
    $blacklist = array('viagra', 'casino', 'http://', 'https://');
    foreach ( $blacklist as $badword ) {
        if ( stripos( $commentdata['comment_content'], $badword ) !== false ) {
            add_filter( 'pre_comment_approved', fn() => 'spam' );
            break;
        }
    }
    return $commentdata;
}
add_filter( 'preprocess_comment', 'wpmail_filter_spam_comment' );

Этот код следует добавить в файл functions.php вашей темы или в плагин для кастомных функций. Он проверяет содержимое комментария и блокирует его, если найдено слово из списка.

Добавление скрытого поля «мёда» для ловли ботов

Техника «honeypot» заключается в добавлении скрытого поля в форму, которое видят только боты. Если поле заполнено — это спам.

Пример для формы комментариев:

function wpmail_add_honeypot_field() {
    echo '<p style="display:none;"><label>Оставьте это поле пустым<input type="text" name="wpmail_honeypot" value="" /></label></p>';
}
add_action( 'comment_form_logged_in_after', 'wpmail_add_honeypot_field' );
add_action( 'comment_form_after_fields', 'wpmail_add_honeypot_field' );

function wpmail_check_honeypot_field( $commentdata ) {
    if ( ! empty( $_POST['wpmail_honeypot'] ) ) {
        wp_die( 'Ошибка: подозрение на спам.' );
    }
    return $commentdata;
}
add_filter( 'preprocess_comment', 'wpmail_check_honeypot_field' );

Добавляя такое поле, вы ловите ботов, которые автоматически заполняют все поля формы.

Советы для уменьшения спама на сайте

Ограничьте возможность комментирования

Если у вас много спама, можно ограничить комментирование только зарегистрированными пользователями. Для этого в настройках WordPress выберите Настройки → Обсуждение и отметьте «Пользователи должны быть зарегистрированы и авторизованы для комментирования».

Используйте черные списки и фильтрацию IP

В настройках «Обсуждение» можно добавить слова и IP-адреса, которые будут автоматически блокироваться. Это поможет остановить повторяющихся спамеров.

Регулярно обновляйте WordPress и плагины

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

Подводим промежуточные итоги

Чтобы эффективно бороться со спамом, рекомендуем сочетать:

  • Плагины Akismet или Antispam Bee для автоматической фильтрации.
  • Капчу Google reCAPTCHA для форм.
  • Кодовые решения, например, фильтрацию по ключевым словам и «honeypot».
  • Ограничение комментирования и черные списки.

Такой комплексный подход позволит значительно снизить количество спама и поддерживать чистоту вашего WordPress-сайта.

×
WPRemark
Внимание Внимание Внимание Внимание
-15%

на WPRemark плагин WordPress

Прокачай свой сайт! ⋙