Контакты

Как самому очистить и оптимизировать базу данных wordpress? Как очистить мусор в базе данных WordPress

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

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

А теперь посмотрим, как же нам удалить ненужные ревизии. Быстро и безопасно.

Некорректное удаление ревизий (псевдоочистка автосейвов)

Сохранённые ревизии находятся в таблице wp_posts . Найти их можно по значению поля post_type - revision . В рунете и буржунете на многих блогах для удаления всех ревизий дана сомнительная рекомендация в виде MySQL-команды.

DELETE FROM `wp_posts` WHERE post_type="revision"

Не используйте данный способ! Ревизии удаляются, но в БД остается много технического мусора, связанного с ними. Поэтому проще воспользоваться готовыми решениями.

Плагины для оптимизации БД

Исследовав весь ассортимент плагинов для WordPress, пришел к выводу, что мне нужен плагин WP-Cleanup .

Есть еще плагин WP-Optimize, но он какой-то стремный. К тому же в нем нет ничего такого, чего нет в WP-Optimize. А оптимизировать БД можно тем же плагином . Также, при наличии WP-Cleanup, плагин Delete-Revision просто не нужен.

Плагин WP-Cleanup делает следующее:

  • удаляет все ревизии постов
  • удаляет из базы данных все спам-комментарии
  • удаляет все комментарии неодобренные автором блога
  • удаляет все неиспользуемые теги
  • удаляет все неиспользуемые мета-данные постов
  • оптимизирует базу MySQL, удаляя ненужные данные.

Неплохо, правда? Вам остается только отметить флажком то, что требует оптимизации и нажать кнопочку «Cleanup the selected items!».

База данных после очистки плагином WP-Cleanup

Общий объем моей базы данных до оптимизации был 49,8 Мб.
После очистки ненужных записей она стала весить 6,5 Мб.
Итого было выброшено 43,3 мегабайта мусора!



Скачать плагин WP-Cleanup

Я успешно почистил свою базу плагином версии 1.1.0, который в настоящее время скачали уже около 4-ч тысяч блоггеров. Последнюю версию WP-Cleanup можно скачать (//wordpress.org/extend/plugins/wp-cleanup/) на официальном сайте.

Установка плагина

  1. Скачайте WP-Cleanup.
  2. Распакуйте ZIP-архив.
  3. Закачайте в папку /wp-content/plugins/ .
  4. Войдите в админку WordPress.
  5. Перейдите в раздел [ Плагины ].
  6. Активируйте плагин WP-Cleanup.
  7. Использование плагина [ Параметры/WP-Cleanup ]

Аналоги WP-Cleanup

  • WP-DBManager - есть автоматическая оптимизация и бэкап без вашего участия и отправка копии на e-mail. Есть возможность восстанавливать БД из резервной копии прямо в админке.
  • DB-Optimize - никаких настроек нет. К сожалению, возможна неполная очистка базы данных.
  • WP-Optimize - может удалять ревизии постов, сохраненные черновики, спам и неподтвержденные комментарии, а также оптимизирует таблицы, уменьшая их размер). Модуль полностью переведен на русский язык и имеет возможность проводить автоматическую оптимизацию.
  • WP Database Cleaner - по функционалу аналогичен WP-Cleanup, но без статистики БД.
  • Optimize Database after Deleting Revisions – для оптимизации БД и удалении ревизий постов. Есть возможность указать максимальное количество сохраняемых ревизий, вести журнал оптимизации, осуществлять оптимизацию в один клик, чистить отдельные таблицы, а также настроить планировщик на автоматическую оптимизацию базы без вашего участия.
  • TentBlogger Optimize WordPress Database Plugin для быстрой и простой оптимизации БД за пару кликов.

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


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

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

Для Вордпресс существует несколько различных способов оптимизации БД, я покажу несколько полезных запросов 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

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

Здравствуйте, друзья! Как известно не все что хранится в папках нашего сайта на хостинге действительно необходимо. За время существования сайта в его “закромах” скапливаются горы мусора, то есть множество ненужных для нормальной работы веб-ресурса файлов. Это может быть все что угодно - временные или неиспользуемые файлы, копии документов или забытые архивы.

То, что надо периодически оптимизировать базы данных или удалять ревизии постов и спам всем хорошо известно. Для тех, кто не хочет делать это вручную, даже придуманы удобные . Например, WP-Cleanup. Но все равно такая уборка не позволяет заглянуть во все углы и папки, хранящиеся на хостинге, и увидеть весь мусор. Лично я, в процессе экскурсии на хостинг по FTP, обнаружил на одном из сайтов два десятка, давно не используемых, zip архивов. Конечно, я их удалил, но подумал, вдруг у кого-то такая же история, поэтому решил написать эту небольшую статью.

Где прятались забытые архивы

Без лишних слов сразу покажу, что и где я нашел. Надо сказать, что этот мой блог на движке WordPress я редко посещаю, и за прошлый год опубликовал на нем всего лишь три статьи. Думаю, не стоит говорить, что его файлы на хостинге я проверяю еще реже. Тем не менее, в папке Uploads , рядом с папками, загруженных и отсортированных по месяцам, картинок, я обнаружил 19 zip архивов шаблонов и плагинов. Их я устанавливал когда-то в процессе всевозможных экспериментов по развитию этого блога. Причем большинство из этих плагинов и тем давно не используются и удалены. Полный путь к ним выглядел так: /public_html/wp-content/uploads .

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

Конечно, много места эти архивы не занимают, всего лишь около 9 МБ. Но ведь, если активно развивать сайт в течение нескольких лет, то размер этой папки может быть гораздо больше. По любому, зачем нам мусор? Удаляем без тени сомнения и, таким образом, освобождаем место на хостинге. Кто не рискует, может сделать копии. У меня на работе блога это, естественно, никак не отразилось.

Теперь все выглядит аккуратненько, как и должно быть.

Освобождаем место в папке Uploads - удаляем лишние картинки

Кстати, как вы знаете, в той же папке Uploads на совершенно законных основаниях хранятся файлы изображений. Так вот, там тоже много мусора. Дело в том, что Вордпресс автоматически добавляет к вставляемым в посты картинкам 2-3 копии разных размеров. Поэтому неиспользуемые файлы можно удалить и, тем самым, значительно освободить дисковое пространство хостинга. Речь идет уже не о 9 МБ, а о сотнях и даже больше. Поверьте, лишние изображения занимают очень много места, особенно, если картинок большое количество. Вот, как это выглядит у меня на примере одного изображения.

Как видите, нужная картинка весит 28 КБ, а две ее копии, которые совершенно ни к чему, занимают еще 31 КБ места на хостинге, то есть размер увеличивается в 2 раза. Поэтому, когда вес папки с блогом станет критическим, вспомните, что его можно значительно снизить простым удалением копий файлов изображений. Только смотрите внимательно, иногда разные размеры бывают нужны. Например, для миниатюр.

Можно для удаления лишних картинок использовать специальный плагин DNUI Delete not used image .

Откуда взялись ненужные файлы?

Честно говоря, меня не особо волнует этот вопрос, но некоторые мысли есть. Скорее всего, эти архивы попадают в папку Uploads при установке тем и плагинов Вордпресс напрямую из админпанели. Раньше я пользовался именно этим способом. Архив загружается на хостинг, его файлы распаковывается в нужную папку, а он сам так и остается в папке загрузки.

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

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

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


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

Навигация по странице:

Зачем чистить базу данных в WordPress?

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

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

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

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

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

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

Как очистить базу данных WordPress?

Для очистки базы данных от ненужных строк существует два способа:

  • ручная очистка ;
  • очистка с помощью плагинов .

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

Для второго метода очистки нам потребуется соответственный который поможет нам в решении данной проблемы. Таких плагинов существует огромное количество и отличаются они в основном авторами, рейтингом и внешним видом. В данной статье мы рассмотрим использование плагина WP Clean Up, который без особого труда справится с поставленной задачей. К тому же, плагины данного типа используются не постоянно. Это означает что после использования плагина его можно деактивировать или же удалить вовсе, иными словами использование плагина не повлечет за собой торможение загрузки.

Для того что бы очистит нашу базу в ручном режиме, для начала зайдем в наш phpMyAdmin с сервера, где расположен наш сайт. Далее переходим во вкладку SQL и вводим требуемые нам запросы на удаление записей.

После того как мы зашли в требуемое место вводим в форму требуемые запросы:

  1. Для того что бы очистить копии(ревизии) наших записей требуется ввести следующую строчку: DELETE FROM wp_posts WHERE post_type = ‘revision’; что будет означать «Удалить все ревизии в таблице пост».
  2. Для очистки спама в комментариях потребуется следующая строчка: DELETE FROM wp_comments WHERE comment_approved = ‘spam’;
  3. Очистить кеш от RSS блога: DELETE FROM wp_options WHERE option_name LIKE (’_transient%_feed_%’);

После ввода необходимой строчки нажимаем на кнопку «ОК».

После чего еще раз подтверждаем наше действие.

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

Такие же действия повторяем для других таблиц.

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

Очистка базы данных от мусора с помощью плагина

Как я уже упоминал ранее нам потребуется скачать и установить плагин WP Clean Up. Чем мы не посредственно сперва и займемся. Как установить плагин можно прочитать отдельно.

С некоторых пор я отказался от использования от плагинов, служащих для оптимизации и очистке базы данных моих сайтов на 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)

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