Оптимизация блога на WordPress для снижения его нагрузки на сервер хостинг-провайдера — Часть 3 — Снижение потребляемой памяти при создании страниц, плагин WPLANG Lite
Здравствуйте уважаемые читатели блога KtoNaNovenkogo.ru. В этой статье мы продолжим рассматривать методы, направленные на снижение нагрузки, создаваемой WordPress на сервер хостинга. Ранее мы уже рассмотрели варианты оптимизации темы (шаблона) WordPress для снижения количества запросов к базе данных WP, а так же поговорили о необходимости использования кэширования WordPress и подробно разобрали установку и настройку плагина кэширования Hyper Cache.

Сегодня мы займемся рассмотрением способов мониторинга нагрузки Вордпресс на сервер и снижением потребления памяти при создании страниц в WordPress.
Мониторинг нагрузки, создаваемой WordPress на сервер хостинга, с помощью плагина «Панель нагрузки» и без него
В первой статье, посвященной оптимизации WordPress, мы узнали, как определить количество запросов к базе данных WP, при загрузке вебстраницы вашего блога. Сегодня мы будем пытаться снизить потребление памяти при создании страниц в WordPress и, следовательно, нам нужно будет каким-то образом измерить это самое потребление памяти до и после проведенной оптимизации Вордпресс.
Итак, нам нужно знать, сколько памяти на сервере хостинга расходуется при загрузке той или иной вебстраницы вашего WP блога. Эту проблему можно решить как с помощью установки в Вордпресс соответствующего плагина, так и с помощью дописывания нескольких строк кода в файл /wp-content/themes/Папка-с-вашей-темой-оформления/functions.php из используемой вами темы (шаблона) WordPress. Давайте начнем с плагина для WordPress.
Плагин «Панель нагрузки» — выводим в WordPress информацию о количестве запросов к базе данных, времени и потребляемой памяти при создании страниц
Плагин для Вордпресс называется «Панель нагрузки» и скачать его можно отсюда. Этот WP плагин очень простой, что несомненно является достоинством. Для установки на WordPress плагина «Панель нагрузки» вам нужно выполнить стандартные манипуляции:
- распакуйте архив
panel_load.zip, используя ftp-менеджер подключитесь к вашему сайту и загрузите файлpanel_load.phpв папку с WP плагинамиwp-content/plugins/на сервере - войдите в админку WordPress и выберете вкладку «Плагины»- «Inactive (Неактивно)»
- найдите строку с WP плагином «Панель нагрузки» и активируйте его
Если при установке этого WP плагина возникли какие-либо затруднения, то можете обратиться к материалам этой статьи — Решение возможных проблем при установке плагинов на WordPress. В админке WordPress выбираем из левого меню Настройки -> Панель нагрузки.

Давайте рассмотрим, что же можно на этой странице настроить для WP плагина «Панель нагрузки».
- Позиция — вы можете выбрать способ отображения панели нагрузки на страницах вашего WP блога:
- Фиксированная — «Панель нагрузки» все время будет находиться в заданной области экрана, вне зависимости от прокрутки страницы WP блога
- Абсолютная — позиционирование «Панели нагрузки» будет привязано уже не к экрану, а к самой странице WP блога. При прокрутке панель нагрузки Вордпресс будет уходить за видимую часть экрана
- Горизонтальное положение панельки — вы можете выбрать к какой стороне вашего WP блога будет прижата «Панель нагрузки»
- Вертикальное положение панельки — тоже самое, но для вертикального положения
- Отображать панель для — здесь вы можете выбрать, кому будет видна данная «Панель нагрузки» — всем посетителям вашего WP блога или же только вам (Администратору WordPress)
- Отступ по горизонтали (в px) — вы можете задать отступ панели нагрузки от левого или правого края окна, в зависимости от того, что вы выбрали в поле «Горизонтальное положение панельки»
- Отступ по вертикали (в px) — тоже, но отступ уже задается от низа или верха экрана
- Отображать панель в админке — вы можете в этом поле включить отображение этой панели нагрузки в админке WordPress, выбрав из выпадающего списка вариант «Да»

На страницах WP блога «Панель нагрузки» выглядеть будет примерно так:

Как вы можете видеть, на «Панели нагрузки» отображается следующая информация:
- количестве запросов к базе данных WP, сделанных при загрузке данной вебстраницы
- времени создания страницы WP
- потребление памяти при создании в WordPress данной вебстраницы
Вывод информации о нагрузке WordPress на сервер хостинга без использования WP плагина
Туже саму информацию о нагрузке, создаваемой страницами вашего WP блога на сервер хостинга, можно вывести в WP блоге или админке Вордпресс и без использования WP плагинов. Для это вам нужно будет открыть на редактирование файл /wp-content/themes/Папка-с-вашей-темой-оформления/functions.php из используемой вами темы (шаблоны) WordPress. Добавьте в этот файл следующий код:
function usage() {
printf(('%d / %s'), get_num_queries(), timer_stop(0, 3));
if ( function_exists('memory_get_usage') ) echo ' / '
. round(memory_get_usage()/1024/1024, 2) . 'mb ';
}
add_action('admin_footer_text', 'usage');
add_action('wp_footer', 'usage');
Сохраните произведенные изменения в файле functions.php. Теперь в самом низу админки WordPress и в футере WP блога будет выводиться информация о нагрузке вашего блога на WordPress.

Строка
add_action('admin_footer_text', 'usage'
в приведенном выше коде отвечает за вывод информации о нагрузке в админке WordPress. Следовательно, если вы ее удалите из кода, то в админке Вордпресс информация о нагрузке выводиться не будет. Строка
add_action('wp_footer', 'usage');
отвечает за вывод информации о нагрузке в футере WordPress блога. Но я все же советую убрать эту строку из кода, т.к., например, в этом случае информация в футере блога выводится не совсем красиво. Лучше эту строку убрать из кода, добавляемого в файл functions.php, а вместо этого открыть на редактирование файл /wp-content/themes/Папка-с-вашей-темой-оформления/footer.php и вставить в нужное место этого файла код:
<?php if (current_user_can('level_10')){ ?>
<small><?php usage();?></small><?php } ?>
В этом случае информация в футере будет видна только администратору WordPress, т.е. вам, а посетители WP блога ее не увидят. Ну, вот мониторить потребление памяти при создании вебстраниц вашего блога на WordPress мы научились. Теперь пора переходить к снижению этого самого потребления памяти блогом на Вордпресс.
Плагин WPLANG Lite — снижаем потребление памяти при создании страниц в WordPress
Ту оптимизацию потребления памяти в WordPress, которую мы будет сейчас рассматривать я проделывал на своем WP блоге уже довольно давно и в то время о плагине, реализующем эту функцию мне было неизвестно. Поэтом пришлось осуществлять все операции вручную, хотя это было совсем и не сложно. Но сейчас появился плагин WPLANG Lite для WordPress, который реализует все это в удобной и простой форме.
Что же мы собственно будет делать для облегчения загрузки вебстраниц блога на WordPress? Дело в том, что в оригинальном файле русской локализации ru_RU блога на WordPress содержится перевод всего движка Вордпресс, включая админку и некоторые WP плагины. Но при создании вебстраниц WP блога локализация админки совсем не нужна, а т.к. используется единый файл локализации для WordPress, то получается, что в памяти висит несколько мегабайт совершенно не нужной информации (локализация админки Вордпресс).
Суть метода по снижению потребления памяти WP блогом заключается в том, чтобы при загрузке страниц блога использовался облегченный файл локализации WordPress ru_RU_lite, в котором нет перевода WP админки и неиспользуемых плагинов. Это позволит сэкономить порядка трех мегабайт памяти сервера при создании вебстраниц Вордпресс блога.
Что примечательно, при создании вебстраниц фронтальной части WP блога будет использоваться облегченный вариант файла локализации WordPress, а при генерации вебстраниц админки — полный файл локализации. Т.е. ни вы, ни посетители вашего WP блога разницы от подмены файлов локализации Вордпресс не заметите.
Установка плагина WPLANG Lite на WordPress
Скачать плагин WPLANG Lite вы можете отсюда. Для установки плагина WPLANG Lite вам нужно будет проделать следующие нехитрые операции:
- распакуйте архив
wplang-lite.0.3.zip, используя ftp-менеджер подключитесь к вашему сайту и загрузите папкуwplang-liteв папку с WP плагинамиwp-content/plugins/на сервере - установите права доступа 777 для папки
/wp-content/languages/. Не пропустите этот шаг, т.к. плагин WPLANG Lite сразу же после своей активации захочет создать в этой папке урезанный файл локализации Вордпрессru_RU_lite, но если права доступа на эту папку не позволят ему это сделать, то облегченный файл локализации Вордпресс создан не будет. И что еще печальнее, плагин WPLANG Lite вам об этом даже не скажет. Просто вы в этом случае не увидите никакого снижения потребления памяти сервера при загрузке вебстраниц вашего блога на WordPress - войдите в админку WordPress и выберете вкладку «Плагины»- «Inactive»
- найдите строку с плагином WPLANG Lite и активируйте его
Если при установке плагина WPLANG Lite возникли какие-либо затруднения, то можете обратиться к материалам этой статьи — Решение возможных проблем при установке плагинов. Собственно, все. Плагин WPLANG Lite уже работает. Что примечательно, при обновлении файла полной локализации плагин WPLANG Lite автоматически скачает новый облегченный файл локализации WordPress. Именно в этом и состоит преимущество использования плагина WPLANG Lite по сравнению с ручной настройкой. Хотя, если вам интересно, то я могу рассказать, как все это проделать без WP плагина.
Снижаем потребление памяти в WordPress без использования плагина WPLANG Lite
Нужно скачать файл ru_RU_lite.mo, разархивировать его и затем используя ftp-менеджер подключиться к вашему сайту и загрузить файл ru_RU_lite.mo в папку с файлами локализации /wp-content/languages/ на сервере. Теперь вам нужно будет открыть на редактирование файл wp-config.php, который лежит в корневой папке на сервере вашего хостинга. Находите в этом файле строку:
define ('WPLANG', 'ru_RU');
и заменяете ее на следующую строку кода:
if (strpos($_SERVER['REQUEST_URI'], 'wp-admin')) define ('WPLANG', 'ru_RU'); else define ('WPLANG', 'ru_RU_lite');
Если в вашем файле wp-config.php присутствуют обе этих строки, то просто закомментируйте (допишите вначале строки // ) первую строку и раскомментируйте вторую строку (уберите вначале строки //). На сегодня все, продолжим рассматривать способы оптимизации WordPress для снижения нагрузки на сервер в следующей статье этой серии. Благо оптимизировать Вордпресс можно до бесконечности.
У Евгения Попова имеется видекурс по WordPress, который стоит того, чтобы с ним ознакомиться.
Вы так же можете ознакомиться с другими материалами по WordPress:
- Уроки WordPress
- Плагины WordPress на моем блоге
- Установка плагинов
- Карта сайта для WordPress
- Hyper Cache - кэширование в Вордпресс
- All in One SEO Pack - поисковая оптимизация блога
- Искореняем спам в комментариях
- Подписка на новые комментарии
- WP-PageNavi - постраничная навигация
- Хлебные крошки для блога
- Внутренняя перелинковка и создание списка похожих материалов
Удачи вам! До скорых встреч на страницах блога KtoNaNovenkogo.ru
Оптимизация темы WordPress
Плагин кэширования Hyper Cache

-
- Hyper Cache — включаем плагин кеширования в Вордпресс для оптимизации WP блога и снижения нагрузки на сервер хостинга
- Оптимизация WordPress для снижения его нагрузки на сервер хостера — Часть 1 — Оптимизация темы Вордпресс, как узнать количество запросов к базе данных, плагин WP Tuner
- Плагин WP-PageNavi для WordPress — постраничная навигация для вашего WP блога — установка на Вордпресс, настройка, изменение внешнего вида
- Оптимизация WordPress: как защитить комментарии Вордпресс от спама, как заставить плагин DCaptcha работать на WP 2.92, как отключить корзину
- Подписка на комментарии в WordPress — плагин Subscribe To Comments (на E-mail), RSS лента всех комментариев WP блога и RSS канал для комментариев одной статьи в Вордпресс
- All in One SEO Pack и внутренняя поисковая оптимизация блога на WordPress, установка и настройка плагина (теги Canonical, Description и Title в WP)
- Создание карты сайта на WordPress — Часть 2 — Установка и настройка плагинов Sitemap Generator и WP DS Blog Map для создание карты Вордпресс блога в формате HTML для посетителей


Я вообще ушел с WP. С посещаемостью от 10к редко кто выдерживает его
Спасибо, не знал про плагин Панель загрузки. Что касается языка, то вместо WPLANG Lite я просто ставлю английскую версию WP, что в корне решает эту проблему. Там нет ничего сложного, даже кто плохо знает язык.
И касательно Hyper Cache — есть более достойная альтернатива, а именно, W3 Total Cache для WordPress, которая кроме статических страниц кэширует запросы БД WP и имеет массу других возможностей
ipod: если не секрет, то на что именно вы ушли с WP.
Димок: спасибо, еще не познакомился с W3 Total Cache, попробую.
В плагине для Вордпресс «Панель нагрузки» выставила те же параметры, как показано у вас.Но панель видна только в админке, на страницах ее нет. А админке WP на какую страницу она показывает? На саму админку WordPress?
Установила плагин WPLANG Lite. Посмотрела потребление памяти до и после его установки. Существенных изменений не увидела.
А как и чем определить норму потребления памяти. Например, у меня 54 запроса/0,547/26,61Мв
Марина: да, в админке WP плагин «Панель нагрузки» показывает нагрузку на сервер при генерации страницы админпанели Вордпресс. Странно, что на страницах WP блога вы его не видите. Может у вас абсолютная привязка стоит и панель отображается за пределами видимости страницы (в самом верху или низу)?
У меня этот метод (c заменой полного файла локализации вордпресс на покоцанный) снизил примерно на три мегабайта потребление памяти. Про абсолютные величины потребления памяти не берусь рассуждать, у меня, как вы видите, около 17 мегабайт, но мне кажется, что это не совсем соответствует истине или зависит от сервера. Тут более важно относительное снижение потребления памяти после использования данного метода. Попробуйте сделать все вручную, как я описал в конце статьи, должно сработать.
Пробую без WP плагина панель нагрузки. В каком месте functions.php надо писать код? Пишу последними строчками — вордпресс выдает ошибку.
Марина: непосредственно перед
попробуйте.Спасибо, Дмитрий. Случайно и вовремя обнаружила, что доэкспериментировалась до того, что сломалась RSS-подписка в вордпресс, пришлось все вернуть назад, кроме кэширования. С WP плагинами, как-то спокойнее, есть уверенность, что ничего не испортишь.
Можно использовать бесплатный WP плагин кэширования centavrus-opti.ru/skript- ...a-wordpress.html
Намного превосходит аналоги. Страничка пишется в кэш и при последующих обращениях уже отдаётся. Бесплатная. Шикарная вещь — далеко позади оставил все иные варианты. Раньше пользовался коммерческой версией MAXCACHE — тоже неплохая, но по сравнению с вышеприведённым скриптом — УГ. Деньги зря на ветер... А вообще — нормальный хостинг должен без напряжения держать WordPress
Googlebot говорит, что:
Вот именно! Никакой такой супер-пупер-мега нагрузки WP не создает. Просто многие хостинги живут еще в прошлом веке.
Ю.Б.: вчера в час пик посещаемости сбросил кэш в WordPress (внес изменения в шаблон Вордпресс и хотел, чтобы изменения вступили в силу) и через пять минут пришло предупреждение от владельца хостинга о превышении потребления ресурсов. Причем превышение было очень существенное, особенно по памяти (более чем двукратное). Теперь кэш в WP не сбрасываю во время большого наплыва посетителей.
А для снижения нагрузки на процессор нет решений в wordpress ?
ipod: у меня сейчас 7-8 тысяч уникальных посетителей. в WordPress кэширование поставил, вроде все ок
. виртуальный хостинг держит...
Добрый день, вопрос может немного не в тему, но меня интересует, сказывается ли количество установленных в вордпресс плагинов на работоспособность wp? (Естественно исходя их того, что они друг с другом не конфликтуют и сами по себе не тормозят движок WordPress). Спасибо
попутно ещё один вопрос. Сам по себе «плагин» для WP по сути это просто какой-то дописаный код в страницу или нечто большее?
Vadim: сказывается количество плагинов на производительность WordPress. Плагины, как правило, выполняются в реальном времени и создают определенную нагрузку на сервер. Разные WP плагины по разному оказывают влияние, но если есть возможность обойтись без плагина (внесением изменений в код), то лучше плагин в вордпресс не использовать.
после использования ru_RU_lite.mo в меню сайта в место «Главная» появилось «Home» ...подскажите как подправить
Плагин Pure PHP Localization аналог этого?
Что лучше?
Как хостер настоятельно не рекомендую устанавливать какие либо плагины связанные с уменьшением запросов к бд и кешированию,все и так работает нормально.
Значительно сократить (на 50% )нагрузку и время загрузки можно через штаксес,вписать туда.
#кэшировать html и htm файлы на один день
Header set Cache-Control «max-age=43200»
#кэшировать css, javascript и текстовые файлы на одну неделю
Header set Cache-Control «max-age=604800»
#кэшировать флэш и изображения на месяц
Header set Cache-Control «max-age=2592000»
А бесплатный хостинг без рекламы,с поддержкой .штаксес
можно найти тут host-telekom.ru/market/wordpress.php
Дмитрий, подскажите пож-та. После того как поставил плагин WPLANG нужно ли оставлять права на папку 777 или их лучше вернуть на 755?
Warning: Cannot modify header information — headers already sent by (output started at /home/differ/public_html/wp-config.php:1) in /home/differ/public_html/wp-includes/pluggable.php on line 934
после использования метода уменьшения потребления памяти в ручную с помощью файла ru_RU_lite.mo, тема сайта стала отображаться на английском и админка стала не доступна(выбило какую-то ошибку), я решил вернуть все как было, в файле wp-config.php изменил код на стандартный и удалил сам файл ru_RU_lite.mo из папки /wp-content/languages/, после чего я не могу войти в админку и выбивает уже другую ошибку, вот ее текст:
Warning: Cannot modify header information — headers already sent by (output started at /home/differ/public_html/wp-config.php:1) in /home/differ/public_html/wp-includes/pluggable.php on line 934
помогите с возникшей проблемой
Спасибо за статью! После ручного уменьшения потребления памяти -4,2мб к показателям без.
Спасибо за упоминание плагина «Панель нагрузки»
Юрий писал об использовании .хтаксесс для кеширования. Кто-нибудь, подскажите, плиз, существует ли вариант исключить из кеширования главную стр. (в том случае, если кешировать так, как сказал Юрий). Хочу попробоывать это сделать не на Вёрдпрессовском сайте. Т.е. плагин не поможет.
Ну или ссылочку оставьте, где это можно было б почитать. Очень хочется! ))