Оптимизация базы данных WordPress сайта: анализ, чистка, ускорение

Оптимизация базы данных WordPress сайта: анализ, чистка, ускорение

3 августа 0 Автор Игорь Серов

От автора

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

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

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

Анализ времени запроса к базе данных

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

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

Однако, не все журналы доступны и не все инструменты корректны и всё это требует неоправданно много времени для анализа.

Можно сделать проще. Берем такой скрипт:

<small><?php echo $wpdb->num_queries; ?>
<?php _e(‘запросов’); ?>. <?php timer_stop(1); ?>
<?php _e(‘секунд’); ?></small>

Или такой

<?php echo get_num_queries(); ?> запросов за <?php timer_stop(1); ?> секунд.

Размещаем его в файле рабочей темы сайта footer.php, перед закрывающим тегом </body>.

Важно! Не забываем, перед любым «вторжением» в код шаблона делать (проверять наличие) резервную копию сайта или как минимум, копию редактируемого файла.

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

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

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

Что подразумевает оптимизация базы данных WordPress

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

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

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

Все эти технические файлы и данные, раздувают базу данных сайта. Как следствие увеличивается количество запросов к ней. Это приводит к увеличению времени загрузки сайта, одновременно растёт нагрузка на ваш сервер.

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

Два подхода к оптимизации БД WordPress

Работая с сайтом WordPress, всегда есть выбор, работать с сайтом через плагины или без них.

Без плагинов вы можете искать в сети полезные PHP коды специального назначения и добавлять их в файл functions.php вашей рабочей темы.

Если не хотите, чтобы изменения пропадали после обновления темы, используйте инструмент дочерней темы WordPress и вносите новые коды в файл functions.php дочерней темы.

Без плагинов можно оптимизировать базу данных. Есть пару десятков php кодов, которые снизят замусоривание базы данных и масса SQL запросов, которым вы можете очистить базу данных из панели phpmyadmin.

Второй подход более простой. Оптимизация базы данных WordPress сайта делается при помощи специальных плагинов. Есть 5-6 ведущих плагинов для чистки (оптимизации) базы данных, которые справляются  с этой задачей за несколько секунд.

Что нужно удалять из БД WordPress при чистке

В классические работы по оптимизации базы данных, входит удаление:

  • Сохранённых ревизий материалов;
  • Мусорную корзину сайта;
  • Комменты, попавшие в спам;
  • Мета данные настраиваемых полей;
  • Метки без статей;
  • Времена последних редакций статей;
  • Неактуальные ЧПУ постов.
  • Трекбеков, пингбеков, рефбеков. Это три вида линкбеков, связанных с уведомлениями об обратных ссылках.

Чтобы очистить технические данные вручную, вам придётся сделать, как минимум, 9 SQL запроса в phpmyadmin. Вот несколько из них:

SQL запросы для чистки БД WP

В запросах нужно изменить префикс базы данных на свой. Также делать SQL запросы через имитацию запроса. Перед чисткой, обязательно нужно сделать резервную копию всей базы данных (кнопка «Экспорт» в панели phpmyadmin).

DELETE ревизий постов

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)
WHERE a.post_type = 'revision'

удаление post-meta плагинов

DELETE FROM wp_postmeta WHERE meta_key = 'your-meta-key';

удаляем все pingback

DELETE FROM wp_comments WHERE comment_type = 'pingback';

Delete спам комментов

DELETE FROM wp_comments WHERE comment_approved = 'spam';

найти и потом удалить метки без статей

SELECT * 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;

5 плагинов чистки БД WordPress

Более простой вариант оптимизации, использовать специальные плагины. Вот лучшие из них.

Optimize Database after Deleting Revisions

Optimize Database after Deleting Revisions

Русскоговорящий плагин . Настройки просты и понятны. Достаточно выделить чеки, что хотите удалить из таблиц БД и жмёте кнопку «Оптимизировать». У плагина есть своя ссылка «Оптимизировать базу данных» или «Optimize Database»в блоге «Инструменты» консоли.

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

Ставим галочки в нужных опциях плагина. На фото отмечены чеки разумного подхода к чистке.

Оптимизация базы данных WordPress

Оптимизация базы данных WordPress — Optimize Database after Deleting Revisions

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

Сначала сохраняем настройки (1).

Потом проводим оптимизацию, нажимая на одноимённую кнопку (2).

На следующей вкладке смотрим результат очистки. Как видим на фото я освободил.

результат очистки

WP-Optimize

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

WP-Optimize

Популярность плагина обусловлена возможностью работать в паре с плагином UpdraftPlus (создание резервных копий). У обоих плагинов один автор. Один плагин чистит базу данных, второй плагин резервирует.

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

После активации плагина, он появится в блоке «Настройки». Открываем вкладку WP-Optimize.

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

настройки плагина

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

WP-Optimize

Оптимизация базы данных WordPress сайта — WP-Optimize

Остается заметить, что WP-Optimize всегда обновляется под последние версии системы.

Optimize Database and Clean Up Plugin by Clean Up Optimizer

WP Clean Up Optimizer: Optimize Database & WordPress

Англоговорящий плагин, не переведенный на русский язык.

В варианте free, плагин эффективно, но простовато, проводит  стандартную чистку БД. Убирает ревизии статей, спам, корзину, неиспользуемые теги.

Advanced Database Cleaner

Advanced Database Cleaner

Простой, хорошо обновляемый плагин для стандартной чистки базы данных WP сайта.

WP-DBManager

WP-DBManager

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

Вывод

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

©seojus.ru

 

(Всего просмотров 76)

Статьи по теме