wpsell.ru wordpress WPSell

Как отключить ревизии, автосохранение и мусор в базе WordPress

Ревизии, автосохранения и записи в корзине постепенно увеличивают базу WordPress. Ограничить их можно в wp-config.php, но эти настройки не удаляют уже накопившиеся записи и не отключают все фоновые сохранения. Поэтому сначала настройте поведение сайта, затем отдельно разберите существующий мусор.

Что именно можно ограничить

Ревизия — сохранённая версия записи или страницы. Она позволяет восстановить предыдущий текст и сравнить изменения. Если редакторы часто сохраняют материалы, ревизий может накопиться много, особенно когда для каждой записи WordPress хранит все версии без ограничения.

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

К другим данным, которые часто называют «мусором», относятся записи и комментарии в корзине, спам, черновики, временные данные — transients. Удалять их нужно выборочно: некоторые временные записи используются плагинами, а корзина даёт возможность восстановить случайно удалённый материал.

Ограничьте число ревизий

Для большинства сайтов разумнее не отключать ревизии полностью, а оставить несколько последних версий. Откройте wp-config.php в корневой папке WordPress и добавьте строку до комментария /* That's all, stop editing! Happy publishing. */ (или его локализованного аналога):

define( 'WP_POST_REVISIONS', 5 );

Число 5 задаёт максимальное количество ревизий для одной записи. Выберите свой лимит: если редакторы регулярно возвращаются к старым версиям, оставьте больше. Настройка действует на сохранение ревизий в дальнейшем, но не удаляет старые записи из базы.

Чтобы отключить хранение ревизий, вместо числа укажите:

define( 'WP_POST_REVISIONS', false );

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

Если после правки сайт выдаёт ошибку, проверьте синтаксис файла и верните резервную копию wp-config.php. Не редактируйте файл в визуальном редакторе, который может изменить кавычки или добавить лишние символы.

Увеличьте интервал автосохранения, а не отключайте его

Частоту автосохранения задаёт константа AUTOSAVE_INTERVAL. Значение указывается в секундах. Например, чтобы увеличить стандартный интервал до двух минут, добавьте в тот же wp-config.php:

define( 'AUTOSAVE_INTERVAL', 120 );

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

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

Удалите уже накопившиеся записи

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

Если у вас установлен WP-CLI, количество ревизий можно предварительно проверить командой из папки сайта:

wp post list --post_type=revision --format=count

Для точечного удаления используйте команду wp post delete ID --force, подставив ID выбранной ревизии. Посмотреть ID и записи можно через wp post list --post_type=revision --fields=ID,post_parent,post_title. Флаг --force удаляет запись без перемещения в корзину. WP-CLI доступен не на каждом хостинге; если его нет, попросите поддержку хостинга помочь с очисткой или используйте проверенный плагин обслуживания базы.

Плагин очистки удобнее, если нужно пакетно выбрать старые ревизии, черновики, содержимое корзины и спам-комментарии. Перед запуском внимательно проверьте отмеченные категории и не выбирайте удаление всех ревизий, если история ещё нужна. Названия пунктов и набор доступных действий зависят от плагина и его версии.

Разберите корзину, спам и временные данные

В административной панели проверьте корзины записей и страниц, а также спам и корзину комментариев. Удаляйте их после просмотра: материалы из корзины можно восстановить только до окончательной очистки. Для автоматического удаления содержимого корзины WordPress по умолчанию использует срок в 30 дней. Его можно изменить в wp-config.php, например сократить до недели:

define( 'EMPTY_TRASH_DAYS', 7 );

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

Transients — временные данные, которые WordPress и плагины используют для кэширования. Просроченные transients могут удаляться автоматически, но очистка не всегда происходит сразу. Если на сайте настроен WP-CLI, просроченные записи можно удалить командой wp transient delete --expired. Не удаляйте без разбора все transients: активные данные могут быть удалены вместе с просроченными, после чего плагинам придётся сформировать их заново.

Проверьте, что изменилось

После настройки создайте или обновите тестовую запись и посмотрите, появляются ли новые ревизии. Для этого можно использовать WP-CLI или открыть список редакций записи, если он доступен в вашем редакторе. При лимите WordPress со временем удаляет лишние версии, оставляя заданное число; старые ревизии, созданные до настройки, нужно очистить отдельно.

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

Сокращение числа записей может уменьшить объём базы, но само по себе не гарантирует ускорения админки. Если редактор по-прежнему работает медленно, причина может быть в плагинах, запросах к базе, кэше или ресурсах хостинга. Начните с безопасных изменений: ограничьте число ревизий, оставьте рабочее автосохранение и удаляйте только те записи, восстановление которых вам точно не понадобится.

×
Review
Добавь ценность своему сайту WordPress!
-15%

на Expert Review плагин WordPress

Порадуй свой сайт ⋙