В этом уроке продолжим рассматривать способы оптимизации. Сегодня мы сделаем оптимизацию (чистку) базы данных. Почистим таблицы, удалим ревизии, спам-комментарии и прочее. За счет этого сайт будет загружаться быстрее.
Как ускорить WordPress?
Чуть ниже, Вы можете посмотреть видео, как ускорить Wordpres. В прошлом уроке я писал, что перед оптимизацией надо сделать резервную копию сайта,. Если сайт перестанет работать, то незачем обращаться к хостеру за помощью, т. к. восстановить сайт Вы сможете и сами? В принципе будет достаточно, если Вы сделаете резервную копию только базы данных.
Перед тем, как приступить к оптимизации базы данных, проверьте по этой ссылке , с какой скоростью загружается Ваш блог. Потом проверьте скорость загрузки блога после оптимизации.
Впишите адрес своего блога и щелкните «Time it». Проверка скорости проходит в пять этапов. Подождите, когда закончится проверка, чтобы посмотреть окончательный результат. Вы можете почитать, как сделать резервную копию базы.
Как известно, некоторые плагины установленные на блоге, создают в базе данных таблицы. Даже, если плагин деактивировать, таблицы все равно остаются. Существуют плагины, которые при деактивации удаляют за собой таблицы, но таких плагинов мало.
База данных WordPress хранит в себе следующие таблицы: посты, комментарии, настройки, информация о каждом пользователе, ссылки и прочее.
Перечень таблиц WordPress, которые удалять нельзя:
1 2 3 4 5 6 7 8 9 10 |
wp_posts wp_postmeta wp_users wp_usermeta wp_comments wp_options wp_categories wp_post2cat wp_links wp_link2cat |
Оптимизация базы данных WordPress
Добавьте код ниже в файл wp-config.php.
1 2 3 |
DEFINE('WP_POST_REVISIONS', 1); //Сохраняет не больше одной ревизии DEFINE('EMPTY_TRASH_DAYS', 1); //Автоматическая очистка корзины через день DEFINE('AUTOSAVE_INTERVAL', 60 ); //Автоматическое сохранение поста через каждые 60 секунд |
Удаление ревизий (черновиков) постов. Во время написания постов, происходит автоматическое сохранение статьи.
1 |
DELETE FROM wp_posts WHERE post_type = "revision" |
Оптимизация записей в wp-post. В папке wp-post хранятся все записи статей нашего блога.
1 |
OPTIMIZE TABLE wp_posts; |
Очистка wp-postmeta. В папке wp-postmeta хранится следующее: дата и время редактирования статей, старую ссылку ЧПУ. Если Вы когда-нибудь редактировали ссылки в постах, то старая ссылка не удаляется, а остается в папке wp-postmeta.
1 2 |
DELETE FROM `wp_postmeta` WHERE `meta_key` IN('_edit_lock', '_edit_last','_wp_old_slug') |
Удаление спам-комментариев. Этот пункт оставлю без объяснений.
1 |
DELETE FROM wp_comments WHERE comment_approved = 'spam'; |
Удаление пингбеков. Приходит оповещение, что на Ваш блог кто-то ссылается. Все это создает дополнительные запросы к базе.
1 |
DELETE FROM wp_comments WHERE comment_type = 'pingback'; |
Отключение пингбеков. А теперь мы вообще отключим пингбеки.
1 |
UPDATE wp_posts p SET p.ping_status = 'closed' |
Если хотите отслеживать, сколько добавляет запросов к базе данных тот или иной плагин, или скрипт, установите следующий код.
1 |
<?php echo get_num_queries(); ?> Запросы <?php timer_stop(1); ?> Секунды |
Можете посмотреть, у меня в подвале показывает количество запросов и скорость загрузки каждой страницы.
В следующем уроке будем править коды в шаблоне блога и удалим из header ненужные запросы.
Все верно, Оксана, извилины надо развивать, чтобы не завяли.
Людмила, эти два плагина, которые вы написали, не до конца очищают базу. Но, если блог не тормозит, думаю можно и плагинами обойтись
Плагин стоит и у меня, но пользоваться им на автопилоте хорошо когда знаешь, как это можно сделать и без плагина. Лишняя извилина в голове никогда не помешает. На досуге займусь ликбезом.
Спасибо за урок, Юрий.
Юрий, а как же WP-Cleanup? Я периодически им чищу и WP-Optimize, а затем их отключаю. Тогда опять придется разбираться, я думала хватает этих 2 плагинов. Для меня, это сложновато. Нужно будет вникать. А вообще у тебя много всего такого интересного, причем у многих гуру этого не встретишь. Давно не писала, но вот всегда вспоминаю твой блог, когда возникают проблемы. Иду к тебе, ищу в твоих уроках. Спасибо тебе за помощь!
Плагин Optimize DB не решает всех проблем.
Я использую плагин Optimize DB. Там всё делается нажатием одной кнопки.