Если Вы заметили, движок WordPress имеет очень вредную привычку каждых 60 секунд делать резервную копию (автосохранение) ревизия. С одной стороны это хорошо, если Вы пишите пост, а тут бац свет пропал, а наш WordPress сделал ревизию (резервную копию), так что труд Ваш не пропал, он сохранился. Сразу возникает вопрос, а зачем избавляться от автосохранения (ревизий), ведь это хорошая и полезная функция.
Давайте рассмотрим, вы начали писать новый пост как заработать в интернете, на написания поста у Вас ушло не менее 3 часов, так же отредактировали, одну или несколько статей по несколько раз, в результате этого у вас будет больше 300 автосохранений (ревизий). Многовато, согласитесь. При этом они не удаляются и не пропадают, а накапливаются в вашей базе данных, и сколько уже мусора в БД за все время ведения блога, я думаю очень много. За счет этого увеличивается размер БД, что в свою очередь приводит к увеличению нагрузки и уменьшает быстродействие работы блога.
На картинке ниже приведен наглядный пример автосохранения (ревизей), вид ужасен, здесь admin блога очень часто делал изменения в этом посте, а бывает и еще больше.
А теперь давайте разберемся, как избавится от автосохранений, ревизий в WordPress и заодно почистить базу данных от накопившегося мусора.
Для этого у меня имеется, парочку хаков, которые помогут все это решить.
Отключить автосохранения, ревизии в WordPress. Рассмотрим два варианта, первый который отключает вообще автосохранения, ревизии, а второй где вы сами можете задать, сколько автосохранений, ревизий и через какое время должен проводить WordPress.
Вариант 1
Для этого необходимо перейти в корневую папку своего ресурса и найти файл wp-config.php и прописать ниже приведенный код:
define(‘WP_POST_REVISIONS’, 0);
define(‘WP_POST_REVISIONS’, false);
Также возможен и другой способ чтобы избавится от автосохранений, ревизей WordPress.
В корневой папке, находим папку wp-includes. В ней находим файл – default-constants.php — и находим код:
if ( !defined(‘WP_POST_REVISIONS’) )
define(‘WP_POST_REVISIONS’, true);
В данном коде необходимо заменить – true, на 0 или false.
В результате получится, что пункта «Редакции» после редактировании поста, статьи уже не будет.
Вариант 2
Если вы не желаете избавляться от автосохранений, ревизий полностью, вдруг обратно свет вырубят. Тогда редактируем файл – wp-config.php добавляем ниже приведенный код:
define(‘WP_POST_REVISIONS’, 2);
define( ‘AUTOSAVE_INTERVAL’, 120);
Пояснения:
2 – количество сохранений.
120 — время в секундах автосохранения.
Вот что получится.
Ура! С автосохранениями (ревизиями) разобрались. Теперь дело за чисткой БД от мусора, который собрался за все время.
Как удалить автосохранения, ревизии в WordPress из БД MySQL.
Для этого Вам необходимо зайти на хост и перейти в «Управление базами MySQL».
Если вы до этого времени не работали или не сталкивались с базой данных MySQL, настоятельно рекомендую, ознакомится, как сделать резервную копию базы данных.
Выбираем нужную БД MySQL и делаем очистку накопившегося мусора в виде автосохраненных, ревизий. Не дрожите, здесь ничего страшного нет. И помалу учимся работать с блогом, и заодно осваиваем оптимизацию сайта (блога).
Сперва, запоминаем текущий размер БД, чтобы после отчистки Вы смогли, сравнить насколько БД MySQL уменьшилась.
Внутри БД в верхнем меню переходим по вкладке – «SQL» показано на изображении ниже.
После перехода, открывается окно и вводим командную строку:
DELETE FROM wp_posts WHERE post_type = "revision";
и нажимем «Ок». Появится окно подтверждения, смотрим на изображение ниже.
Нажимаем повторно «Ok». После обработки Вы увидите «Удалено строк: XXX. ( запрос занял ХХ.ХХ сек. )».
Теперь, БД MySQL чиста.
Вы пишете в вариант 1
define(‘WP_POST_REVISIONS’, 0);
define(‘WP_POST_REVISIONS’, false);
Вопрос: разве 0 и false не одно и то же?
Спасибо.
в принципе тоже самое ниже данное расписано,
Я установил плагин Revision Control, и с помощью него поудалял лишние копии записей, в базу сам не лез. Хотя и можно было. Ну и этот плагин контролирует чтоб лишние автосохранения не появлялись.