Как в WordPress отключить сохранение копий статей?

Те, кто ведет свой блог на WordPress наверняка заметили, что WordPress автоматически сохраняет копии всех редакций статей. Исправили Вы опечатку, нажали кнопку «Сохранить» — получайте очередную запись в базу данных. Думаю не нужно объяснять, что каждая запись в базе данных имеет вес, и тем самым, занимает часть памяти, выделенной хостинг-провайдером под Ваш сайт. Проведя ревизию базы данных можно обнаружить, что к каждой записи (статье) в базе хранится от 20 и более резервных копий. Т.е. вместо, например, 50 статей там лежит 1000! Как же от них избавиться без использования плагинов и порчи базы данных?


1. Первым делом отключаем сохранение этих самых резервных копий. Для этого в папке, где лежат файлы Вашего блога находим файл wp-config.php. Открываем файл в режиме редактирования и находим в нем раздел с параметрами MySQL, как правило, это самый первый раздел в данном файле. Каждая строчка начинается со слова define. Добавим в конце раздела еще одну строчку с комментарием:

/** Отключение сохранения редакций статей. */
define('WP_POST_REVISIONS', false);

Если в этом разделе у Вас уже была такая строчка, но в ней было указано true, то просто замените true на false. Теперь копии Ваших статей не будут сохраняться.

2. Далее переходим к тем копиям, которые уже сохранились в базе данных. Для этого необходимо открыть базу данных в phpMyAdmin. Затем нужно перейти на вкладку SQL, ввести запрос к базе данных и нажать кнопку «Ок», после выполнения запроса в базе будут стерты все записи с копиями статей:

phpmyadmin

DELETE FROM wp_posts WHERE post_type = "revision";

Если страшно сразу удалять, то можно сначала отобрать нужные, используя следующий запрос:

SELECT * FROM wp_posts WHERE post_type = "revision"

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

На этом многие обычно останавливаются, но это плохая чистка базы данных.

3. Следующим этапом будет оптимизация таблиц. Дело в том, что записи в таблице не хранятся на сервере в одном месте, а записаны кусочками (фрагментами) в разных местах, поэтому при удалении записей из таблицы, связь между кусочками теряется и полного удаления данных с сервера не происходит, т.е. Ваши удаленные килобайты никуда не уйдут. Чтобы полноценно очистить базу данных, необходимо ее открыть все в том же phpMyAdmin. Перед Вами будет список таблиц Вашей базы данных, в правой колонке «Фрагментировано» у некоторых таблиц будут ненулевые значения — это и есть наши кусочки (я чищу базу регулярно, поэтому у меня не такие большие цифры, но они могут достигать нескольких мегабайт):

defragmentation

Далее нужно отметить галочками таблицы с ненулевыми значениями в столбце «Фрагментировано» и под таблицей из выпадающего списка выбрать «Оптимизировать таблицу». Оптимизация таблиц позволяет уменьшить время исполнения запросов к базе данных и тем самым ускорить загрузку страниц Вашего блога.

Понравилась статья?

Поделитесь ей с друзьями:

Есть вопросы? Задайте их через форму комментариев.
 

5 Responses to Как в WordPress отключить сохранение копий статей?

  1. Здравствуйте!

    Спасибо за полезную статью!
    Как раз недавно искал подобную информацию.

    Более подробно изучу Ваши статьи.

  2. Андрей Чернов:

    И снова, здравствуйте.

    Перед тем как выполнять запросы в phpMyAdmin к базе на вкладке SQL следует выбрать саму базу на предыдущей вкладке. Иначе получаем сообщение об ошибке.

    • MARYKO:

      Добрый вечер!
      Андрей, спасибо за комментарии.
      В тексте статьи указано «Для этого необходимо открыть базу данных в phpMyAdmin», а внизу на картинке слева виден список таблиц базы данных, что как-бы показывает, что база уже выбрана:)
      Я стараюсь раскрывать темы в статьях полностью, чтобы было доступно даже новичкам.
      Комментарии очень помогают выяснить понятна ли статья читателям.
      Еще раз спасибо.

  3. Галина, Ярославль:

    Добрый день!
    Благодаря Вашей статье я почистила в базах SQL около 35 МБ дискового пространства.
    Но мне хотелось бы почистить еще дисковое пространство, так как у меня приближается к верхней границе допустимого.
    Как можно почистить public.html?
    Слышала про картинки, но как определить, которая свободна, чтобы ее удалить? Наверное, эта статья была не на Вашем блоге?

    • MARYKO:

      Добрый день!
      Галина, если я правильно Вас поняла, то Вы хотите почистить папку public_html, чтобы освободить место на сервере.
      К сожалению, тут нет совета на все случаи жизни. Нужно смотреть индивидуально.
      Возможно Вам пригодится моя статья про уменьшение размера картинок:
      http://maryko.ru/blog/decrease-site-image-size

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *