Как управлять ревизиями страниц и постов wordpress

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

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

Что такое ревизии (редакции) wordpress

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

Что такое ревизии wordpress
Управление ревизиями wordpress

Дисплей показывает, что изменилось в каждой ревизии – что было добавлено, что осталось неизменным и что было удалено. Линии, добавленные или удаленные, подсвечиваются, а отдельные изменения символов получают дополнительное выделение Нажмите кнопку «Восстановить эту ревизию», чтобы восстановить ревизию.

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

Примечание:  кнопка «Восстановить эту редакцию»  всегда восстанавливает ревизию, с которой вы сравниваете .

Чтобы вернуться к экрану редактирования сообщения без восстановления редакции, щелкните заголовок сообщения в верхней части страницы.

Как работают ревизии (редакции) в wordpress?

Старые сайты зачастую имеют более 100 ревизий на своих главных страницах. Это происходит из-за того, что на протяжении уже многих лет периодически обновляется контент и постоянно редактируются записи.

Допустим, например, что на сайте есть 700 страниц или постов с 150 ревизиями на каждой, это будет более 100 000 записей в базе данных. Такое происходит намного чаще, чем вы думаете. К счастью, есть несколько простых шагов, которые вы можете сделать, чтобы это не повлияло на производительность вашего сайта.

удалить ревизии wordpress

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

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

Если вы попытаетесь сделать это с помощью запроса MySQL, то будьте очень осторожны. Среди форумов и различных хранилищ WordPress «гуляет» достаточно много плохих фрагментов кода с недостоверной информацией. Большинство из них предлагают запросы, которые могут удалить связь, необходимую для корректной работы ссылок на панели управления. Или того хуже – вообще потерять доступ.

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

Я пользуюсь бесплатным плагином WP-Sweep. Однако не советую вам использовать плагин WP-Optimize или Optimize Database после плагина Optimize Database after Deleting Revisions. Несмотря на то, что они очень популярны, эти плагины могут вызывать серьезную проблему, хотя и не у всех.

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

Шаг 1
Загрузите и установите бесплатный плагин WP-Sweep. На момент написания этой статьи плагин имел более 70 000 активных установок с рейтингом 4,5 из 5. Вы можете скачать его из базы данных WordPress или найти его на панели инструментов WordPress в разделе «Добавить новые» плагины.

Плагин для удаления ревизий wordpress
Плагин для удаления ревизий wordpress

Шаг 2
Под вкладкой «Инструменты» нажмите «Очистить(
Sweep)». Вы увидите ревизии, а также их количество. Теперь Вы можете нажать «Подробнее», чтобы увидеть список сообщений, которые будут затронуты. В целях оптимизации производительности отображается только 500 элементов одновременно.

Очистка ревизий

Шаг 3
Когда вы будете готовы, нажмите «Очистить» рядом с «Ревизии».

Панель управления плагином WP-Sweep
Панель управления плагином WP-Sweep

После этого вы увидите краткое подтверждение общего количества удаленных ревизий.

результат работы плагина WP-Sweep
результат работы плагина WP-Sweep

Т.к. это происходило на небольшом тестовом сайте, их не так много. Большие сайты, как правило, имеют немало удаленных ревизий.

Удалить ревизии WordPress с помощью WP-CLI

Другой вариант, который может особенно понравиться разработчикам WordPress, ― это возможность удалять ревизии (редакции) постов с помощью WP-CLI.

Но должен сказать, что данный способ подойдет не всем, а лишь тем кто занимается разработкой или любит именно такие способы работы с проектами.

К стати, если данная тема интересна, можно сделать например специальную рубрику или просто раскрыть эти способы подробнее на страницах моего блога. Как вы на это смотрите?

Вот пример команды WP-CLI:

$ wp post delete $ (wp post list --post_type = 'revision' --format = ids)
управление ревизиями wordpress через WP-CLI

Прочитать больше о данном способе и различных командах, можно в документации WP-CLI.

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

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

WordPress сохранит этот номер и удалит все предыдущие. Вы также можете использовать wp-revisions-cli для очистки последующих ревизий на основе номера, указанного вами ниже.

Шаг 1
Откройте файл wp-config.php. Вам нужно будет добавить код. Обычно он находится в основной папке вашего сайта WordPress, и вы можете получить к нему доступ через FTP.

Подробнее о способах подключения можно посмотреть в этом видео


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

Шаг 2
Код, который представлен чуть ниже необходимо вставить над «ABSPATH», иначе он не будет работать. Опять же, вы можете изменить номер на любое количество ревизий, которые вы хотите сохранить в своей базе данных для каждой страницы или публикации.

define ('WP_POST_REVISIONS', 3);

Это должно выглядеть примерно так:

ограничение ревизий wordpress

Кроме того, вы также можете использовать премиум-плагин, например ― perfmatters, (разработанный членом команды в Kinsta), который позволяет ограничить количество сохраненных ревизий WordPress или вообще отключить их.

Как отключить ревизии WordPress (Дополнительный вариант)

Последний вариант ― это просто отключить ревизии (редакции) WordPress. Наиболее часто используемым методом обычно является второй вариант, о котором упоминалось выше. Однако, если вы являетесь единственным автором, то вы можете просто полностью избавиться от ревизий.

Помните, что система все равно сохранит черновик, просто у вас уже не будет точек для восстановления редакции.

Шаг 1
Алгоритм действий такой же, как и при ограничении количества ревизий (см. выше). Откройте файл wp-config.php.

Шаг 2
Строчку кода необходимо вставить так же над «ABSPATH».

define ('WP_POST_REVISIONS', false);

Это должно выглядеть примерно так:

удалить ревизии wordpress

И на “десерт” хочу порекомендовать плагин Disable Post Revision. Это бесплатный плагин WordPress, который занимает мало места на хранилище и удобен в использовании.

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

плагин Disable Post Revision
Disable Post Revision

Заключение

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

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

Полезно знать: Как начать вести свой блог с нуля

Поделиться с друзьями
Эдуард Бунаков

Здравствуйте! Я специалист cms-систем, автор серии обучающих курсов по созданию сайтов на cms-Joomla, WordPress, интернет-магазинов на Opencart.

Оцените автора
( Пока оценок нет )
Добавить комментарий

Нажимая на кнопку "Отправить комментарий", я даю согласие на обработку персональных данных и принимаю политику конфиденциальности.

  1. Эдуард Бунаков автор

    Здравствуйте Татьяна!
    Во-первых, если Вы уже удалили все посты, зачем тогда чистить ревизии. Ничего нажимать не нужно пока не восстановите записи.
    Удаленные посты хранятся в корзине, в резервной копии, в базе данных. Если их нигде нет, восстановить к сожалению, невозможно.
    Но поскольку плагин все же показывает какое-то количество, возможно шанс есть. Как я понял, корзина и резервная копия у Вас отсутствуют. Попробую объяснить как восстановить записи из базы данных, если конечно они там сохранились.
    Для этого нужно войти в свою базу данных и нажать на таблицы под названием wp_posts
    Откроются все таблицы с вашими записями, в том числе и с ревизиями. Вся таблица будет разделена на колонки и в них можно будет найти последние записи и ревизии.
    Для того чтобы вытащить записи из таблицы, нажмите на иконку карандаша во второй колонке напротив нужной записи, откроется страница с редактированием, скопируйте запись и перенесите в блог. Другие варианты восстановления более сложные и понять их без специальных знаний не получиться.

    Ответить
  2. Татьяна

    Здравствуйте Уважаемый Эдуард! В Вашей статье я наконец разобралась что такое ревизии, но до этого начитавшись в инете статей я по ошибке удалила все посты со своего сайта. Теперь дойдя до кнопки Sweet я не решаюсь ее нажать из- за надежды восстановить весь свой контент. Где я могу подробнее рассмотреть свои ревизии, потому-что на сайте плагин указывает только цифры. Прошу прощения если написала не очень толково, мне 60 лет и инет я” догоняю как могу”. Заранее благодарю Вас.
    Татьяна

    Ответить