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

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

26.06.2019

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

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

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

Перед началом работы сделайте бэкап. Если что-то пойдет не так, вы сможете восстановить бд из бэкапа.

Удалите неиспользуемые плагины . Удалите все плагины, которые вы не используете. Остатки от удаленных плагинов — один из источников мусора.

Как делать SQL запросы к базе данных

Для администрирования БД обычно используется приложение phpMyAdmin, которое запускается из хостинг панели. Найдите «База данных», «Database», «MySQL» или что-нибудь подобное. Откройте нужную базу данных.

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

Если у вас русский язык:

Если у вас английский язык:

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

Запросы создаются на вкладке SQL. Документация .

Делайте запросы здесь. Когда запрос готов, нажимайте Вперед.

Если вы получили ответ, что 0 таблиц было изменено, значит, текущее состояние параметра соответствует запросу.

ЗАПРОСЫ

Используйте эти SQL запросы для очистки базы данных.

Удаление данных от удаленных плагинов и данные постов

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

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

DELETE FROM wp_postmeta WHERE meta_key = ‘ваш-мета-ключ ‘;

Замените ваш-мета-ключ на нужное значение.

Для мультисайта:

DELETE FROM wp_#_postmeta WHERE meta_key = ‘ваш-мета-ключ ‘;

Измените # на ID сайта и ваш-мета-ключ на нужное значение.

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

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

spam ‘;

Для мультисайта:

spam ‘;

Измените # на ID сайта.

Удаление комментариев, ожидающих проверки

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

DELETE FROM wp_comments WHERE comment_approved = ‘0 ‘;

Для мультисайта:

DELETE FROM wp_#_comments WHERE comment_approved = ‘0 ‘;

Измените # на ID сайта.

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

Если у вас есть тег, который не связаны ни с одной статьей, удалите его этим запросом:

DELETE FROM wp_terms wt

Для мультисайта:

DELETE FROM wp_#_terms wt
INNER JOIN wp_term_taxonomy wtt ON wt.term_id = wtt.term_id WHERE wtt.taxonomy = ‘post_tag’ AND wtt.count = 0;

Измените # на ID сайта.

Удаление Trackback и Pingback

Если вы выключили эти функции и хотите удалить их записи из базы данных, используйте эти запросы:

Trackback

trackback ‘;

Для мультисайта:

trackback ‘;

Измените # на ID сайта.

Pingback

DELETE FROM wp_comments WHERE comment_type = ‘pingback ‘;

Для мультисайта:

DELETE FROM wp_#_comments WHERE comment_type = ‘pingback ‘;

Измените # на ID сайта.

Выключить эти функции в WordPress можно в Настройках -> Обсуждения.

Удаление ревизий постов

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

DELETE a,b,c FROM wp_posts a
LEFT JOIN wp_term_relationships b ON (a.ID = b.object_id)
LEFT JOIN wp_postmeta с ON (a.ID = c.post_id)
LEFT JOIN wp_term_taxonomy d ON (b.term_taxonomy_id = d.term_taxonomy_id)

Для мультисайта:

DELETE a,b,c FROM wp_#_posts a
LEFT JOIN wp_#_term_relationships b ON (a.ID = b.object_id)
LEFT JOIN wp_#_postmeta с 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’

Замените # на ID сайта.

Удаление шорткодов плагинов и тем

Если вы пользовались каким-то плагином, который вставляет шорткоды, или вы сменили тему, в которой были встроены шорткоды, то теперь шорткоды появятся на сайте в виде текста. Чтобы удалить все записи о шорткодах из базы данных, сделайте этот запрос:

UPDATE wp_post SET post_content = replace(post_content, ‘[ваш-шорткод] ‘, »);

Для мультисайта:

UPDATE wp_#_post SET post_content = replace(post_content, ‘[ваш-шорткод] ‘, »);

Измените # на ID сайта.

Удаление постов старше Х дней

Если вы хотите удалить посты старше Х дней, используйте этот запрос:

DELETE FROM ‘wp_posts’
WHERE ‘post_type’ = ‘post’
AND DATEDIFF(NOW(),’post_date’) > X-дней

Замените X-дней на нужное число дней.

Для мультисайта:

DELETE FROM ‘wp_#_posts’
WHERE ‘post_type’ = ‘post’
AND DATEDIFF(NOW(),’post_date’) > X-дней

Измените # и X-дней .

Удаление других комментариев

Иногда некоторые плагины добавляют комментарии в таблицу wp_commentsmeta вместо wp_comments . Если вы хотите очистить эту таблицу, используйте этот запрос:

SELECT FROM wp_commentsmeta WHERE comment_id
NOT IN (
SELECT comment_id
FROM wp_comments
);

Если вы хотите очистить таблицу wp_commentsmeta на другом сайте в сети, используйте этот запрос:

SELECT FROM wp_#_commentsmeta WHERE comment_id
NOT IN (
SELECT comment_id
FROM wp_#_comments
);

Замените # на ID сайта.

База данных свежей установки Вордпресс 4.9.8 для сравнения

Оптимизация таблиц

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

В phpMyAdmin выберите нужную базу данных, спуститесь вниз, нажмите Отметить все и выберите в выпадающем меню. Нажимать «Вперед» не нужно, оптимизация начнется автоматически.

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

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

Плагины WordPress для оптимизации базы данных

4 лучших плагина оптимизации базы данных в порядке увеличения функционала.

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

WP Sweep

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

На связи Илья Журавлёв, прочитав данную статью вы узнаете как очистить и оптимизировать базу данных 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 месяца активируйте плагин и снова проводите очистку.

От автора: вы думаете, что везде убрали? Дом вычистили, машину помыли, детей до блеска «выдраили». А на своем сервере СУБД забыли прибраться! Не умеете? Это не страшно! Сейчас я научу вас, как почистить базу MySQL.

Зачем убирать?

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

Кроме этого «выросшая» как на дрожжах база может занимать много виртуального дискового пространства, в результате чего хостер начнет нервничать и заваливать вас сообщении о превышении лимита. Если ничего не предпримите (не перейдете на дорогостоящий тариф, в котором предоставляются большие «площади» под сайт), то он просто «выдернет из розетки» ваш ресурс. Поэтому лучше научиться, как почистить базу данных MySQL, чем тратиться на новый тарифный план или переезд на «новые рельсы».

Также иногда требуется удалить только содержимое таблицы, и сберечь ее структуру. Все это мы рассмотрим в сегодняшнем материале, посвященном правильной уборке на СУБД. Стартуем!

Очищаем таблицу

Часто требуется не удалять таблицу, а лишь очистить ее от всех строк, но при этом сохранить всю ее структуру: типы данных столбцов, индексы, первичные ключи и другие ее параметры. Конечно, можно всегда удалить таблицу целиком с помощью команды DROP TABLTE, но затем придется создавать ее и прописывать все атрибуты заново. А это не совсем удобно, поэтому в MySQL для удаления строк таблицы есть специальная команда. Ее синтаксис:

TRUNCATE TABLE name_table;

TRUNCATE TABLE name_table ;

Пример, как почистить БД MySQL:

TRUNCATE TABLE `db1`.`user_animal`;

TRUNCATE TABLE ` db1 ` . ` user_animal ` ;

Заглядываем в таблицу, и видим, что вкладка «Обзор» неактивна, а автоматически сгенерированный запрос на выборку вернул пустой результат. То есть, получили, что хотели:

Существует еще одна команда SQL, позволяющая получить аналогичный результат – DELETE FROM. Пример использования:

DELETE FROM `db1`.`animal`;

DELETE FROM ` db1 ` . ` animal ` ;

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

Перед тем, как почистить базу данных MySQL еще раз, разберемся, чем эти две команды отличаются. Точнее, чем TRUNKATE предпочтительнее для использования:

В отличие от DELETE FROM эта команда не стирает все записи построчно, а удаляет и заново создает таблицу. Данная операция занимает меньше времени.

Не возвращает число удаленных строк, что также экономит ресурсы.

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

Средства программной оболочки

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

Как видим, приложение выполнило ту же команду (TRUNCATE) и стерло все записи из указанной таблицы.

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

Легкая уборка

Но это еще не все возможности, которые предоставляет эта программа. Ее встроенные средства позволяют немного убраться. Точнее, оптимизировать работу выбранной таблицы, расставить все по своим местам. Для этого снова выделяем нужную таблицу из базы, но в выпадающем списке команд выбираем «Оптимизировать таблицу».

Система программы автоматически генерирует запрос к серверу СУБД, и отправляет его на выполнение. Ядро, в свою очередь, возвращает результат и отчет о выполнении запроса.

Эту операцию можно выполнять вместо «легкой уборки» таблицы, или через определенный промежуток времени после того, как основательно почистили БД MySQL. Но все-таки хотелось знать, что конкретно делает команда OPTIMIZE TABLE:

Восстанавливает удаленные или неполные записи в таблице.

Сортирует индексные страницы (приводит индексы в порядок).

Обновляет статистику по таблице.

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

Мусоросборники

Что касается популярных движков, то с ними MySQL не сможет вам помочь. Ну откуда СУБД может знать, какие записи в таблицах являются «мусором», а какие нет. Для этого (под каждую CMS) разрабатываются специализированные расширения. Приведу несколько примеров таких плагинов для WordPress:

WP-Cleanup. Сообщается, что он не обновлялся целых 2 года, но на самом деле работает даже на последних версиях движка.

Надеюсь, вы , как чистить базу данных 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.

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

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



© 2024 beasthackerz.ru - Браузеры. Аудио. Жесткий диск. Программы. Локальная сеть. Windows