Сегодня решил коснуться темы ревизий (revision) поста в WordPress. Я думаю вы замечали, что при написании статьи WordPress постоянно, а точнее каждую минуту, сохраняет ваш пост, создавая новую ревизию (редакцию). Ревизии продолжают создаваться постоянно. Это со временем захламляет базу данных, что в свою очередь, увеличивает нагрузку на сервер. Не у всех блоги находятся на выделенных серверах, поэтому очень важно максимально ускорить работу движка. Давайте разберемся как это сделать.
[adsense]
Обратил внимание на ревизии я начав писать цикл статей CSS3 для начинающих. Так как каждый пост писался не один час, а иногда и не один день, ревизий получилось очень много. Вот так к примеру выглядел по окончании пост «CSS3 для начинающих. Часть 3. Текст в CSS3».
Если зайти в phpMyAdmin и посмотреть размер таблицы wp_posts, то он будет в разы превышать реальное количество постов у вас на форуме. Вот например как выглядит моя таблица: на блоге у меня в районе 50 постов, а в таблице их числиться 786. Получается, что около 700 постов — это ревизии, которые попросту занимают место и ресурсы.
Понятно, что такое количество ревизий слишком избыточно. Поэтому я решил поискать способы решения данной проблемы, которую поделил на 2 части:
1. Избавиться от всех предыдущих ревизий (редакций).
2. Ограничить (или отключить) количество ревизий в будущем.
По первой проблеме нашлось несколько решений. Приведу их все, а как поступить — решать вам.
- на многих блогах и форумах советуют воспользоваться командой для phpMyAdmin
DELETE FROM wp_posts WHERE post_type = 'revision';
теоретически это команда удалить все посты, которые являются ревизиями, но следуют учитывать тот факт, что кроме самих постов остается довольно много мусора в базе данных и она практически не уменьшится в размерах.
- второй вариант — установить специальный плагин. К примеру, я использовал Better Delete Revision. При первом обращении к нему вы увидите окно, где будет сообщаться сколько у вас всего постов и будет предлагаться проверить количество ревизий.
После нажатия кнопки «Check Revision Posts» вы увидите все ваши ревизии. У меня их оказалось 493(!). Ну и плагин сразу предлагает нам их удалить. Нажимаем синию кнопку «Yes, I would like to delete them». После наблюдаем радостное известие: «Deleted xxx revisions!». Это второй способ, на мой взгляд более безопасный.
После проделывания данных операций вы можете оценить влияние очистки на размер вашей базы данных. Сразу скажу, если у вас меньше 100 постов — особой разницы вы не заметите — 1-2 мегабайта.
Далее стоит вопрос с решением второй проблемы: ограничить (или отключить) количество ревизий (редакций) в будущем. Я выбрал вариант ограничить количество, потому что ревизии все-таки иногда бывают полезны, особенно при написании больших постов. Но если вы ими все же не пользуетесь — можете их просто отключить.
Что нужно сделать чтобы отключить ревизии (редакции)?
Все достаточно просто. Правда мы снова лезем в код. На этот раз в файл wp-config.php
, что находится в корне вашего сайта. Добавить нужно всего одну строку:
define('WP_POST_REVISIONS', false);
Если же вы хотите ограничить количество ревизий добавить следуют строку такого вида:
define('WP_POST_REVISIONS', 5);
где вместо цифры 5 можете указать любое число — это и будет количество разрешенных ревизий.
Нашел на просторах интернета отличный интернет магазин http://quke.ru. Там телефончик, о покупке которого я размышляю — samsung Galaxy R — стоит совсем недорого. Кстати, для вебмастеров будет интересно поучаствовать в их партнерской программе.
Полезно 🙂 Меня напрягают эти ревизии, засоряющие базу)))
хорошо, что полезно)
Deleted 519 revisions! и это с 30 постов) ужас)