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

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

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

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

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

Использование плагинов для автоматического удаления спама в WordPress

Плагин Akismet Anti-Spam

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

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

В настройках плагина установите опцию «Автоматически удалять спам».

Подробности и скачивание: Akismet на wpshop.ru

Плагин Clearfy Pro для оптимизации комментариев

Clearfy Pro включает встроенные функции для борьбы со спамом, включая блокировку подозрительных IP, отключение ссылок в комментариях и другие. Он позволяет настроить автоматическое удаление спама и оптимизировать работу сайта.

Этот плагин подойдёт, если вы хотите комплексное решение для безопасности и производительности.

Подробнее: Clearfy Pro на wpshop.ru

Автоматическое удаление спама с помощью пользовательского кода

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

Пример функции, которая будет автоматически удалять комментарии со статусом «spam», старше 7 дней:

add_action('wp_scheduled_delete', 'wpmanual_delete_old_spam_comments');
function wpmanual_delete_old_spam_comments() {
    global $wpdb;
    $days_old = 7;
    $date = date('Y-m-d H:i:s', strtotime('-' . $days_old . ' days'));
    $wpdb->query($wpdb->prepare(
        "DELETE FROM $wpdb->comments WHERE comment_approved = 'spam' AND comment_date < %s",
        $date
    ));
}

Эта функция использует штатное событие wp_scheduled_delete, которое запускается раз в сутки и удаляет все спам-комментарии старше 7 дней. Вы можете изменить период удаления, поменяв переменную $days_old.

Добавление ежедневного планировщика вручную

Если по каким-то причинам событие wp_scheduled_delete не настроено, можно добавить своё:

if (!wp_next_scheduled('wpmanual_daily_spam_cleanup')) {
    wp_schedule_event(time(), 'daily', 'wpmanual_daily_spam_cleanup');
}
add_action('wpmanual_daily_spam_cleanup', 'wpmanual_delete_old_spam_comments');

Так вы гарантируете, что функция очистки запустится каждый день.

Дополнительные советы по борьбе со спамом в комментариях

Использование reCAPTCHA

Для снижения количества спама можно подключить Google reCAPTCHA. Это надёжно блокирует автоматические отправки комментариев ботами.

Плагин WPForms или Contact Form 7 поддерживают интеграцию с reCAPTCHA и подходят для этой задачи.

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

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

Добавьте в functions.php следующий код:

function wpmanual_limit_comment_links($commentdata) {
    $max_links = 2;
    $comment_content = $commentdata['comment_content'];
    preg_match_all('/<a href=/i', $comment_content, $matches);
    if (count($matches[0]) > $max_links) {
        wp_die('Слишком много ссылок в комментарии.');
    }
    return $commentdata;
}
add_filter('preprocess_comment', 'wpmanual_limit_comment_links');

Этот фильтр не позволит отправить комментарий, если в нём больше двух ссылок.

Использование черных списков и фильтров

WordPress позволяет добавить слова, IP-адреса и email в черные списки, чтобы автоматически помечать комментарии как спам.

Настройки находятся в админке: Настройки > Обсуждение > Черный список комментариев.

Для расширенного контроля можно использовать плагин WP SpamShield или встроенные функции Clearfy Pro.

Заключение

Автоматическое удаление спама в комментариях — ключевой элемент поддержания чистоты и безопасности WordPress сайта. С помощью плагинов Akismet и Clearfy Pro можно быстро настроить эффективную защиту. Если нужен индивидуальный подход — применяйте пользовательские функции, которые запускаются по расписанию и удаляют старые спам-комментарии. Также не забывайте про дополнительные методы — reCAPTCHA, ограничение ссылок и черные списки.

Для удобства и расширения возможностей рекомендуем изучить Clearfy Pro — мощный инструмент для оптимизации и безопасности WordPress.

Как создать собственный шорткод в WordPress
06.11.2025
Как использовать хуки в WordPress для расширения функциональности
10.11.2025
Как удалить заблокированных пользователей WordPress с помощью кода
30.03.2026
Автоматическое удаление старых записей через CRON в WordPress
16.02.2026
Оптимизация загрузки WordPress с помощью метода WPManual
23.12.2025