В одной из моих предыдущих статей, я рассказал о неэффективности использования черновиков. Напомню. Черновики создают ненужные дубли – ревизии ваших статей в базе данных MySQL, в WordPress. Кроме этого, редактор в WordPress, если у вас не отключена опция, сам, в автоматическом режиме, создает ревизии ваших статей при их создании и редактировании. База MySQL, благодаря таким ревизиям вырастает в несколько раз. Что делать?
Что такое ревизия в WordPress?
Ревизия WordPress - резервное сохранение вашей публикации, которое дает вам возможность восстановить данные публикации, в случае ошибки или сбоя.
В WordPres, ревизии, по умолчанию, создаются в автоматическом режиме и при сохранении черновика. Так же, ревизии в WordPres не сохраняют некоторые опции плагинов, используемые при создании публикации.
Первое что нужно сделать – отключить опцию автоматического создания ревизий самим WordPress.
Делается это так:
- Найдите в каталоге, в который установлен WordPress, файл wp-config.php
- Откройте его в текстовом редакторе.
- Найдите строку №78:
//define('WP_POST_REVISIONS', 5);
Раскомментируйте ее, заменив на такую строку:
define('WP_POST_REVISIONS', 0);
- Сохраняем и заливаем на сервер.
Таким образом, мы запретим редактору WordPress автоматически сохранять в базе ревизии наших статей.
Если вы читали мою предыдущую статью, используйте отложенную публикацию вместо черновиков.
Все это хорошо, если вы начинаете с чистого листа и не имеете публикаций. Что делать, если публикации созданы и ревизии в базе имеются? Как их оттуда безболезненно и просто удалить?
Есть несколько способов удалить ревизии:
Способ 1 – для умеющих:
Если вы знакомы с phpMyAdmin, зайдите в панель управления хостингом, запустите phpMyAdmin, перейдите в таблице wp_posts на вкладку SQL.
Введите в окно Выполнить SQL запрос(ы) строку запроса:
DELETE FROM `wp_posts` WHERE post_type='revision'
Нажмите кнопку Пошел
Если не произошло ошибки, данный запрос удалит все ревизии. Если появилась ошибка, проверьте имя таблицы, у меня wp_posts, возможно у вас другой префикс. Измените и запустите еще раз.
Способ 2 – для обычных пользователей:
Плагин DelRevision

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

Версия: 0.1, размер: 2.06 KB, скачали: 1279 раз.
Плагин тестировался на версии WordPress 2.7, но должен работать и на всех остальных версиях. Если кто попробует в других версиях WordPress, отпишите в комментариях.
Установка плагина DelRevision:
- Распакуйте архив в каталог плагинов WordPress: wp-content/plugins/
- Зайдите в панель администратора WordPress, в раздел Плагины.
- Найдите в списке не установленных плагинов, плагин DelRevision и нажмите Активировать.
- Всё, установка плагина DelRevision закончена.
Работа с плагином DelRevision:
- В панели Администратора, в меню Инструменты, у вас появился пункт DelRevision, нажимаем на него.
- В открывшемся окне плагина DelRevision вы увидите интерфейс управления плагином.
- Если в базе имеются сохраненные ревизии, плагин покажет вам заголовки и количество этих ревизий.
Для того чтобы удалить все ревизии:
- Если вы используете плагин в первый раз и версия WordPress не 2.7, создайте на всякий случай дамп вашей базы.
- Для удаления всех ревизий, нажмите на кнопку Удалить ревизии
- Если после нажатия появилось сообщение Ревизии удалены, вы увидите зеленую надпись Ревизии в базе не найдены. Это означает, что все ревизии успешно удалены из ваше базы.
- Если произойдет ошибка, вы увидите сообщение об ошибке, напишите мне об этом в комментариях или на e-mail.
Вот и все, плагин DelRevision очень прост и не требует каких-либо углубленных знаний.
Нашел ошибку в тексте? Выдели ее мышкой и нажми
Олег, спасибо за плагинчик!! Я таки набрался смелости и воспользовался им – удалил почти 2000 ревизий записей и страниц. А потом снова дезактивировал с той мыслью, что через пару месяцев повторю процедуру удаления. Правильно я мыслю?
Можно не дезактивировать. Он автоматом, без вашего участия, ничего не делает. Желательно оптимизировать таблицы после чистки
Присоединюсь к благодарности.
В своём блоге Обмен детских вещей удалил 900 ревизий. Знать бы ещё как базу после удаления оптимизировать… Надо покопаться в интернете.
Спасибо автору!
на здоровье. Если оптимизировать с помощью запроса через phpmyadmin то строка запроса выглядит так ‘OPTIMIZE TABLE `wp_posts`’ только префикс поменяйте на свой.
Ещё раз спасибо) Лишь бы базу не заломать теперь. Потренируюсь сперва “на кошках” – попробую на работа запроса на экспериментальном сайте.
Да, сработало)
Заведу себе блокнотик для полезных советов.
Олег в WordPress 3.0.2 в файле wp-config.php строки //define(‘WP_POST_REVISIONS’, 5); вообще нет
Это не важно. Если нет добавьте.
Спасибо за плагин, очень полезный, как раз кстати
А как обстоит дело с “хвостами” ревизий в
wp_postmeta и wp_term_relationships ?
Их тоже желательно удалять, иначе в базе образуется неприкаянный мусор.
Насколько я помню у ревизий нет хвостов.
Увы, есть. В целом спасибо за статью, очень помогла разобраться, и вдохновила на следующий революционный шаг – снос аттачментов.
автор статья блеск очень помогла и плагин очень помог С П А С И Б О
На здоровье
Олег здравствуйте. При много благодарен за плагин. У меня вопрос к вам. Вот вы пишите: Желательно оптимизировать таблицы после чистки, каким образам это делается в WordPress? подскажите пожалуйста.
Данная опция будет в новой версии плагина.
А у вас есть несколько возможностей:
1. Вручную с помощью PHPmyAdmin хостинга
2. С помощью плагина, например WP-Optimize или DB – Optimize и т.д.
Спасибо, на 3.2.1 работает.
Это всё хорошо, но в версии 3.2.1 один хер сохраняет черновик!
Хм, нужно будет проверить. Давно не пользовался этим плагином.
Олег, спасибо от души за Плагин. Я удалила около 2000 ревизий, версия WordPress 3.2.1 Мне понравилось, что я сразу получила конкретный ответ на заданный в поисковике вопрос. Удачи Вам, Олег процветания, вдохновения и побед. Спасибо еще раз.
Спасибо большое за плагин, удалил около 600 ревизий. Давно собирался заняться удалением черновиков. Теперь непременно буду заходить в гости на ваш полезный ресурс.
Спасибо! Поставил на WordPress 3.3, работает замечательно =)
Большое спасибо, плагин очень помог! Все быстро удалил на WP 3.3