Как почистить и оптимизировать базу данных вордпресс. Управление количеством ревизий записей в WordPress. Восстановление ранее сохранённой копии базы данных MySQL

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

По мере использования WordPress, ваша база данных накапливает множество дополнительных данных, таких как редакции записей, спам-комментарии, данные плагинов, которые вы уже не используете и многое другое. Удаление этих ненужных данных может существенно уменьшить размер вашей БД, что ускорит процесс бекапа и добавит немного производительности сайту. Как минимум, просто не имеет смысла хранить в базе данные, которые впоследствии никогда не будут использоваться.

Давайте же рассмотрим способы «очистки» вашей базы данных WordPress.

Перед началом сделайте бекап!

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

Вычищаем свою БД WordPress с помощью WP-Sweep

Первым делом вам необходимо будет установить и активировать плагин WP-Sweep plugin . После активации просто переходим в раздел Инструменты » Sweep для очистки своей БД.

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

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

Очистка может занять некоторое время в зависимости от того, насколько велика ваша БД. WP-Sweep отобразит прогресс путем обновления статистики на странице.

Преимущества WP-Sweep перед WP-Optimize?

Возможно вы удивились, почему мы пишем о WP-Sweep, когда есть другой очень популярный плагин WP-Optimize, выполняющий по сути те же самые функции.

Также основной отличительной характеристикой является то, что WP-Sweep использует корректные функции удаления WordPress настолько, насколько это возможно вместо прямого выполнения MySQL запросов.

Что очищает WP-Sweep?

WP-Sweep использует корректные функции удаления WordPress для очистки БД. На момент написания этой статьи, он справляется со следующим:

  • Редакции записей
  • Автоматически сохраненные черновики
  • Удаленные комментарии
  • Неподтвержденные комментарии
  • Комментарии, являющиеся спамом
  • Неиспользуемые метаданные записей
  • Неиспользуемые метаданные комментариев
  • Неиспользуемые метаданные пользователей
  • Неиспользуемые отношения терминов
  • Неиспользуемые термины
  • Дублирующиеся метаданные записей
  • Дублирующиеся метаданные комментариев
  • Дублирующиеся метаданные пользователей
  • Промежуточные вариации
  • Оптимизация таблиц базы данных
  • Кеш oEmbed в метаданных записей

Вот и все, мы надеемся, что эта статья помогла вам вычистить мусор из вашего сайта на WordPress с помощью WP-Sweep.

По всем вопросам и отзывам просьба писать в комментарии ниже.

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

С некоторых пор я отказался от использования от плагинов, служащих для оптимизации и очистке базы данных моих сайтов на WordPress, которые показались мне менее эффективными, чем те, о которых я расскажу в этой небольшой статье. Плагинов, служащих оптимизации, чистке и восстановлению БД на Вордпресс довольно много, например , Backup WP-Optimize, DelRevisions. Оценить их значимость и необходимость сложно и такие плагины , безусловно, нужны. Очистка и оптимизация БД от всякого мусора — это, прежде всего, ускорение работы сайта, которая положительно влияет на его ранжирование.

Для оптимизации БД, до некоторых пор, пользовался плагином WP-Optimize, но, как в последствии выяснилось, его функции по очистке базы далеко не идеальны. Случайно обнаружил информацию, которая подарила мне новые знания и пользу о плагинах WP Clean Up и Plugins Garbage Collector. О них сегодня мой рассказ.

Найти его можно методом поиска в админпанели. Установить и активировать. Затем переход из «Параметры», выбрав этот плагин, откроете две таблицы.

Первая таблица служит для очистки мусора. Удалить ненужные файлы можно выборочно, можно все сразу:

Сразу отмечу: плагин удаляет записи черновиков! Если вы не желаете удалять такого вида записи, лучше переведите их в статус «На утверждении».

Вторая таблица — для оптимизации. После очистки базы, лучше произвести эту операцию сразу, перейдя в самый низ таблицы:

Плагин Plugins Garbage Collector

Тоже находим в поиске, устанавливаем и активируем. Далее в странице админпанели «Плагины», находим этот плагин, и нажимаем «Сканирование»:

Plugins Garbage Collector сканирует базу данных WordPress и показывает, те различные таблицы, которые остались от старых плагинов, были деактивированы (или удалены), но остались в БД. Их, с помощью данного плагина, если это необходимо, просто можно удалить.

Есть в этом плагине функция «Найти в структуре таблиц …». Эта функция работает не до конца. То есть вам, если таковые изменения имеются, откроют, но удалить их будет невозможно. Что-же, будем надеяться, что автор плагина в недалеком будущем совершенствует плагин.

Перед удалением таблиц с помощью плагина Garbage Collector, рекомендую создать резервную копию БД . После использования плагина, его можно отключить (деактивировать), по необходимости включать, анализировать БД и оптимизировать ее, снова деактивировать.

Вот и все.

(Visited 136 times, 1 visits today)

Со временем в базе данных Вордпресс накапливается много лишней информации. Объём которой часто достигает таких размеров, что сайт начинает спотыкаться и может даже упасть. Сегодня я покажу несколько приёмов по очистке и оптимизации БД Вордпресс.


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

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

Для Вордпресс существует несколько различных способов оптимизации БД, я покажу несколько полезных запросов MySQL, которые можно выполнить в , например. А также расскажу про пару полезных плагинов, которые помогут упростить задачу.

Внимание: Перед любым действием с базой данной, настоятельно рекомендую создать полную резервную копию сайта.

Оптимизация базы данных Вордпресс с помощью phpMyAdmin

Существует несколько способов выполнения SQL-запросов в БД. Самым простым вариантом является phpMyAdmin. Получить к нему доступ обычно можно в панели управления хостингом в разделе «Базы данных».

Внутри phphMyAdmin сразу переходим в раздел SQL.

Здесь мы и будем выполнять все SQL-запросы.

Сразу обращаю внимание, в примерах ниже используется дефолтный префикс таблиц Вордпресс - «wp_ » Поэтому, прежде убедитесь, что префиксы таблиц вашей БД такие же. Если нет - просто меняйте их в запросах на свои.

Удалить старые плагины и данные

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

DELETE FROM wp_postmeta WHERE meta_key = "META-KEY-NAME";

Вместо META-KEY-NAME нужно указать ключи удаляемых плагинов. Их можно найти в таблицах БД.

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

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

Удалить разом все ревизии можно таким запросом:

DELETE a,b,c FROM wp_posts a LEFT JOIN wp_term_relationships b ON (a.ID = b.object_id) LEFT JOIN wp_postmeta c ON (a.ID = c.post_id) LEFT JOIN wp_term_taxonomy d ON (b.term_taxonomy_id = d.term_taxonomy_id) WHERE a.post_type = "revision" AND d.taxonomy != "link_category";

Удалить все комментарии со спамом

Иногда комментариев со спамом становится столько, что вручную их удалить уже не удаётся. С помощью одного SQL-запроса можно удалить сразу все комментарии помеченные как «Спам».

DELETE FROM wp_comments WHERE comment_approved = "spam";

Удалить все неподтвержденные комментарии

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

DELETE from wp_comments WHERE comment_approved = "0";

Удалить все неиспользуемые теги

Удалить все теги, которые не связаны ни с одним постом можно следующим запросом:

DELETE FROM wp_terms WHERE term_id IN (SELECT term_id FROM wp_term_taxonomy WHERE count = 0); DELETE FROM wp_term_taxonomy WHERE term_id not IN (SELECT term_id FROM wp_terms); DELETE FROM wp_term_relationships WHERE term_taxonomy_id not IN (SELECT term_taxonomy_id FROM wp_term_taxonomy);

Удалить старые шорткоды

Часто после удаления плагинов в базе остаются нерабочие шорткоды, которые приходится удалять вручную. Это тоже можно сделать одним SQL-запросом.

UPDATE wp_post SET post_content = replace(post_content, "", "") ;

Где YOUR-SHORTCODE - удаляемый шорткод.

Удалить пингбеки и трекбеки

Интересно, кто-нибудь вообще ими пользуется?

Перед запуском убедитесь, что вы их отключили в админке.

DELETE FROM wp_comments WHERE comment_type = "pingback"; DELETE FROM wp_comments WHERE comment_type = "trackback";

Удалить временные опции

Временные опции в Вордпресс позволяют кешировать часть данных в БД. Но иногда этот кеш тоже может сильно раздуться. Очистить его можно одним запросом.

DELETE FROM wp_options WHERE option_name LIKE ("%\_transient\_%")

Оптимизировать таблицы

Раз уж мы зашли в phpMyAdmin, можно заодно проверить и оптимизировать таблицы. Делается это очень просто.

Выбираем все таблицы и нажимаем «Optimize table »

Оптимизация базы данных Вордпресс с помощью плагинов

Для Вордпресс существует ряд плагинов, с помощью которых можно почистить и оптимизировать базу данных. Самые эффективные из них: и .

Самый популярный плагин для оптимизации баз данных Вордпресс с более чем 600 тыс. активных установок. Очень прост в использовании, управляется одной кнопкой.

В разделе «Table Information» выводится информация по текущим размерам таблиц базы данных и объем, который плагин сможет освободить. В «Настройках» можно запланировать автоматическую оптимизацию БД. Например, каждую неделю, две недели или месяц.

Плагин WP-Optimize очень прост в использовании. Главное, не забудьте перед его использованием создать резервную копию сайта или хотя бы БД.

Набирающий обороты плагин от Лестера Чена - известного разработчика Вордпресс.

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

В отличие от WP-Optimize, WP-Sweet для удаления использует функции Вордпресс, а не прямые запросы к базе данных. Это снижает вероятность пропуска каких-то ненужных данных. Однако, в WP-Sweep пока нет никакой автоматизации процессов.

В заключение

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

По материалам wp-rocket.me

Всё самое новое и интересное из мира Вордпресс в моём Телеграм-канале . Подписываемся!

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

Те кто не занимается оптимизацией, то их мусор в базе данных превышает в 2, а то и в 3, 4, 5 раз по размеру основное содержание базы данных. Представьте, что ваша база данных весит 90 мегабайт, но необходимое и основное содержание базы данных весит всего 30 мегабайт, 60 мегабайт – это груз 200, то есть мёртвый груз, не нужный мусор. Удалите этот груз и ваш сайт полетит как сокол!

Начнём очистку и оптимизацию базы данных.

Сначала очистим базу данных с помощью плагина – WP Clean Up , очень простой и понятный плагин, не нуждается в настройках, нажмёте на кнопку и всё, лучший в своём роде. Установить данный плагин вы сможете прямо из админ-панели wordpress. Перейдите по вкладке: Плагины – Добавить новый , введите название плагина в форму поиска, нажмите Enter, установите и активируйте открывшийся плагин.

Чтобы настроить плагин, перейдите по вкладке: Настройки – WP Clean Up .

На странице плагина, в первом поле будут отображаться типы таблиц БД, которые можно очистить. Внизу нажмите на кнопку – Delete All , чтобы очистить сразу же всё. Внимание! Если на вашем сайте есть нужные вам черновики, то при очистке всех элементов одновременно они так же будут удалены. Чтобы сохранить черновики (Draft), удаляйте все элементы по отдельности, кроме элемента Draft, нажав на кнопку – Delete, напротив значения.

Во втором поле , у вас будут отображаться все имеющиеся таблицы в вашей базе данных и их размер. После очистки, вам нужно будет оптимизировать баз данных, то есть обновить. Нажмите на кнопку – Optimize . В поле Total вы можете наблюдать насколько изменилась в размере ваша база данных.

Как видно по скриншоту, во второй таблице у меня отображаются только 11 основных таблиц БД. У вас таблиц может быть гораздо больше от 50 до 100. Кроме 11 основных, присутствуют таблицы относящиеся к установленным плагинам и к удалённым. Далее я покажу как очистить БД от не нужных таблиц удалённых плагинов. После очистки БД можете деактивировать плагин – WP Clean Up . Периодически, раз в 3-6 месяца активируйте плагин и снова проводите очистку.

Здравствуйте, уважаемые читатели блога www.сайт. Если тексты статей на сайте, работающем на CMS WordPress, то очень скоро объем базы данных сайта увеличится многократно.

Дело в том, что начиная с версии 2.6 в WordPress был добавлен очень полезный и нужный механизм ревизий (редакций) записей.

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

Ревизии в WordPress позволяют избежать потери данных за счет того, что все предыдущие версии записей не удаляются из базе данных, а лишь получают другой статус — «revision »

В слове “все” предыдущего абзаца как раз и кроется причина неограниченного роста размера базы данных. Каждая редакция (ревизия) записи содержит ее полное содержание. А это значит, что если в процессе подготовки какой-либо статьи вы исправили и перезаписали ее, скажем, 10 раз, то в базе данных будет сохранено 10 копий. Если вы исправите всего один знак, в базу еще раз добавится текст целиком.

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

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

Управление количеством ревизий записей в WordPress

Для управления механизмом сохранения редакций записей в WordPress в файл конфигурации “wp-config.php ” после:
/** The Database Collate type. Don"t change this if in doubt. */
define("DB_COLLATE", ""); необходимо добавить всего лишь одну запись.
Для ограничения количества редакций тремя экземплярами:
define("WP_POST_REVISIONS", 3); Вместо “3” может быть любое нужное вам значение. “0” отключит сохранение ревизий. Такой же результат будет достигнут, если вместо цифры написать “false”:
define("WP_POST_REVISIONS", false);
Если по какой-либо причине нужно вновь разрешить сохранение всех редакций без удаления данной строки из “wp-config.php ”, то можно написать:
define("WP_POST_REVISIONS", true);

Тип ревизий записей в WordPress

В свою очередь редакции делятся на две категории:

  1. редакторские ревизии — предыдущие версии текстов, появившиеся после публикации или сохранения редактором (автором) обновленной записи;
  2. автосохраненные ревизии — автоматически создаются через определенные временные интервалы.

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

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

Автосохранение позволяет не потерять недавно набранные данные в том случае, если автор забыл сохранить их принудительно (получается, что на черновик это не распространяется).

Изменить интервал автосохранения можно добавив в файле конфигурации WordPress “wp-config.php ” строку:
define("AUTOSAVE_INTERVAL", 60); где 60 – интервал в секундах, соответствующий установленному по умолчанию. Его можно скорректировать в любую нужную сторону.

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

Если надо удалить все релизы, то сделать это можно без установки плагинов непосредственно в базе MySQL через phpMyAdmin.

Заходим в phpMyAdmin и выбираем нужную базу в левом столбце интерфейса. Начинаем, естественно, с .

Бекап базы данных

Переходим на вкладку “Экспорт”:

В открывшемся окне оставляем настройки без изменений. Нажимаем “ОК” в правой нижней части экрана и ждем завершения операции сохранения бекапа базы данных.

Запросы к базе данных на удаление ревизий и оптимизацию таблицы wp_posts

Переходим на вкладку “SQL”. В поле запросов к базе данных пишем:
DELETE FROM wp_posts WHERE post_type = "revision";
OPTIMIZE TABLE wp_posts;

Нажимаем “OK”, подтверждаем желание выполнить запросы к базе.

После успешного завершения запросов должно появиться сообщение такого вида:

При желании можно писать и выполнять запросы последовательно.

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

Лично я на этом бы уже и остановился – максимальное число сохраняемых релизов настроено, база данных очищена и оптимизирована. При желании, по прошествии некоторого периода времени, определяемого объемом сделанных на сайте изменений текстов, очистку базы описанным способом можно повторить.

Понравилось? Лайкни нас на Facebook