Привет! Сегодня я хочу продолжить тему по увеличению скорости загрузки блога. После установки плагина Hyper Cache мой проект стал загружаться в два раза быстрее, но мне все равно этого показалось мало, и я решил его еще немного его ускорить, сделав несложную оптимизацию базы данных, через панель PhpMyadmin.
Плюс ко всему, хочу в этой статье познакомить вас с нужным плагином Optimize DB, который требуется периодически включать (чтобы не создавать дополнительную нагрузку на сервер), тем самым выполняя оптимизацию MySQL.
Как оптимизировать базу данных wordpress
Немного отступления... Разработчики движка wordpress сконструировали его таким образом, что он в себе постепенно накапливает информацию с которой работает, это могут быть черновики старых записей, спам комментарии, таблицы деактивированных плагинов и др.
Если не понятно постараюсь объяснить подробней. Написали вы классный пост, а через какое-то время решили его немного отредактировать, так вот wordpress все время делает резервную копию любого измененного поста. Представьте сколько таких никому не нужных копий может со временем на собираться — мусор, да и только!
Для того чтобы удалить ненужных хлам, предлагаю вместе со мной проделать шаг за шагом нехитрые действия по оптимизации MySQL сайта.
Первое. Сначала отключим ревизию статей и корзину. Корзина — это то место, где хранятся ревизии. Заходим в корневую папку хостинга (у меня httpdocs) и открываем файл wp-config.php. Теперь нам необходимо туда поместить 2 строчки:
define('WP_POST_REVISIONS', false); define('EMPTY_TRASH_DAYS', 1); |
Посмотрите мой пример этого файла
Первой строкой мы отключили ревизии постов, а второй выставили значение «1» сколько дней будет храниться материал в корзине. В итоге получается, что все мои измененные записи через день будут автоматически удаляться.
Второе. Теперь переходим в панель управления базами данных (phpMyAdmin) на вашем хостинге.
Затем выбираем базу данных конкретного сайта, который будете оптимизировать.
Обязательно сохраните резервную копию редактируемой базы, этим вы себя обезопасите от случая, если что-то пойдет ни так.
Нажмите в меню панели phpMyAdmin вкладку «Экспорт», выбираете формат «SQL» и жмете «Ok».
Далее переходите во вкладку «Структура» и удалите все ненужные таблицы, которые создаются при установке плагинов.
Только не трогайте следующие таблицы, так как они создаются при установке движка вордпресс и считаются обязательными.
wp_comments wp_links wp_options wp_postmeta wp_posts wp_terms wp_term_relationships wp_term_taxonomy wp_usermeta wp_users |
Вспомните, какие плагины у вас уже не работают на блоге и удалите нерабочие таблицы.
Третье. Немного выше мы отключили ревизии, а сейчас удалим те ревизии постов, которые могли у вас остаться ранее. Для этого переходим во вкладку «SQL» и вставляем в поле для ввода следующую строчку:
DELETE FROM wp_posts WHERE post_type = "revision" |
Должно получиться примерно так:
Нажимаем «Ok» и смотрим полученный результат.
На 27 строк у меня база данных уже стала легче.
Четвертое. Теперь будем оптимизировать «wp-post» таблицу, куда сохраняются все посты в базе. Для этого в то же поле ввода вставляете строку:
OPTIMIZE TABLE wp_posts; |
Жмете «Ok», как результат моя папка «wp-post» похудела на 0.4 Мб.
Пятое. Удаляем все спам комментарии, хранящиеся на блоге. Для этого аналогично вставляем строку:
DELETE FROM wp_comments WHERE comment_approved = 'spam'; |
И нажимаем «Ok». У меня было удалено 332 строки, думаю неплохо.
Шестое. Теперь в том же окне будем удалять пинкбеки (pingbacks). Это такие уведомления, показывающие, что кто-то на вас ссылается.
Они чем-то схожи с комментариями и показываются в статье, на которую была поставлена ссылка. Пользы от них для нас никакой нет, поэтому давайте будем от них избавляться.
DELETE FROM wp_comments WHERE comment_type = 'pingback'; |
А затем и вовсе их можно отключить.
UPDATE wp_posts p SET p.ping_status = 'closed' |
Вот такими простыми действиями мы очень круто оптимизировали данные MySQL и ускорили блог, но это еще не все.
Плагин Optimize DB — дополнительная оптимизация базы MySQL
Сейчас я вам расскажу о замечательном плагине Optimize DB , который должен быть установлен на каждый сайт.
Этот плагин предназначен тоже для оптимизации базы данных, а фишка его в том, что вам только его нужно будет изредка включать, когда будете делать саму оптимизацию.
Скачать плагин можете перейдя по этой ссылке. Далее устанавливаем его на блоге привычным способом, если не знаете как это сделать, вот моя статья в помощь «Установка плагинов wordpress».
После того, как плагин установлен и активирован, переходите во вкладку «Инструменты» далее «Optimize DB». В открывшемся окне нажмите на кнопку «Optimize Now».
После того, как база данных будет оптимизирована, переходите во вкладку «Плагины» далее «Установленные», находите этот плагин и отключаете «Деактивировать».
Вот так периодически заходите в админ панель блога включайте плагин, оптимизируйте базу данных, а затем опять отключайте. Тем самым вы не будете создавать дополнительную нагрузку на сервер.
Подведем итог
Привожу кратко список всего, что необходимо сделать, для оптимизации базы на wordpress.
1. Отключаем ревизии постов и корзину;
2. Удаляем ревизии постов;
3. Оптимизируем wp-post;
4. Удаляем спам-комментарии;
5. Удаляем все пинкбеки;
6. Отключаем пинкбеки;
7. Установили плагин Optimize DB и периодически делаем оптимизацию MySQL.
Для того чтобы наглядно показать, как надо оптимизировать базу на вордпресс я для вас специально записал подробную видео инструкцию.
На этом у меня все. Не пропусти выхода нового материала, подпишись на обновление постов моего блога.
Если вы знаете еще какие-нибудь способы оптимизации базы MySQL, оставьте пожалуйста комментарий. Всем пока!
Все очень грамотно описано =)
такого еще не знал, надо будет работать над этим плагином, знал другие ускорители
Попробуйте, очень хорош и прост в использовании
Спасибо за информацию, будем прибывать.
Благодарю, Вы очень сильно помогли, настолько подробный, а главное понятный обзор! *THUMBS UP*
Этот плагин уже не обновляется в течение двух лет. Так что возможны проблемы с совместимостью поздних версий WordPress. Я бы уже не стал его использовать для оптимизации работы такой важной части как базы данных.
Пока все работате нормально, но за совет спасибо)))
как часто пользоваться плагином Optimize DB? у меня буквально через сутки, а то и раньше опять показывает «большой» размер баз и приходится оптимизировать снова... может он некорректно работает? Но так на нескольких сайтах происходит — не будешь же каждый день «оптимизировать»...
Я раз в неделю его включаю...не чаще...вот сейчас вы мне напомнили про оптимизацию базы данных...
На странице плагина я прочитала, что он не обновлялся уже 2 года. Хотела его поставить, но не знаю, будет ли работать с моей версией WordPress. Кто-нибудь проверял на последних версиях?
У меня последняя версия wordpress, все прекрасно работает...
спасибо. Попробую
И мне понравилось. Спасибо. Обязательно применю ❗
Спасибо автору за такую классную статью! И большуший вам респект! Я обыскала весь интернет, а только на этом сайте нашла понятный ответ на свой вопрос. Результат — сайт грузится быстро и легко. Спасибо вам. И еще у меня вопросик есть: как уменьшить размер моего блога на хостинге. Дело в том, что у меня только 93 записи и 6 страниц. А на хостинге уже Диск, Мб 1659.9 из 2000. Что можно или нужно удалить, а что нельзя трогать? Подскажите плиз 🙄
Да не может быть такого размера от 93 статей, что-то у вас там лежит крупнокалиберное, вы точно ничего не загружали туда, например видеокурс. Советую обратиться в службу поддержки и спросить куда делся размер хостинга, какими левыми файлами он загружен.
Добрый день!
У меня та же история. При 50 статьях — 890 MB на Спринхосте! Только что отправила запрос. Ответили, что нужен аудит и что резервные копии на диске не хранятся! А чем же тогда он загружен?
Почтой хостинга не пользуюсь. Сайт почищен. Ничего не загружала.
Согласитесь чудес на свете не бывает...
Максим, к меня уже менее 200 МБ! Удалила старые резервные копии. Это они, оказывается, вызвали такое нагромождение... Теперь порядок. Всему надо учиться.
Наталия, в Настройках медиафайлов выставите везде ноль. Если стоят значения и Вы загружаете картинки, то они дублируются, к одной загруженной добавляются ещё три размера, в итоге четыре размера одной картинки получаются.
Здравствуйте, Максим! Загрузила плагин, активировала, тупо нажала..., выдает сообщение: «поздравляем, ваша база данных уже полностью оптимизирована», захожу в записи, а все копии статей остались... Из Ваших рекомендаций:
1. Отключаем ревизии постов и корзину;
2. Удаляем ревизии постов;
3. Оптимизируем wp-post;
4. Удаляем спам-комментарии на блоге;
5. Удаляем все пинкбеки;
6. Отключаем пинкбеки;
7. Установили плагин Optimize DB и периодически делаем оптимизацию MySQL;
сделала только 7 пункт. В PHP что-то вставлять боюсь, только позавчера восстанавливали блок — улетел после изменений в PHP. Никак не получается оптимизация. До этого устанавливала WP-optimize — он уже не рабочий.
У меня все прекрасно работает.
Татьяна, а с чего вы взяли, что WP-Optimize уже не работающий плагин? Нормально он работает.
Он любит повоевать с браузерами. У меня он сначала работал, потом перестал. Зашла на сайт в другом браузере — порядок! С Хромом очень не дружит, в основном.
Прочитала комментарии и теперь в раздумье, ставить плагин или нет?
Я все заоптимизировал,но на скорость это совсем не повлияло. Обидно 🙁
Так что, оптимизирует данный плагин базу или нет?
Максим, подскажи пожалуйста, если плагин Optimize DB установить, то можно без действий, описанных в начале поста по оптимизации обойтись или необходимо проделать и то и другое.
Как часто ты активируешь плагин (раз в день, неделю, месяц, полгода)?
Актуален ли еще этот плагин или есть уже более эффективные, поскольку пост с 2012 года?
Спасибо.
Можно.
1 раз в месяц.
Актуален.
Ясно, спасибо через день займусь, надеюсь, что оптимизация еще ускорит блог и почистит базу, на всякий случай создам копию перед экспериментом.
мне кажется он идёт у всех wordpress как стандартный плагин, конечно это очень удобно, но он более всего даёт нагрузку на сайт
Здравствуйте, Максим! Очень даже отличная статья — подробная, наглядная, супер. Удалила все ревизии постов, вставив скопированный у Вас код на джино. А вот плагин не захотел устанавливаться — взяла его из базы на блоге, может,скачать по Вашей ссылке? Максим, но если мы внедрили код в корневую папку,то и плагин, может,не нужен? Вот еще пару пунктов осталось сделать,чтобы было все на 100% по статье,но не все понятно, еще раз или два надо прочитать. И текстовая часть статьи отличная и видео! Спасибо, продолжаю работать и становлюсь Вашим подписчиком. Спасибо.
У меня вордпресс Галина, поэтому про Дижно ничего сказать не могу.
Здравствуйте, Максим! У меня тоже WordPress, но на хостинге jino.ru. Максим, вот подписалась у Вас на «КАК СОЗДАТЬ БЛОГ В ИНТЕРНЕТЕ НОВИЧКУ», а подтверждение подписки на почту не приходит. И при подписке на Ваш блог было сказано, что при подписке придет автоматически,но не пришло. Может это уже не работает или где-то сбой. Спасибо. Я учусь и хотелось бы больше знать. Спасибо.
Сообщите Галина вашу почту на которую была оформлена подписка.
С вашим вопросом разобрались, дело в том что вы не активировали подписку. То есть поле того, как вы ввели свой e-mail адрес для получения видеокурса, вам на почту пришло активационное письмо, в котором надо было нажать на ссылку, после чего пришло бы еще одно письмо со ссылкой на скачивание «Как создать блог в интернете».
Так как вы подписку не активировали соответственно ничего и не получили.
Максим, я же написала, что письмо не пришло, а как активизировать подписку я знаю. Два Ваших коммента пришли, а подтверждение подписки нет. Попробую еще раз подписаться .
Проверьте папку Спам, может туда попало.
Максим, я подписалась второй раз, мне ответили,что я уже подписана и чтобы я подтвердила подписку второй раз,подтвердила, система выдала: На ваш адрес ....... отправлено письмо для подтверждения подписки на рассылки: — письма нет,как и в первый раз. Попробуйте подписаться сами, так я делаю,когда хочу проверить,может,что-то не работает? Или вышлите письмо.Уж много очень время ушло и у Вас и у меня на несостоявшуюся подписку. Спасибо.
Письмо активации есть у вас в аккаунте подписчика. Вы можете подтвердить подписку оттуда. Вам на почту должны были прийти данные для входа в аккаунт подписчика логни- это имейл, и пароль.
Максим, ура, письмо действительно попало в спам, даже 2 письма — от первой рассылки и от второй. Наконец-то разобрались. Спасибо,подтвердила одну, чтобы 2 курса не пришли. Теперь ждите вопросов по курсу,если они будут.Ведь знала про спам, а тут как заклинило — не заглянула. Спасибо,Максим.
🙂
На сколько я понял, сейчас этот плагин уже обновился, и имеет совсем другой вид? Потому что в том обличии, в котором вы его описали, я его не смог найти.
Скорее всего Сергей, лично я пользуюсь старой версией.
Полезная инфа, а я как раз сейчас занимаюсь ускорением блога и обязательно воспользуюсь вашими советами. Спасибо!
Такой вопрос, а если в ручную очищать базу данных, удаляя ревизии и другие записи, про которые рассказано в статье, есть ли смысл вообще ставить данный плагин? Если да, то что конкретно он удаляет, каким образом оптимизирует БД?
Тогда не стоит конечно. Но Optimize DB все равно не мешает, так как включается только по вашему требованию в момент оптимизации базы.
Иногда тоже провожу таким способом оптимизацию базы данных. Бывает, что очень много собирается всякого ненужно мусора.
Неплохой плагин для оптимизации базы данных. Благодарю за инфу.