Оптимизация темы (шаблона) WordPress для снижения его нагрузки на сервер хостинга, плагин WP Tuner и число запросов к БД, создание, продвижение и заработок на сайте

>

Оптимизация темы (шаблона) WordPress для снижения его нагрузки на сервер хостинга, плагин WP Tuner и число запросов к БД

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

Оптимизация темы (шаблона) WordPress для снижения его нагрузки на сервер хостинга, плагин WP Tuner и число запросов к БД, создание, продвижение и заработок на сайте

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

Оптимизация темы (шаблона) WordPress

Сразу оговорюсь, что вопрос кэширования в Вордпрессе с помощью Hyper Cache я пока рассматривать не буду, поговорим об этом чуть позже (см. по ссылке). Без кэширования, конечно же, никак не получится прожить при высокой посещаемости, но не стоит полагаться только на это. Сама по себе нагрузка WP достаточно велика и с каждой новой версией его аппетиты все увеличиваются.

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



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

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

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

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

Для начала вам нужно будет получить доступ по FTP к файлам вашей темы оформления. Они находятся в папке:

Начнем с уже упомянутого выше — HEADER. Думаю, что с Файлзилой вы уже знакомы и доступ по ФТП к хосту для вас не в новинку. Если нет, то вверху есть окно поиска и достаточно будет ввести туда слово «файлзила» или «нотепад», чтобы получить самую полную информацию по этим двум архиполезным программам.



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

Нет, удалять его, конечно же, не надо, но вот немного видоизменить, убрав не нужные обращения к БД, можно:

Ну вот, два запроса в минус — пустячок, а приятно. Дальше — больше. Что еще можно заменить или удалить в HEADER? Давайте перечислим:

  1. Удалить строку с информацией о номере установленной версии WordPress. Она не несет никакой полезной нагрузки и, более того, является опасной, т.к. некоторые варианты взлома применимы только к определенным версиям, а из этой строки как раз очень удобно узнавать текущую версию вашего движка. Выглядит эта строка обычно так:
  2. Заменить URL до вашего файла таблицы стилей CSS в вашей текущей теме оформления на статический. В коде это строка:

заменить Урл до иконки favicon.ico на статический. Фавикон является очень важным атрибутом любого сайта (читайте об этом про приведенной ссылке) и манкировать им не пристало никому.

У моего WP блога эта иконка имеет вид желтой лампочки. Если у вас еще нет FAVICON.ICO, то обязательно создайте ее и пропишите путь к ней в HEADER, но только статический (без обращений к БД). В оригинальном файле эта строка может выглядеть примерно так:

Откуда брать статические Урлы для замены PHP кода

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



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

Теперь ищите там нужные строки и копируете пути к файлу CSS, к фиду (RSS ленте) и т.п.

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

Оптимизация темы (шаблона) WordPress для снижения его нагрузки на сервер хостинга, плагин WP Tuner и число запросов к БД, создание, продвижение и заработок на сайте

а после замены URL на статичные — так (как говорится — почувствуйте разницу):

Оптимизация темы (шаблона) WordPress для снижения его нагрузки на сервер хостинга, плагин WP Tuner и число запросов к БД, создание, продвижение и заработок на сайте

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

Их нужно будет заменить, соответственно, на статические название и описание. Если у вас вдруг после сохранения этого вместо русских букв вылезут кракозябры (здесь читайте про кодировки русского языка и проблемы с ними возникающие), то откройте файл повторно на редактирование и в Notepad++ (тут его описание живет), выберите из верхнего меню пункт «Кодировка» — «Преобразовать в UTF-8 без BOM», а затем опять сохраните файл.



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

ее надо будет заменить на:

Теперь перейдем к файлу FOOTER, который так же должен находиться в папке с вашей темой оформления по адресу:

В нем можно заменить строку выводящую информацию о том, что все права защищены, примерно такого вида:

на что-нибудь такое, например:

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

WP Tuner — количество запросов к БД Вордпресса

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

WP Tuner устанавливается на WordPress стандартным способом, а именно:

  1. распакуйте архив, используя ftp-менеджер подключитесь к вашему блогу и загрузите папку wptuner в папку с плагинами wp-content/plugins/ на сервере хостинга
  2. войдите в админку и выберете вкладку «Плагины»- «Inactive»
  3. найдите строку с плагином WP Tuner и активируйте его


Если при установке плагина WP Tuner у вас возникли какие-либо затруднения, то можете обратиться к материалам этой статьи, про решение возможных проблем с установкой плагинов. Теперь можно зайти в админку и ознакомиться с настройками этого расширения (из левого меню выбрать Параметры -> WP Tuner.

Собственно, настроек у WP Tuner не так уж и много, к тому же для того, чтобы данный плагин начал показывать количество запросов к БД при загрузке страницы, вообще ничего менять не надо. Нужно просто зайти на блог, но при этом нужно, чтобы вы были под логином администратора, и открыть какую-либо страницу.

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

Оптимизация темы (шаблона) WordPress для снижения его нагрузки на сервер хостинга, плагин WP Tuner и число запросов к БД, создание, продвижение и заработок на сайте

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

Но посмотреть число запросов к базе в WordPress можно и не прибегая к услугам плагинов. Для этого нужно получить доступ к файлам вашего блога по FTP и открыть на редактирование, например, файл:

и где-нибудь в его содержимое нужно вставить следующую конструкцию (место вставки будет определять область вывода числа запросов к БД в футере):

В результате после загрузки страницы, в самом низу (в области подвала), вы увидите, сколько при этом было сделано обращений к БД:



Оптимизация темы (шаблона) WordPress для снижения его нагрузки на сервер хостинга, плагин WP Tuner и число запросов к БД, создание, продвижение и заработок на сайте

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

Удачи вам! До скорых встреч на страницах блога KtoNaNovenkogo.ru

Подборки по теме:

Комментарии и отзывы

Admin, у тебя PHP WP код полностью не видно, те если сточка из кода длинная, то видна она не целиком.

Спасибо, в ближайшем будущем буду пробовать. А пока нагрузки от вордпресс как таковой нет.

Спасибо за плагин WP Tuner

Больше всего нагрузку давала на память функция «Самые популярные посты»

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

Почему-то миф уменьшении нагрузки ручным прописыванием настроек блога в теме оформления кочует из блога в блог. Но (выше написал Nick Lavu) большая часть настроек WP блога извлекаются одним запросом — из таблицы wp_options. А вот некоторые плагины, или экзотические темы, могут быть создавать повышенную нагрузку и в целях оптимизации их следует отключить.

Спасибо за пост! Для меня все эти вопросы оптимизации вордпресс и снижения нагрузки на сервер, очень актуальны а описания по замене строчек в теме WP ранее не встречал. Буду экспериментировать ��

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



Сейчас смотрю в сторону MaxSite CMS — очень хорошая блоговая система я считаю — последнюю неделю разбираюсь с ней — пока все нравиться. Что качается потребления ресурсов сервера (нагрузки) — просто сказка — в несколько раз меньше памяти жрет и запросов к базе данных по минимум.

По мне так — основной конкурент вордпресс.

Игорь: слышал про MaxSite CMS, но пока еще не довелось попробовать. Возможно, что вы и правы. Вордпресс действительно достаточно монструозный движок и создает большую нагрузку на сервер хостинга, но очень уж популярный и что немаловажно, для него имеется огромное количество плагинов, которые позволяют реализовать кучу возможностей. К тому же WordPress можно оптимизировать для снижения нагрузки на сервер. А MaxSite CMS, я думаю, пока что, из-за ее относительной не распространенности, расширений много иметь не может. Или я ошибаюсь?

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

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

Скажите, а где ещё может быть запрятан мета-тег с информацией о версии WordPress. Просто ни в хидере, ни в остальных файлах темы не нашёл строку такого вида: , однако в информации о странице всё равно видна версия WP. Или может быть этот тег по другому объявлен?



Аркадий: еще об этом не писал, но обязательно напишу, а пока, если кратко, то для удаления информации о текущей версии WordPress из исходного кода страниц вам нужно будет добавить в файл functions.php из вашей темы оформления (/wp-content/themes/название-вашей-темы-оформления/functions.php)

Спасибо, Дмитрий. Блестящая серия статей по оптимизации WordPress, но есть вопросы. Плагин WP Tuner при переходе из админки на сайт не показывает количество обращений к базе данных в футере, а показывает это в самом плагине, но непонятно к какой странице блога. Подскажите, пожалуйста, в чем дело.

Марина: WP Tuner отображается на страницах блога и в админке под футером. Но на страницах блога его панель будет видна только администратору вордпресс. Обычные посетители его не увидят. Рискну предположить, что возможно вы заходили на сайта не под админом, хотя, наверное, это вряд ли.

Заходила в WP админом, сейчас удалила плагин WP Tuner, прописала в коде футера и все получилось. Число обращений на разных страницах от 14 до 25. Это нормально?

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

А ещё вот есть Really Static такой плагин для WordPress, говорят что это даже лучше.

Спасибо. Сайт полетел в закладки.

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

Настроил всё по описанию, обращений к базе данных как было 56, так и осталось. Убрал слайдшоу из сайдбара, обращений уменьшилось до 42. И теперь так и плавает — то 57, то 42, не пойму. Обращения проверяю при помощи кода, установленного в подвале:



echo » MySQL: » . get_num_queries () . » запросов за «; timer_stop (1);

echo » секунд. Потребление памяти: «. round (memory_get_usage ()/1024/1024, 2) . » MB «;

Сделал всё как написано в статье. Результата не дало — обращение к базе данных не уменьшилось. 56. Убрал из сайдбара слайд шоу — кол-во обращений уменьшилось до 42. Но потом опять возросло до 57. И так и колеблется — 42-57.

Огромное спасибо. Читал несколько блогов на эту тему и нифига не понял. А тут всё понятно и ясно объясняется. Всё исправил у себя, хотя не могу убрать ссылки, что в футере на сайт вордпрес, они по защитой. Может подскажешь как эту защиту снимать?

Вроде уж написано кем то выше.

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

Спасибо за отличную статью! Ясно, просто, наглядно. Ваш сайт оцениваю лучше, чем Попова.

Жалко, что автор не указал откуда в вордпрессе такое количество запросов?

30 queries in 0,344 seconds

И это на дефолтной теме

А когда необходимые плагины включаем, то вообще:

52 queries in 1,149 seconds. — http://wel.org.ua/

Елки-палки, если не помогает прописывание путей в файле шаблона, нафига писать об этом в статье. А то я сделал, проверил через wp-tuner — запросы не уменьшились, почитал комменты и понял в чем дело.



При установке плагина сайт полностью виснет!

помогает только удаление его из ftp

Спасибо за вп-тюнер)) чуть инфаркт не хватил)) Удалите его лучше из статьи, он убивает блог напрочь. Помогает только удаление его по фтп и замена wp-config (который находится в корне сайта) на оригинальный

Мететег meta name=»generator» не всегда есть в шапке сайта (head). Удалить его или изменить легко: в wp-includes находите version.php и в самом начале или правите версию на любую несуществующую или удаляете всю строчку $wp_version = ’1.1.1′;

Удалите, пожалуйста, из статьи плагин вп-тюнер. Я чуть в штаны не наклал, когда сайт сломался. Благо, я уже сталкивался с корявыми плагинами, которые ломают сайт. Удалял по ftp.

Уберите плагин из статьи. Незнающий человек сломает свой сайт, и всё, и сделать ничего не сможет.

* Нажимая на кнопку «Добавить комментарий» или «Подписаться» Вы соглашаетесь с политикой конфиденциальности.

О admin

Оставить комментарий

Ваш email нигде не будет показан

x

Check Also

Теги для Инстаграма

> Теги для Инстаграма — зачем нужны и где посмотреть самые популярные их них Здравствуйте, ...

Теги Font (Face, Size и Color), Blockquote и Pre

> Теги Font (Face, Size и Color), Blockquote и Pre — устаревшее форматирование текста в ...

Таргетированная реклама Вконтакте, как ее эффективно использовать и для чего она лучше подходит, создание, продвижение и заработок на сайте

> Таргетированная реклама Вконтакте, как ее эффективно использовать и для чего она лучше подходит Здравствуйте, ...

Таблицы в Html

> Таблицы в Html — теги Table, Tr и Td, а так же Colspan, Cellpadding, ...

Счетчик Яндекса видимый на сайте

> Счетчик Яндекса видимый на сайте — его настройка и установка информера Здравствуйте, уважаемые читатели ...

Страшилка Яндекса в действии и комплексное продвижение сайта, создание, продвижение и заработок на сайте

> Страшилка Яндекса в действии и комплексное продвижение сайта Здравствуйте, уважаемые читатели блога Если посмотреть ...

Стратегии, тренды и технический анализ на рынке Форекс, а так же принципы торговли на Forex, создание, продвижение и заработок на сайте

> Стратегии, тренды и технический анализ на рынке Форекс, а так же принципы торговли на ...

Стоит ли покупать ссылки-картинки, создание, продвижение и заработок на сайте

> Стоит ли покупать ссылки-картинки? Здравствуйте, уважаемые читатели блога Эффективное продвижение сайтов представляет собой использование ...

Статейник возвращается

> Статейник возвращается — 12 000 рублей за лучший гостевой пост на MasterWebs.ru (45 000 ...

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

> Сравнение способов и методов привлечения посетителей на сайт — SEO продвижение и раскрутка, контекстная ...

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

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

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

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

Списки в Html коде

> Списки в Html коде — теги UL, OL, LI и DL Здравствуйте, уважаемые читатели ...

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

> Социальный Капитал от TemplateMonster с участием двигателей Здравствуйте, уважаемые читатели блога Как же это ...

Социальные закладки

> Социальные закладки — прогон в bposter и кнопки для привлечения дополнительных посетителей и ускорения ...

Социальная сеть Facebook

> Социальная сеть Facebook — регистрация, вход, принципы общения и создание своей страницы для сайта ...

Сокращение ссылок в Гугл () и ВК ()

> Сокращение ссылок в Гугл (goo.gl) и ВК (vk.cc) — какой сократитель выбрать и кому ...

Создать электронную почту

> Создать электронную почту — что это такое, как и где пройти регистрацию и какой ...

Создание, продвижение и заработок на сайте, создание, продвижение и заработок на сайте

> Создание, продвижение и заработок на своем сайте — ступеньки к личной свободе Доброго времени ...

Создание, оформление и оптимизация канала на YouTube, создание, продвижение и заработок на сайте

> Создание, оформление и оптимизация канала на YouTube Здравствуйте, уважаемые читатели блога Продолжаем тему изучения ...

Создание эффективных объявлений для таргета Вконтакте и подготовка сайта или сообщества к приему потока посетителей, создание, продвижение и заработок на сайте

> Создание эффективных объявлений для таргета Вконтакте и подготовка сайта или сообщества к приему потока ...

Создание списка похожих материалов в WordPress (с миниатюрами) при помощи плагина Related Posts для внутренней линковки, создание, продвижение и заработок на сайте

> Создание списка похожих материалов в WordPress (с миниатюрами) при помощи плагина Related Posts для ...

Создание сайта для заработка на нем

> Создание сайта для заработка на нем — как получить готовый инструмент для бизнеса Здравствуйте, ...

Создание сайта

> Создание сайта — как это сделать самому и бесплатно Здравствуйте, уважаемые читатели блога Обычно ...