Как сделать защиту от спама в комментариях WordPress

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

Почему спам в комментариях опасен и как он попадает на сайт

Спам-комментарии — это автоматические или ручные сообщения с рекламой, ссылками на вредоносные сайты или просто мусором. Они подаются на формы комментариев через уязвимости или открытые формы без защиты. Если вовремя не принять меры, база сайта быстро наполняется такими сообщениями, что усложняет модерирование и ухудшает пользовательский опыт.

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

Для решения проблемы нужны комплексные методы, которые мы рассмотрим ниже.

Использование плагинов для защиты от спама в комментариях WordPress

Akismet — классика жанра

Akismet — самый популярный плагин для борьбы со спамом. Он анализирует комментарии на основе обширной базы спам-данных и фильтрует подозрительные. Плюсы: простой в установке, эффективный, бесплатен для личных сайтов.

Чтобы активировать Akismet, достаточно зарегистрироваться на сайте разработчиков, получить API-ключ и ввести его в настройках плагина на вашем сайте WordPress.

reCAPTCHA от Google — защита от ботов

Добавление Google reCAPTCHA на форму комментариев значительно снижает количество ботов. Плагинов для интеграции множество, например, WP-reCAPTCHA или Advanced noCaptcha & invisible Captcha. Они позволяют подключить версии v2 или v3 reCAPTCHA.

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

Другие плагины и методы

Помимо Akismet и reCAPTCHA есть и другие решения: Antispam Bee, Wordfence, CleanTalk. Они обладают расширенными возможностями, например, блокировкой по IP, анализом поведения и машинным обучением.

Выбор зависит от специфики сайта, количества комментариев и бюджета.

Как сделать собственный фильтр спама для комментариев в WordPress: пример кода

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

function wplike_filter_comment_spam($commentdata) {
    $spam_words = array('viagra', 'casino', 'loan', 'free money');
    foreach ($spam_words as $word) {
        if (stripos($commentdata['comment_content'], $word) !== false) {
            wp_die('Ваш комментарий содержит запрещённые слова и был отклонён.');
        }
    }
    return $commentdata;
}
add_filter('preprocess_comment', 'wplike_filter_comment_spam');

В этой функции мы используем фильтр preprocess_comment, который запускается до сохранения комментария в базу. В массиве $spam_words можно добавить любые подозрительные ключевые слова. При обнаружении — комментарий блокируется с сообщением.

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

Дополнительные методы и советы по защите комментариев от спама

Ограничение ссылок в комментариях

Спамеры часто добавляют много ссылок. Можно ограничить их количество с помощью хука preprocess_comment:

function wplike_limit_comment_links($commentdata) {
    if (substr_count($commentdata['comment_content'], 'http') > 2) {
        wp_die('Слишком много ссылок в комментарии.');
    }
    return $commentdata;
}
add_filter('preprocess_comment', 'wplike_limit_comment_links');

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

Включение обязательной модерации комментариев

В настройках WordPress (Настройки → Обсуждение) можно включить проверку всех комментариев перед публикацией. Это не предотвратит спам, но позволит контролировать, что именно появится на сайте.

Отключение HTML в комментариях

Спамеры используют HTML-код для вставки скрытых ссылок. Отключение HTML в комментариях через фильтр pre_comment_content поможет снизить риски:

function wplike_strip_comment_html($comment_content) {
    return wp_strip_all_tags($comment_content);
}
add_filter('pre_comment_content', 'wplike_strip_comment_html');

Заключение: какой метод выбрать для защиты от спама в комментариях WordPress

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

Если у вас специфические требования или хотите дополнительный контроль, дополните плагины собственными фильтрами на PHP, как показано в примерах выше.

Не забывайте регулярно обновлять WordPress и плагины — это помогает закрывать уязвимости и снижать риск появления спама.

Как настроить отложенный запуск cron задач в WordPress без плагинов
07.02.2026
WooCommerce: как избежать проблем с редкой оплатой и автоматическим отключением заказов
27.04.2026
Как сделать защиту от спама в комментариях WordPress
05.11.2025
Как установить автоматические резервные копии WordPress без плагинов
20.12.2025
Как настроить автоматический импорт постов в WordPress с помощью REST API
13.03.2026