wp-kurs.ru wordpress WP-Kurs

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

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

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

Автоматическое сохранение (autosave) — удобная функция, которая защищает ваш контент от потери при сбое браузера или других непредвиденных ситуациях. Однако WordPress сохраняет каждую версию в базе данных как отдельный пост с типом revision или auto-draft. При большом количестве таких записей база данных раздувается, что может привести к снижению производительности сайта.

Регулярная очистка автоматических черновиков помогает:

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

Как WordPress работает с автоматическими черновиками

При создании новой записи WordPress автоматически создаёт запись с типом auto-draft. Эта запись обновляется при каждом автосохранении. Если пользователь не опубликовал запись, эти черновики остаются в базе данных. Со временем таких записей может накопиться много, особенно если на сайте много авторов.

Важно отличать автоматические черновики от ревизий (revisions). Ревизии — это версии опубликованных записей, которые тоже можно очищать, но в этой статье мы сосредоточимся именно на автоматических черновиках.

Удаление автоматических черновиков через плагины

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

  • Clearfy Pro — популярный плагин с широкими возможностями по оптимизации и очистке базы данных, включая удаление автосохранений.
  • WP Rocket — кеширующий плагин, который также имеет функцию очистки базы данных, включая автоматические черновики.
  • WP-Optimize — бесплатный и простой плагин для очистки и оптимизации базы данных, который позволяет удалять черновики и ревизии.

Пример: как удалить автоматические черновики в Clearfy Pro

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

Удаление автоматических черновиков с помощью собственного кода в functions.php

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

Пример функции для удаления всех записей с типом auto-draft:

function wpkurs_delete_auto_drafts() {
    global $wpdb;
    $auto_drafts = $wpdb->get_col( "SELECT ID FROM {$wpdb->posts} WHERE post_status = 'auto-draft'" );
    
    foreach ( $auto_drafts as $post_id ) {
        wp_delete_post( $post_id, true ); // true - принудительное удаление без перемещения в корзину
    }
}

Для автоматизации можно добавить этот код в крон-задание WordPress:

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

add_action( 'wpkurs_auto_drafts_cleanup_hook', 'wpkurs_delete_auto_drafts' );

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

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

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

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

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

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

Удаление автоматических черновиков — важный шаг для поддержания чистоты и производительности вашего сайта WordPress. Используйте готовые плагины, такие как Clearfy Pro, если хотите быстрый и безопасный способ. Если же предпочитаете кодовые решения, приведённый пример поможет настроить автоматическую очистку без лишних плагинов.

Регулярная оптимизация базы данных и удаление ненужных записей — залог стабильной и быстрой работы сайта на WordPress.

×
Делай сайт лучше!!

-20% на премиум темы и плагины

Использовать скидку ⋙