Редакции записей на WordPress, их настройка и предназначение

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

Ревизии WordPress

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

Сохранение ревизий на сайте с большим количеством статей значительно сократит его производительность из-за снижения скорости обращения к базе данных. Тысячи новых строк в базе данных приводят к увеличению её размера, занимая больше места на сервере. И далеко не факт, что эти редакции когда-нибудь пригодятся.

Управление редакциями на WordPress

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

  • красный текст слева показывает, что было удалено,
  • зелёный текст справа показывает, что было добавлено.
Восстановить редакцию

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

Редакция — это сохранённая копия вашей записи или страницы, которая периодически создаётся по мере её обновления.

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

Как удалить редакции WordPress из базы данных

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

Удалить ревизии

Опытные пользователи могут удалить редакции WordPress через phpMyAdmin. Для этого откройте панель phpMyAdmin и перейдите на вкладку SQL в верхнем меню. Отсюда вы можете вручную выполнять SQL-запросы к базе данных. Вам необходимо ввести следующий код запроса:

DELETE FROM wp_posts WHERE post_type = "revision";

Если префикс таблиц базы банных отличается от wp_, то вам потребуется изменить его в SQL-запросе, иначе запрос вернёт пустой результат и ничего не произойдет. Для выполнения запроса нажмите кнопку «Вперёд» и все редакции WordPress будут удалены.

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

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

Как ограничить количество редакций на WordPress

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

define('DB_COLLATE', '');

И сразу после этой строки добавьте новую:

define('WP_POST_REVISIONS', 2);

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

Как отключить редакции записей на WordPress

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

define('WP_POST_REVISIONS', false);

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

  1. 5
  2. 4
  3. 3
  4. 2
  5. 1
(5 голосов, в среднем: 5 из 5)
  1. Маг

    Я думаю, если хостинг нормальный и он справляется с нагрузкой, то лучше ничего там не менять.

    Ответить

  2. Webliberty

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

    Ответить

  3. Игорь

    Database Optimize? Вроде как этот плагин неплохо справляется или нет?

    Ответить

  4. Webliberty

    Игорь, точно не знаю, удаляет этот плагин ревизии или нет, т.к не устанавливал. Привык всё делать вручную — оптимизацию, архивирование и прочие операции. Это ответственные шаги, поэтому не хочется полагаться на плагин, который в любую минуту может отказать.

    Много читал о том, что некоторые плагины для бэкапа делают вроде бы нормальные копии, но как только дело доходит до восстановления — начинаются проблемы, то с кодировкой, то ещё с чем то… А ревизии я вообще отключил, чтобы не засорять базу данных.

    Ответить

  5. Игорь

    Вроде как не плох и по отзывам не плохой, хотя точно не скажу 🙂

    Ответить

  6. Виталий

    Это лучшее решение, чем плагин устанавливать)

    Ответить

  7. Ирина

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

    Ответить

  8. Вадим

    Замечательный у Вас блог Денис. Много интересной и ценной информации, занёс в закладки, буду частым гостем))) Ревизии я у себя отключил, просмотрев курс Евгения Попова, такой командой:

    define('WP_POST_REVISIONS', 0);

    Зато прочитав Вашу статью, благодаря запросу по базе, убедился — работает) Ну а для гарантии и Ваш код вставил, по принципу кашу маслом не испортить)))

    Ответить

  9. Webliberty

    Вадим, добрый вечер, рад знакомству 🙂

    Ответить

  10. Алексей

    Привет Денис 🙂

    А где конкретно в панели управления phpMyAdmin надо ввести запрос для удаления ревизий? Немного не понял.

    Ответить

  11. Webliberty

    Алексей, вверху панели есть вкладки, на странице вкладки SQL есть текстовое поле, куда необходимо ввести запрос и затем нажать кнопку «Вперёд» (может отличаться в зависимости от версии).

    Ответить

  12. Павел

    В службе поддержки на хостинге мне ответили, что «Резервные копии не учитываются в размере занимаемого пространства». Зачем тогда удалять ревизии?

    Ответить

  13. Webliberty

    Павел, резервные копии сайта на хостинге и ревизии WordPress — разные вещи.

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

    Ревизии — это резервные копии страниц и записей, которые хранятся в базе данных сайта. Если статья много раз редактировалась, то создаётся множество её вариантов (ревизий) и хранится в базе данных. Как правило, статья после корректировок принимает законченный вид и хранить эти копии не имеет смысла.

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

    Ответить

:) ;) :D :( :cry: :| :o :P 8-) :oops: :roll: :idea:

Отправляя комментарий, вы соглашаетесь с политикой конфиденциальности.