Как автоматически удалять старые отзывы в WordPress

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

Почему важно удалять старые отзывы в WordPress

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

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

Автоматизация удаления экономит время и снижает человеческий фактор ошибок.

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

Clearfy Pro для управления отзывами и оптимизации

Clearfy Pro — мощный плагин для оптимизации WordPress, который среди прочего позволяет управлять отзывами и комментариями. В нём можно настроить автоматическое удаление комментариев (отзывов) старше определенного периода.

Для активации:

  • Установите и активируйте Clearfy Pro.
  • В разделе настроек плагина перейдите к модулю оптимизации комментариев.
  • Настройте параметр удаления комментариев старше нужного количества дней.

Это решение не требует программирования и подходит для большинства сайтов.

Другие плагины для автоматического удаления отзывов

Если у вас нет Clearfy Pro, можно использовать бесплатные плагины, например:

  • Auto Delete Comments — позволяет настроить удаление комментариев по возрасту.
  • WP Bulk Delete — с помощью гибких фильтров удаляет записи, включая отзывы.

В обоих случаях настройка производится через интерфейс плагина.

Кастомное решение: как написать функцию для удаления старых отзывов в WordPress

Если вы предпочитаете точечный контроль и хотите встроить автоматическое удаление в свой сайт без плагинов, можно написать собственную функцию. Ниже пример кода, который удаляет отзывы (комментарии с типом "review" или любые обычные комментарии) старше 180 дней.

function expertreview_auto_delete_old_reviews() {
    global $wpdb;
    $days = 180; // возраст отзывов в днях
    $cutoff_date = date('Y-m-d H:i:s', strtotime("-{$days} days"));

    // Получаем ID комментариев старше cutoff_date
    $old_comments = $wpdb->get_col($wpdb->prepare(
        "SELECT comment_ID FROM $wpdb->comments WHERE comment_date < %s AND comment_approved = 1",
        $cutoff_date
    ));

    if (!empty($old_comments)) {
        foreach ($old_comments as $comment_id) {
            wp_delete_comment($comment_id, true); // true — удалить навсегда
        }
    }
}

// Добавляем в крон для автоматического запуска раз в сутки
if (!wp_next_scheduled('expertreview_daily_delete_old_reviews')) {
    wp_schedule_event(time(), 'daily', 'expertreview_daily_delete_old_reviews');
}
add_action('expertreview_daily_delete_old_reviews', 'expertreview_auto_delete_old_reviews');

Этот код регистрирует ежедневное событие, которое удаляет все одобренные комментарии старше 180 дней. Если у вас отзывы — кастомный тип комментариев, добавьте условие для comment_type.

Расширение функции для удаления отзывов по типу

Если отзывы на сайте имеют тип комментария, например, review, то можно изменить запрос так:

"SELECT comment_ID FROM $wpdb->comments WHERE comment_date < %s AND comment_approved = 1 AND comment_type = 'review'"

Это позволит не затрагивать другие комментарии.

Как предотвратить случайное удаление нужных отзывов

Очень важно не удалять отзывы, которые могут быть важны для SEO или клиентов. Для этого:

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

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

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

Автоматическое удаление старых отзывов — полезный инструмент, который помогает содержать сайт в порядке и улучшать его производительность. Выбор между плагинами и собственным кодом зависит от вашего уровня владения WordPress и специфики проекта. Используйте Clearfy Pro или WP Bulk Delete для простоты, либо кастомный код для гибкости. Не забывайте тестировать и создавать резервные копии, чтобы избежать потерь данных.

Как создать собственный виджет в WordPress с примерами кода
03.12.2025
Как удалить неиспользуемые таксономии в WordPress
23.03.2026
Как создать интерактивный квиз в WordPress с помощью плагинов и кода
02.04.2026
Как добавить отзывы с оценками на WordPress с помощью плагинов
13.12.2025
Как создать динамическую таблицу в WordPress с помощью шорткода
18.12.2025