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

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

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

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

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

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

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

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

Плагин "Auto Delete Posts"

«Auto Delete Posts» — простой и удобный плагин, который позволяет настроить удаление записей старше заданного количества дней.

  • Настройка срока хранения записей.
  • Выбор конкретных категорий или типов записей для удаления.
  • Возможность удаления записей в корзину или полного удаления.

Установить плагин можно через админку WordPress, после чего перейти в Настройки > Auto Delete Posts и указать параметры.

Плагин "WP Bulk Delete"

«WP Bulk Delete» расширяет возможности удаления и поддерживает гибкие условия:

  • Удаление по дате публикации.
  • Фильтрация по пользовательским полям и таксономиям.
  • Удаление страниц, комментариев и пользовательских типов записей.

Плагин поддерживает планировщик задач WP-Cron для регулярного выполнения очистки.

Кастомные решения для автоматического удаления старого контента

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

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

Ниже пример функции wpfinder_delete_old_posts(), которая удаляет посты старше 180 дней. Функция подключается к крону WordPress для регулярного запуска.

function wpfinder_delete_old_posts() {
    $args = [
        'date_query' => [
            [
                'before' => '180 days ago',
                'inclusive' => true,
            ],
        ],
        'post_type' => 'post',
        'post_status' => 'publish',
        'fields' => 'ids',
        'posts_per_page' => -1,
    ];

    $old_posts = get_posts($args);

    if (!empty($old_posts)) {
        foreach ($old_posts as $post_id) {
            wp_delete_post($post_id, true); // true - полное удаление
        }
    }
}

// Регистрация события в WP-Cron
if (!wp_next_scheduled('wpfinder_cron_delete_old_posts')) {
    wp_schedule_event(time(), 'daily', 'wpfinder_cron_delete_old_posts');
}

add_action('wpfinder_cron_delete_old_posts', 'wpfinder_delete_old_posts');

Эта функция:

  • Находит все опубликованные посты старше 180 дней.
  • Удаляет их полностью из базы.
  • Запускается ежедневно автоматически через WP-Cron.

Вы можете менять параметры 'before' и 'post_type' для настройки под свои задачи.

Удаление старых страниц и пользовательских типов записей

Для удаления страниц или кастомных типов записей нужно изменить параметр 'post_type' на 'page' или нужный slug типа записи.

$args['post_type'] = 'page'; // или 'my_custom_post_type'

Также можно добавить дополнительные условия фильтрации по метаданным или таксономиям, расширяя запросы WP_Query.

Практические советы и рекомендации

Перед внедрением автоматического удаления контента обязательно:

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

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

Дополнительные инструменты для оптимизации работы с контентом

Для комплексного управления контентом на сайте можно использовать плагины из каталога WPSHOP, которые помогут в автоматизации и оптимизации.

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

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

Как создать динамическое меню в WordPress с применением хуков
12.03.2026
Как создать автоматический импорт объектов из Яндекс.Карт в WordPress
09.02.2026
Как создать собственный шорткод в WordPress с примером кода
31.10.2025
Как сделать автоматический редирект по ролям пользователей в WordPress
02.01.2026
Автоматическое отключение неиспользуемых плагинов WordPress
20.01.2026