Домой / Internet Explorer / Удаляем старые редакции и освобождаем место в базе данных Wordpress. Как отключить и удалить все редакции в WordPress Как удалить старые редакции записей в wordpress

Удаляем старые редакции и освобождаем место в базе данных Wordpress. Как отключить и удалить все редакции в WordPress Как удалить старые редакции записей в wordpress

При написании и редактировании записей в WordPress происходит их автоматическое сохранение — делается резервная копия записи (ревизия). С помощью ревизий можно восстанавливать статью, перейдя на несколько шагов назад. Чтобы восстановить статью необходимо лишь выбрать требуемую ревизию.

Однако, ревизии – это не всегда хорошо. Для хранение резервных копий записей и статей требуются дополнительные ресурсы сервера. Ревизии засоряют базу данных, поэтому стоит подумать нужны ли они вообще. Часто ли мы при редактировании статей в WordPress пользуетесь ревизиями? Если нет, то их можно отключить.

Отключение ревизий в WordPress

Для того, чтобы отключить ревизии в WordPress до версии 3.0.3 необходимо перейти к файлу конфигурации «config.php» и открыть его с помощью текстового редактора, например, Notepad++. После этого необходимо найти строку:

define("WP_POST_REVISIONS",0);

В случае, если у нас WordPress версии 3.0.3 или более новой — отключение ревизий происходит в файле «default-constants.php» (находится в папке «wp-includes»). Ищем строку:

define("WP_POST_REVISIONS", true);

После этого меняем true на false, как показано ниже:

define("WP_POST_REVISIONS", false);

Сохраняем файл «default-constants.php». Таким образом, ревизии будут отключены.

Все созданные ревизии в WordPress можно легко удалить. Для того, чтобы удалить старые ревизии необходимо зайти phpMyAdmin и выбрать базу данных. Затем нужно перейти на вкладку SQL и в открывшемся окне в поле ввода вставить строку:

DELETE FROM wp_posts WHERE post_type = "revision";

Пример показан на рисунке:

Затем нажимаем кнопку «ОК» и все сохраненные ранее ревизии будут удалены. Такой способ удаления ревизий подходит для всех версий движка WordPress.

При создании, редактировании и сохранении статей и их черновиков в WordPress по умолчанию автоматически создаются резервные копии записей, обычно именуемые как Pевизии или Редакции (revisions).
Сохранение ревизий дело конечно полезное, так как например при ошибках в форматировании материала, сбоях вашего компьютера или сервера вам предоставляется возможность восстановить любую из предыдущих версий вашей записи. Но функционал сохранения ревизий имеет и отрицательную сторону.

Ведь все резервные копии (ревизии, редакции) сохраняются в базе данных вашего блога, в таблице wp_posts . И если у вас создано очень много записей, и при этом они часто редактировались, то размер базы данных окажется уж слишком большим. Кроме этого замедлится выполнение запросов к базе данных.

Увидеть список доступных ревизий Вы можете в нижней части страницы редактирования записей:

Ревизии, редакции записи WordPress

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

Но только не забудьте перед внесением модификаций создать резервную копию базы данных!

Отключение ревизии в WordPress

Для того, чтобы отключить создание ревизий (редакций), нужно добавить одну строчку в файл wp-config.php

Define("WP_POST_REVISIONS", 0);

Define("WP_POST_REVISIONS", false);

Есть еще и другой вариант отключения ревизий - изменить одно из значений с «true» на «0» или «false» в функции wp_functionality_constants() , которая находится в файле /wp-includes/default-constants.php

Function wp_functionality_constants() { ... if (!defined("WP_POST_REVISIONS")) define("WP_POST_REVISIONS", false); ...

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

Для того, чтобы ограничить количество ревизий (редакций), нужно добавить одну строчку в файл wp-config.php , как было при отключении ревизий, но вместо значения «0» или «false» указать целое число:

Define("WP_POST_REVISIONS", 3);

В этом случае будет создаваться максимум 3 ревизии на одну статью, плюс одна копия «Автосохранение».

Заметка на память:
Внесение выше указанных изменений сразу не уменьшит количество ревизий, которые уже существуют в базе данных. Но изменения вступят в силу при обновлении уже существующих записей, причем по отдельности. Они также будут учтены при создании новых записей. Еще стоит учесть, что в режиме редактирования кроме ревизий в базе данных каждые 60 секунд будет записываться одна единственная копия записи как «Автосохранение».

Удалить все ревизии WordPress из базы данных

Если ваш блог существует уже давно и в нем много записей, то не помешает оптимизировать его базу данных, удалив ранее созданные ревизии (редакции), и тем самым уменьшить размер таблицы wp_posts .

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

Итак, нам понадобится выполнить несколько действий:

1. Войдите в панель управления базами данных, например в phpMyAdmin;
2. Выберите по имени базу данных, которая используется вашим блогом;
3. Кликните по кнопке (или закладке) с надписью «SQL» (обычно она находится вверху страницы);
4. В поле для SQL-запросов введите этот запрос:

DELETE FROM wp_posts WHERE post_type = "revision";

5. Нажмите кнопку «Ok», чтобы выполнить запрос;

Вот и все. Теперь база данных вашего блога, а конкретнее таблица wp_posts , намного уменьшилась в размере.

Напоследок хочу сказать, что приведенный выше пример удаления ревизий (редакций) является самым простым и не гибким. Возможно Вы захотите удалить не все ревизии, а выборочно, например оставив в каждой записи по три последних редакции. В таком случае придется либо выполнить более совершенный запрос в базе данных, либо воспользоваться специальным плагином. Благо плагинов для управлением ревизиями и базами данных существует предостаточно.

История изменений в WordPress – удобный функционал, существующий в WordPress. Его по достоинству оценили авторы контента, регулярно публикующие свои материалы. Зачастую в процессе редактирования записи можно допустить случайные ошибки или опечатки. К примеру, вы случайно удалили часть своей записи. Вернуть это возможно: благодаря ревизиям можно всегда откатиться к одной из версий записи.

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

История изменений в WordPress: что это такое

Знаете ли вы о том, что WordPress автоматически сохраняет все изменения, внесенные вами в посты. Вы можете отменить эти изменения и вернуться к более ранней версии в любой момент времени. Этот функционал называется ревизиями (версиями). Он был введен еще в WordPress 2.6.

Благодаря этой возможности WordPress будет сохранять пост в виде ревизии всякий раз, когда вы нажимаете на кнопку «Save as Draft» (Сохранить как черновик) либо во время каждого автоматического сохранения записи. Функция автоматического сохранения активируется каждые 60 секунд – это специальная ревизия, которая заменяется новыми автосохраняемыми версиями.

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

Как работать с историей изменений в WordPress

Как видно из представленного ниже скриншота, ревизии расположены в разделе Publish на экране редактирования записи. Вы также можете вывести ревизии в редакторе записей путем щелчка по Screen Options и выбора пункта Revisions.

Если вы перейдете по ссылке Browse, вы попадете на страницу Revisions. Здесь вы можете видеть изменения, относящиеся к каждой версии – для этого используйте слайдер в верхней части экрана. Вы также можете использовать кнопки Previous и Next. Имеется функционал для сравнения двух ревизий. В окне будет указано, что было добавлено, что осталось без изменений и что было удалено.

Что можно делать с ревизиями: можно либо восстановить ревизию, либо оставить запись как есть. Если вы хотите восстановить определенную ревизию, вы можете сделать это путем нажатия по кнопке Restore this revision. Ссылка Return to post editor позволит вам вернуться к своему посту, не внося никаких изменений.

Какие типы контента поддерживают ревизии?

История изменений WordPress работает для всех записей и страниц вашего сайта, а также для произвольных типов записей, таких как Portfolio и Testimonials (добавляются Jetpack).

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

$supports = array("title", "editor", "revisions");

Код для произвольных типов записей обычно располагается в файле functions.php. Поместите строку выше над строкой, которая начинается с register_post_type.

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

Включаем или полностью отключаем ревизии

По умолчанию функционал ревизий автоматически включается для каждой сборки WordPress. Если у вас нет опции Revisions в редакторе записей, и вы внесли изменения в свой пост, то в таком случае, возможно, ревизии были отключены на уровне конфигурации.

Вы можете включить ревизии вручную, добавив следующую строку в файл wp-config.php:

Define("WP_POST_REVISIONS", true);

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

Define("WP_POST_REVISIONS", false);

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

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

Define("WP_POST_REVISIONS", 5);

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

Управление ревизиями для каждой записи

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

Add_filter("wp_revisions_to_keep", "filter_function_name", 10, 2); function filter_function_name($num, $post) { return $num; }

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

Плагины для управления ревизиями

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

Optimize Database After Deleting Revisions

Плагин для очистки ненужных ревизий и оптимизации базы данных. Основные функции:

  • Удаление ревизий для записей, страниц и произвольных типов записей.
  • Выбор количества сохраняемых ревизий.
  • Удаление спам-комментариев, неиспользуемых меток.
  • Удаление пингбэков и трэкбэков.
  • Оптимизация таблиц базы данных.
  • И т.д.

Плагин совместим с мультисайтами. Он поддерживает периодический запуск очистки.

WP Revisions Control

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

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

Он добавляет следующие поля к системе ревизий:

  • The Author
  • Post Date
  • Permalink
  • Post Status
  • Post Password
  • Comment Status
  • Ping Status
  • Post/Page Parent
  • Menu Order

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

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

Другие возможности:

  • Отключение ревизий.
  • Ограничение ревизий записей для всего сайта, для каждого типа записей, для каждого отдельного поста
  • Удаление ревизий в массовом порядке или индивидуально

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

Что такое ревизии?

Когда Вы создаете новую запись или страницу на сайте, потом сохраняете ее, и еще после этого несколько раз редактируете, “движок” автоматически сохраняет все ее версии в своей базе данных. Их и называют ревизиями.

Зачем отключать ревизии в WordPress?

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

Как отключить ревизии в WordPress?

Если Вы счастливый обладатель многофункционального премиум-плагина , то Вам не придется искать каких-либо других решений. Одной из его функций является полное отключение создания ревизий. Для этого нужно перейти в админ-раздел Clearfy Pro и на вкладке Дополнительно активировать настройку Отключить ревизии полностью .

Другие способы

Плагин Revision Control

Revision Control – отдельный плагин для управления ревизиями на сайте WordPress. Основной его особенностью является возможность указать, для каких типов записей (Страницы или Записи) запрещать создание копий.

Итак, после его установки и активации следует перейти в админке Настройки -> Revisions.

Вы можете отключить создание ревизий для нужного типа записей. Для этого служат соответствующие поля: Posts (Записи) и Pages (Страницы). Для сохранения всех изменений нужно нажать кнопку Save Changes.

Плагин Disable Post Revision

Disable Post Revision является отдельным плагином, выполняющим только одну функцию – полное отключение создания копий контента. Для этого его нужно просто установить и активировать. Основным преимуществом плагина является отсутствие каких-либо страниц настроек. Он начинает выполнять свою работу сразу после активации.

Добрый всем день. Сегодня я написал для вас чисто техническую статью, позволяющую оптимизировать базу данных WordPress блога за счет чистки ревизий (автоматически сохраненных копий статей). Мы подробно рассмотрим и разберем назначение ревизии, их сущность, а также, я покажу как удалить и отключить или ограничить появление ревизии в WordPress. Опубликованный ниже материал будет сопровождаться подробными картинками с комментариями.

Как вы видите, вопросов для изучения достаточно много. Правда, для многих владельцев интернет ресурсов она будет не нова, но “самые умные” мой блог не читают, его читают те, кто хочет научиться. Новичкам для создания популярного, надежного и стабильного сайта, необходимо разбираться во всех все технических тонкостях и иметь практическое понятие о ревизиях и еще много о чем. Будем учиться.

Что такое ревизии в WordPress

Может быть, вы замечали, что во время написания поста или редактирования, система в автоматическом режиме делает его копию – резервное сохранение. В это время кнопка «Опубликовать» и «Сохранить», расположенные в окне справа, становятся не активными. Именно это действие и называется ревизией.

Ревизии в WordPress – это автоматическое резервное сохранение содержимого записи или страницы во избежание потери данных. Из них можно восстановить более ранние копии документов.

Многие, наверное, догадались о том, что ревизии WordPress служат для того, чтобы избежать потери данных. Они настраиваются в автоматическом режиме и делают резервную копию через определенный промежуток времени (каждые 60 секунд). Они складываются в базу данных (MySql - phpMyAdmin). Посмотреть список ревизий в WordPress можно чуть ниже окна правки записи (в режиме редактирования). Если прокрутить страницу, то чуть ниже их можно увидеть в окне «Редакции». Выглядят они следующим образом:

Наверное, у вас уже возник вопрос «Зачем удалять или отключать ревизии?», если они исполняют такую полезную роль. Вся проблема состоит в том, что копии записей, статей или постов очень загружают базу данных, в которую они заносятся. Это приводит не только к будущей проблеме ее редактирования и внесения изменений, но и к медленной загрузке страниц сайта. Советую прочитать пост « ». Поисковые системы стали обращать особое внимание на этот параметр. Так же, кстати, от этого напрямую зависит поведенческий фактор, показатель которого формируется из оценки поведения пользователей.

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

Как удалить ревизии в WordPress

Существуют разные способы удаления ревизий, я покажу два. Один ориентирован на чайников, таких, каким недавно был я, а второй на людей более подготовленных (которые не боятся серверов и баз данных).

Способ №1. Плагин Better Delete Revision

Мы будем использовать специально созданный плагин для удаления ревизий – Better Delete Revision. Скачайте его через адмику и установите. После активации в разделе настройки появится пункт с названием аналогичным имени плагина – это настройки.

Можете сразу оптимизировать базу данных или перейти во вкладку “Проверить записи ревизий” и уже из нее почистить свой блог от лишних копий документов.

Способ №2.Удаление прямо из базы данных

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

После выбора нужной базы, найдите вкладку «SQL», откройте ее так, чтобы перед вами появилось пустое поле.

В него вам нужно скопировать расположенный ниже код и нажать на кнопку «ОК». Этим действием вы сделаете SQL запрос на удаление ревизий из базы данных.

DELETE FROM wp_posts WHERE post_type = «revision»;

Должно получиться как на картинке:

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

Как отключить ревизии WordPress

Для того, чтобы каждый раз не тратить время на чистку, создание резервных копий статей можно отключить. Тогда у вас просто пропадет окно «Редакции» и перестанут происходить постоянные сохранения. Перед тем, как это делать, очень хорошо подумайте, так как у вас больше не будет возможности открыть или вернуться к предыдущей версию записи.

Чтобы отключить ревизии, вам надо пройти на хостинг и отредактировать файл wp-config.php, который расположен в корневой папке. В него вставьте код с параметром:

Define("WP_POST_REVISIONS", 3);

Цифра устанавливает количество версий документа, которые будут храниться в базе данных. Ограничьте ее нужным количеством, например, единица будет означать, что у вас есть одна опубликованная и одна резервная (последняя правка).

После окончания внесения изменений нажмите на кнопку «Сохранить». Теперь ваша база не будет раздуваться как тесто на дрожжах при каждой правке статей.

На этом я заканчиваю данный пост. Надеюсь, что для вас эта информация была полезна. Если возникнут вопросы, прошу оставлять их в комментариях.