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

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

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

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

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

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

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

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

Однако по умолчанию Akismet не удаляет спам автоматически, и его нужно удалять вручную или настраивать автоматическую очистку.

Для автоматического удаления спама через Akismet можно использовать плагин Auto Delete Spam Comments, который удаляет спам-комментарии через заданный интервал времени.

Плагин Auto Delete Spam Comments

Плагин позволяет настроить периодичность автоматического удаления спам-комментариев — от одного дня до нескольких недель. Это удобно для сайтов с большим потоком комментариев.

Как настроить:

  • Установите и активируйте плагин Auto Delete Spam Comments.
  • Перейдите в настройки плагина и выберите интервал удаления спам-комментариев.
  • Плагин будет автоматически удалять спам без вашего участия.

Такое решение подходит большинству сайтов без необходимости писать код.

Автоматическое удаление спама через WP-Cron и пользовательский код

Создание функции для удаления спам-комментариев

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

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

function wpmart_auto_delete_spam_comments() {
    global $wpdb;
    $days = 7; // удалять спам старше 7 дней
    $interval = $days * DAY_IN_SECONDS;
    $time = current_time('timestamp') - $interval;

    $comments = $wpdb->get_col($wpdb->prepare(
        "SELECT comment_ID FROM $wpdb->comments WHERE comment_approved = 'spam' AND comment_date_gmt < %s",
        gmdate('Y-m-d H:i:s', $time)
    ));

    if ($comments) {
        foreach ($comments as $comment_id) {
            wp_delete_comment($comment_id, true);
        }
    }
}

Регистрация WP-Cron задачи

Добавим задание, которое будет запускаться ежедневно:

function wpmart_schedule_spam_cleanup() {
    if (!wp_next_scheduled('wpmart_daily_spam_cleanup')) {
        wp_schedule_event(time(), 'daily', 'wpmart_daily_spam_cleanup');
    }
}
add_action('wp', 'wpmart_schedule_spam_cleanup');

add_action('wpmart_daily_spam_cleanup', 'wpmart_auto_delete_spam_comments');

Этот код можно добавить в файл functions.php вашей темы или в отдельный плагин.

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

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

Чтобы уменьшить количество спама, стоит ограничить возможность оставлять комментарии:

  • Включить обязательную регистрацию для комментирования.
  • Использовать капчу, например, с помощью плагина My Popup с поддержкой капчи.
  • Включить модерацию всех комментариев.

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

Плагин Clearfy Pro содержит множество инструментов для борьбы со спамом и оптимизации системы комментариев, включая отключение trackbacks и pingbacks, а также улучшение защиты от спама.

Заключение

Автоматизация удаления спам-комментариев важна для поддержания чистоты, скорости и безопасности сайта на WordPress. Выбор метода зависит от ваших навыков и объема спама: от простого плагина Auto Delete Spam Comments до гибкого собственного решения с использованием WP-Cron и пользовательских функций.

Советую комбинировать автоматическую очистку с профилактическими мерами, чтобы максимально сократить количество спама на вашем сайте.

WooCommerce: как автоматически удалять товар после успешной оплаты без плагинов
28.04.2026
Как удалить автоматическое перенаправление в WordPress
26.01.2026
WooCommerce: автоматическое создание вариаций товаров на основе атрибутов
01.05.2026
WordPress авторизация по телефону без плагинов: практическое руководство
10.04.2026
Как установить ограничение на количество регистраций в WordPress
27.03.2026