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

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

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

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

Автоматическое удаление спама позволяет:

  • Сократить нагрузку на сервер и базу данных;
  • Поддерживать чистоту комментариев без вашего участия;
  • Улучшить безопасность и защиту от нежелательного контента;
  • Оптимизировать время модерации и администрирования.

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

Плагин Akismet Anti-Spam

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

Однако по умолчанию Akismet не удаляет спам автоматически — он хранит его в папке «Спам», откуда вы можете удалить вручную. Для автоматизации можно использовать дополнительные плагины или код.

Плагин WP Spam Shield

WP Spam Shield — бесплатный плагин, который блокирует спам без капчи и автоматически удаляет спам-комментарии. Он работает на основе JavaScript и серверной проверки, что повышает эффективность.

Плагин можно скачать и установить с официального репозитория WordPress. После активации он начнёт блокировать и удалять спам автоматически.

Clearfy Pro для контроля спама

Если вы используете Clearfy Pro от WPSHOP.RU, то там есть модуль для управления спамом и автоматической очистки.

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

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

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

Пример функции для удаления спам-комментариев старше 3 дней:

function wpmy_delete_old_spam_comments() {
    global $wpdb;
    $days = 3;
    $wpdb->query(
        $wpdb->prepare(
            "DELETE FROM {$wpdb->comments} WHERE comment_approved = 'spam' AND comment_date < NOW() - INTERVAL %d DAY",
            $days
        )
    );
}
add_action('wp_scheduled_delete', 'wpmy_delete_old_spam_comments');

Данная функция использует стандартный крон WordPress wp_scheduled_delete, который по умолчанию запускается раз в сутки и удаляет устаревшие элементы корзины. Мы расширяем его, добавляя удаление спама.

Если вы хотите запустить эту функцию по своему расписанию, можно добавить собственный интервал и задачу:

function wpmy_add_cron_interval( $schedules ) {
    $schedules['every_five_hours'] = array(
        'interval' => 18000, // 5 часов в секундах
        'display' => __('Каждые 5 часов')
    );
    return $schedules;
}
add_filter('cron_schedules', 'wpmy_add_cron_interval');

if (!wp_next_scheduled('wpmy_delete_spam_event')) {
    wp_schedule_event(time(), 'every_five_hours', 'wpmy_delete_spam_event');
}

add_action('wpmy_delete_spam_event', 'wpmy_delete_old_spam_comments');
<

Такое решение позволит удалять спам-комментарии чаще, чем раз в сутки.

Как избежать удаления полезных комментариев

Автоматическое удаление спама может стать проблемой, если плагин или фильтр ошибочно пометит комментарий как спам. Чтобы минимизировать риск потери важных комментариев, рекомендуем:

  • Использовать проверенные и обновлённые плагины;
  • Перед удалением настроить период хранения спама от 3 до 7 дней, чтобы успеть проверить;
  • Регулярно проверять папку «Спам»;
  • Добавить уведомления или логи для отслеживания удалённых комментариев.

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

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

Для снижения количества спама стоит дополнительно внедрить защиту с помощью Honeypot полей или Google reCAPTCHA. Это значительно сократит количество автоматических спам-ботов.

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

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

Многие спам-комментарии содержат ссылки. Можно ограничить количество ссылок в комментариях или полностью запретить их для новых пользователей.

Пример кода, который запрещает комментарии, содержащие более двух ссылок:

function wpmy_limit_comment_links($commentdata) {
    if (preg_match_all('/https?:\/\//', $commentdata['comment_content'], $matches) > 2) {
        wp_die('В комментариях не допускается более 2 ссылок.');
    }
    return $commentdata;
}
add_filter('preprocess_comment', 'wpmy_limit_comment_links');

Итоги

Автоматическое удаление спама в комментариях — важный этап в поддержании чистоты и безопасности вашего сайта на WordPress. Используя сочетание проверенных плагинов и кастомных решений на PHP, можно полностью автоматизировать этот процесс и снизить нагрузку на администратора.

Рекомендуем начать с установки Akismet или WP Spam Shield, а затем добавить свой код для автоматической очистки спама через крон. Для комплексного контроля используйте функции ограничения ссылок и защиту Honeypot или reCAPTCHA.

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

WooCommerce: автоматическое удаление нерабочих вариаций товаров
25.06.2026
Как создать автоматическую модерацию комментариев в WordPress
07.01.2026
Как удалить неактивных пользователей WordPress с помощью кода
28.02.2026
Автоматическое удаление нерабочих изображений в WordPress
13.04.2026
Защита WordPress от Brute Force атак с помощью кода
10.12.2025