Обзор плагинов WordPress для оптимизации и кэширования базы данных

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

Что такое база данных?

База данных (СУБД MySQL) – это хранилище информации о вашем блоге или сайте. В ней хранится различная информация о пользователях, логины, пароли, комментарии, ссылки, данные о ваших статьях, какие-то настройки установленной CMS и многое другое. Сама база данных представляет собой совокупность таблиц, которые разбиты на определенные группы.

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

У любого нормального хостинга в панели управления имеется раздел «PHP MyAdmin«. Кликните по нему, чтобы войти в базу. В новом окне у вас появятся данные в виде таблиц – это данные ваших веб-проектов. Кто сразу не сделал бэкап, зайдите во вкладку экспорт (она находится в верхней панели) и там скачайте резервную копию к себе на компьютер.

Мои первые грабли

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

Например, на моем тарифе число файлов не должно превышать 30000. По началу все было нормально, но чуть позже ситуация начинала изменяться. Я заметил, что мой блог со временем начал медленнее загружаться. После того, как я зашел в панель управления своего хостинга, то был неприятно удивлен. Количество файлов составляло около 28000 из 30000 возможных. Я прям опешил! Откуда столько из двух молодых сайтов?

Потом я начал удалять временные файлы из папки «temp«. Также удалил несколько не особо нужных плагинов. Когда я после этого зашел на хостинг, то количество файлов составило примерно 27500. Не особо обнадеживает! Тогда пришлось мне обратиться в тех. поддержку своего хостинга. После их работы количество файлов снизилось до 6500. Неплохо, правда! Забыв о проблеме, я начал дальше заниматься ведением своего блога. Однако такое счастье длилось не долго.

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

Зачем  нужна оптимизация базы данных?

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

До оптимизации моя база весила 25 Mb. После оптимизации она составила 3 Mb. Разница существенная! Поэтому, чтобы избавится от накопленной ненужной информации и поддерживать скорость работы сайта, рекомендую вовремя проводить такую работу.

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

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

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

  • WPDBManager – очень неплохой модуль с внушительным функционалом. Он позволяет настроить автоматическую оптимизацию и бэкап без вмешательства веб мастера (просто выбираем, через какое время будет происходить повторная работа и забываем про данную проблему). Также с его помощью можно создать резервную копию базы данных (есть возможность отсылать копии на email). Плагин хорошо справляется с оптимизацией базы и даже дает возможность ее восстановления из резервной копии прямо в административной панели блога. В опциях плагина можно прописывать SQL-запросы к базе данных или удалять отдельные ненужные таблицы.
  • DBOptimize – еще один плагин для оптимизации базы данных. В отличие от предыдущего, он не имеет никаких настроек, очень простой в использовании и менее требователен к ресурсам. К сожалению плагин старый и возможна неполная очистка базы данных.
  • WPOptimize – неплохой плагин по оптимизации. Он может удалять ревизии постов, сохраненные черновики, спам и неподтвержденные комментарии, а также оптимизирует таблицы (уменьшает их размер). Модуль полностью переведен на русский язык и имеет возможность проводить автоматическую оптимизацию.
  • WPCleanup – хоть этот плагин очень давно не обновляется, по функционалу он практически такой же, как WP-Optimize. Он тоже очень прост в использовании. Простая статистика базы в этом модуле с легкостью дает понять, какие именно таблицы нуждаются в очистке. В отличие от WP-Optimize, в нем есть возможность удаления неиспользуемых меток.
  • WPClean Up это новая версия старого плагина WP-Cleanup. Этот модуль в отличие от старого предшественника, производит оптимизацию более тщательно. В опциях дана наиболее подробная статистика базы данных. Также как и предшественник, он очень прост в использовании.
  • WP Database Cleaner – очень легкий и простой плагин. По функционалу он схож с WP-Cleanup, но, к сожалению, не отображает статистику по базе.
  • Optimize Database after Deleting Revisions – очень хороший плагин для неплохой оптимизации базы данных и удалении ревизий постов. Модуль недавно обновлялся и имеет хорошую совместимость с последними версиями WordPress. В нем есть возможность указать максимальное количество сохраняемых ревизий, вести журнал оптимизации, осуществлять оптимизацию в один клик, чистить отдельные таблицы, а также настроить планировщик на автоматическую оптимизацию базы без вашего вмешательства.
  • TentBlogger Optimize WordPress Database Plugin – его работа заключается в быстрой и простой оптимизации базы блога всего за пару кликов. Модуль очень прост и не обладает дополнительным функционалом.

Плагины по работе с ревизиями постов

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

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

  • Delete Revision – удаляет абсолютно все ревизии постов на сайте. Старый, но простой и легкий плагин без лишних наворотов. Есть дополнительная функция для оптимизации базы данных.
  • Revision Control – осуществляет жесткий контроль за ревизиями постов. Можно указывать количество ревизий для хранения.
  • Thin Out Revisions – наиболее лучший функционал по работе с ревизиями, чем у предыдущих двух плагинов. Есть возможность осуществлять более детальный обзор за ревизиями, а также удалять промежуточные ревизии.
  • WP Revisions Control — плагин может ограничить редакции для любых типов записей.

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

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

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

  • Clean Options – старый плагин с русским интерфейсом, который уже давно не обновляется. Сущность его заключается в нахождении и очистке следов настроек других плагинов, оставивших после себя некоторый мусор в базе. Работа с плагином требует особой осторожности, так как можно удалить опции рабочих плагинов, что в результате может вызвать дальнейшие сбои. Перед удалением плагин рекомендует вам самостоятельно проверить информацию об удаляемых опциях.
  • Plugins Garbage Collector – по назначению такой же, как и предыдущий Clean Options, только он новее и с ним не так опасно работать. Плагин находит мусор других плагинов и конкретно показывает, какие опции принадлежат работающим плагинам, а какие нет. Модуль имеет удобный интерфейс на русском языке и очень прост в использовании.
  • WPDBSpringClean – модуль находит и удаляет следы от неиспользуемых плагинов, а также производит оптимизацию базы данных (сканирует пустые таблицы и удаляет их). Есть возможность регулирования настроек сканирования ненужных таблиц. Плагин надежный в том плане, что он не удаляет настройки рабочих плагинов (без разницы, будь то активные или неактивные модули).

Плагины для кэширования базы данных

Кэширование базы данных

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

  • DB Cache Reloaded Fix – плагин для кэширования запросов к базе данных (не путать с плагинами для кэширования страниц). Все запросы, которые отправляются в БД, плагин перенаправляет в кэш для быстрого доступа. Данный модуль является обновленной версией более старого плагина DB Cache Reloaded, который использовался в ранних версиях WordPress.
  • WP File Cache старый плагин, который давно уже не обновлялся и не имеет техническую поддержку. По назначению такой же, как и предыдущий модуль для кэширования запросов к базе. Имеет русский интерфейс и очень прост в использовании.
  • WpBase Cache – еще один плагин для кэширования базы данных и оптимизации работы WordPress на различных серверах. Он содержит встроенный DB Cache Reloaded Fix и другие функции для дополнительного кэширования.

Создание продвинутой базы данных

продвинутая база данных

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

  • HyperDb – этот плагин заменяет обычную базу данных WordPress на более продвинутую. Он образует соединения нескольких баз данных. К примеру, если у вас реализована социальная сеть на WordPress с помощью плагина BoddyPress, то количество нагрузок будет не малым. Когда пользователи регистрируются и заводят свои аккаунты в данной сети, то все данные и запросы ложатся на вашу базу. Чтобы снизить нагрузку на главную базу, плагин создает несколько дополнительных баз, работа которых будет объединена между собой.
  • Multi-DB – еще один похожий модуль для создания продвинутой базы.

В общем, эти два плагина не для простых блогов, а для крупных проектов. К примеру, подобные модули реализованы на сайте wordpress.com и edublogs.org. Можете посмотреть и убедиться, что для таких проектов с множеством функций нужен определенный подход к устранению лишней нагрузки на сайт!

Подводим итоги

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

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

Только в качестве таких плагинов не могут входить те, что отвечают за кэширование, автоматическое управление ревизий, автоматическую оптимизацию или создание продвинутой базы, так как их функционал требует непрерывной работы. Удачного блоггинга!

P.S. А какие плагины используете вы? Буду признателен, если поделитесь другими модулями, о которых я не упомянул в обзоре.

Zavitushka-dlya-sayta

 
rss-1Следить за новыми статьями на этом блоге!

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

Комментарии 84

  • На сколка уменьшится скорость сайта после плагинов.

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

  • А разве количество записей в БД влияет на кол во файлов)
    Ведь БД — это по сути таблица. И хоть там сто тыс. записей — это никак не влияет на кол-во файлов.

    • Дмитрий, еще как влияет!
      Сегодня решил почистить базу плагином и вот какие результаты:
      1) до оптимизации:
      — вес базы — 3,85 Mb;
      — файлы на аккаунте — 8664;
      2) после оптимизации:
      — вес базы — 3,33 Mb;
      — файлы на аккаунте — 6078;
      Как видишь, на количество файлов тоже влияет. Ради интереса, можешь проверить у себя и посмотреть результаты!

  • Отличная работа была проведена! Все разложено по полочкам. Просто и доступно. Спасибо! Вот только вопрос возник: после установки необходимых плагинов ( WP Super Cache и Оptimize Database) PageSpeed все равно пишет о необходимости включить кеширование и сжатие? Это что — глюк или правда?

    • Нет Анастасия, это не глюк. У меня тоже при установке или удаления плагинов, модуль кэширования рекомендует чистить кэш, что я и делаю. Рекомендую вам тоже так делать. :)

  • Сергей привет! Не могу я определиться с плагинами кэширования. Стала замечать, что у меня сайт медленно иногда открывается, колесико хрома до бесконечности крутится, пока страница откроется. Сергей, а не мог бы ты подробный урок по установке плагина написать? WP Super Cache. Я так понимаю, что нужно что то на хостинге в папке менять, но мне от одной только мысли дурно становится.

    • Привет, Лара! Плагин WP Super Cache не использовал, поэтому пока ничего про него не могу сказать. Да и пока некогда с ним разбираться. Если напишу, то скорее всего нескоро. У себя я использую W3 Total Cache. При его установке, у себя на хостинге я ничего не менял. Похоже, он сам автоматом все прописывает. Говорят, что он не у всех нормально становится. Могут возникать какие-то ошибки. Хотя, у меня проблем с ним не было. Лично мне он больше нравится. И к тому же он все виды кэширования использует. Вот только настроек там целый лес. Не плагин, а целый комбайн. Но если что, могу тебе выслать скриншоты моих настроек. Также в сети есть обзоры этого плагина.

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

    • Ок. Скрины отправил по почте. Но если будешь ставить этот плагин, то рекомендую еще и в Интернете о нем почитать, чтобы было понятнее. Лара, а если второй сайт без дела сидит и имеет маленький трафик, то этот плагин я на него не устанавливал бы. Если сайт создает малую нагрузку, то лишний раз устанавливать на него этот плагин я бы не стал. А так, W3 Total Cache рассчитан на сайты с большой нагрузкой и немалым трафиком. Для них такой плагин полезнее будет.

  • Сереж скрины получила, спасибо огромное! На второй сайт я хотела поставить, что бы разобраться сначала с ним, а то вдруг на основном че -нить не так пойдет. Хотя… сама себе наверное головную боль создаю… просмотрю скрины, дополнительно почитаю инфу и может сразу и установлю на основной сайт.

    • Да, лучше еще дополнительно почитать в Интернете. Также неплохо бы потренироваться на основном сайте на локальном сервере. Так сказать, пощупать пальцами, чтобы потом страшно не было.

  • Сереж ты тока в обморок не падай ))) но то, что ты сейчас сказал — потренироваться на основном сайте на локальном сервере — для меня китайские письмена. ))

  • я ваще сама себе поражаюсь, как еще сайт умудряюсь вести, ничего в нем не понимаю — это тоже для меня тайна за 10-ю печатями )))

    • Не переживай. Научишься и будешь, как орешки щелкать. :)
      Я тоже всех моментов не знаю. Тоже все-время приходиться что-то изучать и пробовать.

  • Ищу плагин для отображения кол-ва записей на странице в меню.Пример: -строительство (256). Вот мне нужен такой счётчик,как в скобках кол-во записей указано.Что посоветуете?

    • Тут можно без плагина обойтись. Заходим в «Внешний вид» —> «Виджеты» и в нужную область добавляем виджет «Рубрики». В его настройках ставим галочку на «Отображать число записей». После этого сохраняем изменения. Также есть и плагин Collapsing Categories. Он тоже позволяет выводить количество записей к каждой рубрики. На вашем сайте я бы выводил плагином, так как есть немало подрубрик, которые лучше скрыть для компактности. С данным плагином это дело тоже можно реализовать.

  • Сергей, добрый день.
    Подскажите, есть код, с помощью которого можно кешировать запросы к базе данных без плагина, так как нормальный плагин для кеша БД я не нашел. Может вы подскажите и плагин?
    Спасибо.
    С уважением, Владимир

    • Владимир, кодом не знаю, но я пользуюсь плагином W3 Total Cache. Там есть функция для кэширования базы данных. Попробуйте его.

  • Сергей, опять забрела, из поиска на сей раз. Все воюю с сайтом. Подключила сегодня плагин для вывода на мобильных устройствах (все показатели улучшить хочется), но пришлось деактивировать. Нужные настройки только в ПРО версии (w3 total cache ругается) , а она стоит дороже нового шаблона. Кое-что исправила кодом, а теперь взялась за оптимизацию. Вы у меня в блоге писали о backwpup, что он и резервную копию создаст, и оптимизирует. Перечитала кучу статей, но про оптимизацию никто не пишет, хотя в описании самого плагина есть этот момент. Дайте совет, может, все же что-то попроще? Типа wp-optimizer? Прикол, но у меня developers.google.com/speed/pagespeed показывает скрипты от самого w3 total cache, а у Вас — нет. :) Не поделитесь настройками своими?

    • Надежда, для оптимизации базы можно и wp-optimizer. А на счет бэкапов, то я плагинами не делаю. Не доверяю я им. Все только вручную. Если у вас сайт обновляется не так часто, то советую вам резервные копии делать вручную.
      Что насчет оптимизации, то тут очень обширная область. Для оптимизации БД пойдет тот же wp-optimizer. Для минимизации кода можно использовать Autoptimize. Только тут нужно быть осторожнее. Просто этот плагин нужно настроить, чтобы на сайте ничего не съезжало. Я так одну опцию в нем отключил (у меня из-за нее миниатюрки пропадали). Вам же нужно самой посмотреть, какие опции в нем можно использовать и что можно настроить под свою тему. Сама минимизация есть и в плагине W3 Total Cache, но в большинстве случаев она плохо работает. Я эту опцию в плагине отключил.

      Я сегодня вечером постараюсь выслать вам скриншоты настроек W3 Total Cache. На счет скриптов — скорее всего плагин Autoptimize сжимает и прячет их в отдельную папку.
      По поводу мобильной версии, то попробуйте поискать другой плагин. Может нормально будет. Я так подобные плагины не использую. Эта функция уже встроена в саму тему. Также для оптимизации рекомендую вам поставить плагин Rocket Lazy Load. Сайт немножко быстрее будет работать, так как изображения будут подгружаться не сразу, а только при прокрутке.

      Ну и еще можно уменьшить запросы к базе данных. Несколько запросов обычно находятся в теме (файл header.php). Там несколько запросов — их нужно переделать. Более подробно об этом можно почитать на других блогах. Тут я так не объясню. Ну и не забывайте сжать изображения самой темы (не статей). Таким способом можно выкроить 1 — 1,5 секунды времени. В самой теме вы найдете эти изображения. Их-то и нужно сжать. Только сжимайте, чтобы качество сильно не страдало. А то получится некрасивый дизайн сайта.

      • Так Вы мне тут целую википедию написали! И как все это запомнить даже, а не только применить? Сергей, а картинки темы точно нужно вручную сжимать? Плагины, оптимизирующие изображения, до папок темы не добираются? И второе. Обязательно возьму на вооружение Rocket Lazy Load. Это всегда больной вопрос. Пока сайт не запущен, можно все перепробовать и остановиться на чем-то эффективном. Спасибо! Про обещание напоминать не буду? :)

        • Картинки темы нужно в любом случае сжимать. Весят они много, а это потеря в скорости. Я таким образом в своей теме сократил размер в 2 раза, и сам блог намного быстрее стал грузиться. Сжимал я вручную. Тут проблем особых нет. Также можно автоматом сжать. Плагин EWWW Image Optimize сможет это сделать. Можете попробовать. Я правда с ним не работал, но по описанию, этот плагин сжимает всю графику в теме и в статьях.
          Rocket Lazy Load можете сейчас установить. Там никаких настроек нет. Установили и забыли. :-)
          Фотки выслал вам на почту.

  • Отличная подборка плагинов. А плагин для оптимизации статей какой можете посоветовать?

    • Для внутренней сео оптимизации хорошо подойдет WordPress SEO by Yoast.

      • Вы, я смотрю тоже его используете. А другие какие нибудь плагины пробовали?

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

  • Сергей, а нет плагина для оптимизации рубрик для wordpress, многие говорят, что их успешно можно двигать?

    • Есть. Я к примеру использую WordPress SEO by Yoast. Но сейчас пока сами рубрики полностью еще не оптимизировал. Пока времени нет. Еще этим плагином можно оптимизировать и метки. Я их тоже в дальнейшем планирую использовать для некоторых рубрик. Также есть и другие сео-плагины, но я пользуюсь только этим.

      Когда будите составлять описание для рубрик, то рекомендую еще поставить плагин Visual Term Description Editor. Он добавляет редактор в описание. Будет такой, как в самих статьях. С помощью такого редактора будет намного удобнее составлять описание. Когда описание для всех рубрик у вас будет сделано, то сам плагин можно будет потом удалить. Ничего страшного не будет. Сам текст останется. Исчезнет только редактор.

1 2
А что вы думаете по этому поводу?

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Нажимая на кнопку «Отправить», вы соглашаетесь с нашей политикой конфиденциальности и пользовательским соглашением.