wpclean.ru wordpress WPClean.ru

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

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

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

Со временем WordPress создаёт множество дополнительных записей для обеспечения функционала. Например, каждая правка поста сохраняется как ревизия, чтобы при необходимости можно было откатиться к предыдущей версии. Автосохранения защищают контент от потери при сбоях. Комментарии могут попадать в спам или быть удалены, но записи в базе остаются. Все эти данные накапливаются и увеличивают размер базы данных, что приводит к следующим проблемам:

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

Удаление неиспользуемых записей помогает минимизировать эти проблемы и ускорить работу сайта.

Какие типы записей можно безопасно удалить

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

Ревизии постов и страниц

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

Автосохранения

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

Удалённые записи (Trash)

Когда вы удаляете пост или страницу, они помещаются в корзину (Trash) и продолжают занимать место, пока корзина не будет очищена.

Спам и мусорные комментарии

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

Методы удаления неиспользуемых записей

Рассмотрим несколько способов удаления неиспользуемых записей, от плагинов до пользовательских SQL-запросов и PHP-кода.

Использование плагинов для очистки базы данных

Самый простой способ — это плагины, которые автоматизируют процесс очистки и оптимизации базы данных:

  • Clearfy Pro — хорошо подходит для удаления ревизий, автосохранений, мусора и оптимизации БД. Подробнее о Clearfy Pro
  • WP-Optimize — популярный бесплатный плагин, который удаляет ревизии, спам, мусорные комментарии и оптимизирует таблицы базы данных.
  • Advanced Database Cleaner — позволяет выбрать конкретные типы неиспользуемых записей для удаления и планировать очистку.

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

Удаление через SQL-запросы

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

-- Удаление ревизий
DELETE FROM wp_posts WHERE post_type = 'revision';

-- Удаление автосохранений
DELETE FROM wp_posts WHERE post_type = 'autosave';

-- Очистка корзины (Удалённые записи)
DELETE FROM wp_posts WHERE post_status = 'trash';

-- Удаление спам-комментариев
DELETE FROM wp_comments WHERE comment_approved = 'spam';

-- Удаление мусорных комментариев
DELETE FROM wp_comments WHERE comment_approved = 'trash';

Важно перед выполнением таких запросов сделать резервную копию базы данных, чтобы избежать потери важных данных.

Автоматизация удаления ревизий с помощью PHP-кода

Для автоматической очистки ревизий при сохранении новых записей можно добавить следующий код в файл functions.php вашей темы или в отдельный плагин:

function wpclean_ru_delete_post_revisions($post_id) {
    global $wpdb;
    // Удаляем все ревизии, кроме текущей
    $wpdb->query($wpdb->prepare(
        "DELETE FROM {$wpdb->posts} WHERE post_type = 'revision' AND post_parent = %d",
        $post_id
    ));
}
add_action('save_post', 'wpclean_ru_delete_post_revisions');

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

Дополнительные советы по оптимизации базы данных

Удаление неиспользуемых записей — важный шаг, но для полной оптимизации базы данных стоит учитывать и другие моменты:

  • Регулярно оптимизируйте таблицы базы данных через phpMyAdmin или с помощью плагинов, например, Clearfy Pro или WP-Optimize.
  • Ограничьте количество ревизий с помощью добавления в wp-config.php строки define('WP_POST_REVISIONS', 3); — это сохранит максимум 3 ревизии для каждого поста.
  • Планируйте регулярную очистку базы данных с помощью WP-Cron или внешних задач, чтобы поддерживать сайт в оптимальном состоянии.
  • Используйте плагины кэширования и CDN для снижения нагрузки на сервер.

Выводы и рекомендации

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

×

AI-плагин

WPGPT
Сам создает статьи для вашего сайта WordPress

SEO и мета-теги

Парсинг конкурентов

Изображения

Комментарии

Подробнее