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

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

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

Ручное удаление спама занимает много времени и неэффективно при большом количестве комментариев. Автоматизация позволяет:

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

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

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

Плагин Akismet Anti-Spam

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

Для настройки автоматического удаления спама в Akismet:

  1. Установите и активируйте плагин Akismet Anti-Spam.
  2. Получите API-ключ на сайте Akismet и активируйте плагин.
  3. Перейдите в настройки Akismet и выберите автоматическое удаление спама, который был в списке более 15 дней.

Плюсы Akismet:

  • Высокая точность определения спама;
  • Интеграция с WordPress из коробки;
  • Минимальная настройка.

Плагин Clearfy Pro для управления спамом

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

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

Для использования Clearfy Pro посетите страницу плагина на WPShop.

Создание собственной автоматизации удаления спама через код

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

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

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

// Регистрируем cron-задачу
if ( ! wp_next_scheduled( 'wpplugin_cron_delete_spam' ) ) {
    wp_schedule_event( time(), 'daily', 'wpplugin_cron_delete_spam' );
}

// Привязываем функцию к событию
add_action( 'wpplugin_cron_delete_spam', 'wpplugin_delete_old_spam_comments' );

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

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

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

function wpplugin_add_spam_cleanup_menu() {
    add_submenu_page(
        'edit.php', // меню «Комментарии»
        'Очистить спам',
        'Очистить спам',
        'manage_options',
        'wpplugin-spam-cleanup',
        'wpplugin_spam_cleanup_page'
    );
}
add_action( 'admin_menu', 'wpplugin_add_spam_cleanup_menu' );

function wpplugin_spam_cleanup_page() {
    if ( isset($_POST['wpplugin_cleanup_spam_nonce']) && wp_verify_nonce($_POST['wpplugin_cleanup_spam_nonce'], 'wpplugin_cleanup_spam') ) {
        wpplugin_delete_old_spam_comments();
        echo '<div class="updated"><p>Спам успешно удалён.</p></div>';
    }
    echo '<form method="post">';
    wp_nonce_field('wpplugin_cleanup_spam', 'wpplugin_cleanup_spam_nonce');
    echo '<p><input type="submit" class="button button-primary" value="Удалить спам сейчас"></p>';
    echo '</form>';
}

Рекомендации по дополнительной защите от спама

Автоматическое удаление – важный этап, но лучше предотвратить попадание спама. Для этого используйте следующие методы:

  • Капча — reCAPTCHA от Google или другие решения помогают блокировать автоматические боты.
  • Проверка комментариев через фильтры — можно создавать собственные фильтры на ключевые слова, ссылки и IP.
  • Ограничение по количеству ссылок — WordPress по умолчанию блокирует комментарии с большим количеством ссылок, но можно настроить порог по своему усмотрению.
  • Плагины антиспам — помимо Akismet и Clearfy Pro, рассмотрите Anti-Spam Bee, WPBruiser, которые не требуют капчи.

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

Заключение

Автоматическое удаление спама в комментариях – обязательная практика для любого WordPress сайта с активной пользовательской базой. Мы рассмотрели популярные плагины и собственные решения с примерами кода, которые помогут настроить эффективную очистку. Рекомендуем комбинировать эти методы с проактивной защитой, чтобы сохранить качество контента и безопасность сайта. Для быстрого старта можете ознакомиться с Clearfy Pro, который объединяет множество полезных функций для оптимизации и безопасности WordPress.

Как использовать WP-Cron для автоматизации задач в WordPress
12.05.2026
Как настроить автоматическое обновление плагинов WordPress без ошибок
21.02.2026
Автоматическая регистрация пользователей с подтверждением по email в WordPress
26.12.2025
Автоматическое удаление спама в комментариях WordPress
11.04.2026
Как добавить автоматический отзыв на страницу товара WooCommerce
02.02.2026