Снижение потребляемой в WordPress памяти при создании страниц плагин WPLANG Lite для подмены файла локализации

WPLANG Lite

WPLANG Lite это маленький и очень нужный плагин для любого блога на WordPress. Данный плагин я отнес к категории обязательных для установки в блоге. Причина этого проста – он снижает потребление памяти при генерации страниц блога примерно на 3Мб. Будь у вас выделенный сервер или дешевый виртуальный хостинг – в любом случае плагин лишним не будет, так как много памяти не бывает. Работает плагин очень просто – он сканирует файл локализации WordPressru_RU.po” и создает облегченный вариант “ru_RU_lite.mo“, в котором вырезана вся локализация админки WordPress. Причем при генерации страниц лицевой части блога будет использоваться облегченный вариант, а при открытии админки полный вариант перевода. Таким образом, после установки плагина вы не заметите ни малейших изменений в работе блога, кроме того, что он теперь будет использовать меньше памяти.

Скачиваем плагин с его домашней страницы и устанавливаем его:

1. Распаковываем архив.

2. Копируем папку wplang-lite в /wp-content/plugins/.

3. Устанавливаем права 777 на папку /wp-content/languages/.

4. Заходим в админку блога на вкладку “Плагины” и активируем плагин.

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

Как узнать, сколько памяти потребляет ваш блог я уже описал в этой статье. На примере данного блога приведу цифры: на локальном сервере потребление памяти сократилось с 19.48Мб до 16.61Мб, а на хостинге с 5.42Мб до 2.62Мб при открытии главной страницы блога. Выигрыш в экономии памяти равен около 3Мб, а это очень много в условиях ограниченных ресурсов сервера.

Формально дальше можно обойтись и без плагина, так как свою задачу он по сути уже выполнил. Единственное, что он еще делает, так это определяет, когда должен использоваться облегченный перевод, а когда полный. Но данную функцию можно переложить на файл конфига блога, для этого откройте файл wp-config.php и замените там строку:

define (‘WPLANG’, ‘ru_RU’);

if (strpos($_SERVER[‘REQUEST_URI’], ‘wp-admin’)) define (‘WPLANG’, ‘ru_RU’); else define (‘WPLANG’, ‘ru_RU_lite’);

Но я бы не стал вам рекомендовать этот способ из-за еще одной особенности плагина WPLANG Lite – он умеет обновлять файл облегченной локализации, если изменился файл полной локализации ru_RU.po. А он может измениться при любой новой версии движка WordPress и вручную следить за обновлением облегченной версии перевода было бы несколько неудобно.

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

Плагин WPLANG Lite – уменьшаю потребление памяти

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

Я нашел решение и поставил на блог плагин WPLANG Lite. К тому же на примере смогу убедиться, снизит ли он потребление памяти при генерации страниц блога во время просмотра их читателями? Для чистоты эксперимента я уже установил плагин WordPress “Панель нагрузки” Получил его данные по работе блога без плагина WPLANG Lite. Теперь я буду точно знать, измениться потребление памяти, если да, то на сколько измениться.

Так что приступаю у эксперименту.

После установки этого плагина я начал наблюдать за данными, которые мне он показывал. Что я увидел? Нагрузка при генерации страниц административной панели очень сильно колеблется, так же меняется и время генерации, и объем потребляемой памяти. А вот генерация страниц самого блога, тех страниц, что видите Вы, читатели, вызывает очень небольшое колебание времени генерации страниц или потребления памяти. Но здесь тоже все не однозначно. У меня во время проверки работы блога был один резкий скачок потребление памяти, с 12 МВ до 35 МВ.

С чем это связано, не знаю. Но по наблюдением я понял, что в процессе открытия и закрытия страниц, объем потребляемой памяти может изменяться. Но самое радостное не очень серьёзно. А админка, так я туда захожу 2 раза в день, так что резкие скачки потребления не критичны для работы блога.

Если есть желание установить плагин WPLANG Lite, то вам сюда – http://wordpress.org/extend/plugins/wplang-lite/

Сам процесс установки такой.

Скачиваю сам плагин и устанавливаю его в моем , но не активирую.

Захожу с помощью программы FTP – клиента на сервер, где находится блог, нахожу папку /wp-content/languages/ и устанавливаю ей права доступа 777. Я это делаю с помощью программы FileZilla.

Только после этого я активирую плагин WPLANG Lite. Зачем нужно делать это? Потому что плагин выполняет сохранение файла в этот каталог. А если нужных прав доступа нет, то и записи самого файла плагином не осуществится. Значит, плагин будет только активирован, но не работать.

Плагин создает урезанный файл локализации Вордпресс, который называется ru_RU_lite .

Вот на этот скриншоте видно содержимое папки wp-content/languages/. Левая часть изображения – показывает количество файлов до установки плагина Вордпресс WPLANG Lite. Вторая часть — указывает на то, что в этой папке стало на один файл больше. И как раз на файл ru_RU_lite. Значит, я плагин верно установил, я все условия активации его выполнил, плагин работает. Да, никаких настроек и панелей управления в администраторской части блога нет. Здесь или все установили и работает или установили, но что-то не сделали, и плагин не работает.

У меня плагин WordPress WPLANG Lite работает. Как это определить, я это определяю по значениям, которые мне показывает плагин «Панель нагрузки».

Я вижу, что до установки плагина WPLANG Lite мой блог потреблял 12,74 МВ. Отклонения потребления памяти в ту или иную сторону крайне мизерны, потому не рассматриваю их. А вот после установки плагина потребление памяти при генерации страниц уже составляло 7,7 МВ.

Так получается я выиграл 5 МВ. Хотя я не уверен что плагин “Панель нагрузки” верно показывает объемы потребления памяти и времени генерации. Но с другой стороны, я вижу, что потребление памяти уменьшилось на 39%. Главное, что я получил облегчение работы блога, сама динамика изменений положительна. Это радует.

Чтобы узнать, что плагин работает, я открывал и закрывал блог, посещал разные страницы – все работает нормально.

Теперь о генерации страниц администраторской блога. Здесь не так все однозначно. Показатели потребления памяти при генерации разных страниц очень скачет.

23,89 МВ и 14,06 МВ это объемы потребления памяти при генерации разных страниц администраторской панели блога. Так первую величину я получил при открытии вкладки “Записи”, а второе значение – “Страницы”. Чем более насыщенная страница элементами оформления – тем больше памяти нужно. После установки плагина – 12,51 МВ.

Но тут не так уже и хорошо дело обстоит. Я не могу сказать, что при генерации всех страниц происходит уменьшение памяти. Иногда скачки значений потребления памяти очень серьёзные. Экономия памяти мизерная.

Но все равно, я админкой пользуюсь не часто, потому и результаты по уменьшению потребления памяти при генерации страниц администраторской панели блога не сильно меня заботят. Главное, что я уменьшил время генерации страниц блог, потребления памяти, да и количество запросов к базе данных уменьшилось при открытии блога моими читателями. Это хорошо. Когда у меня будет число посещений близится к 200 в сутки, и самое главное увеличится просмотры на каждое посещение, вот тогда плагин WPLANG Lite мне облегчит жизнь блогу и мне.

Приветствую Вас, на блоге seomans.ru

Зарегистрируйтесь, чтобы получать рекомендации по созданию блогов и сайтов от seomans.ru

Приветствую Вас на seomans. ru, уважаемый читатель. Предлагаю подписаться на RSS ленту моего блога, Вы также можете следить за развитием моего проекта, читая мой Twitter

Как снизить нагрузку сайта на сервер. WPLANG Lite

Сегодня поговорим на актуальную для многих тему: как снизить нагрузку сайта на сервер, при этом потратить пару минут.

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

Плагин бесплатный. Кто не любит читать статьи, сможет найти ссылку на официальную страничку в репозитории WP, где всегда найдете последнюю версию WPLANG Lite. Однако есть одна особенность при его включении.

Принцип работы WPLANG Lite таков: создается облегченный файл локализации сайта и не стоит путать его с плагинами кеша (разные функции). Дело в том, что WordPress поддерживает множество языков, но нам с вами для блогов нужен только русский (я не имею ввиду слова, которые вы можете употреблять в контенте). В результате работы плагина лицевая часть сайта, которую видят ваши посетители, становится облегченной. В админке сайта все остается без изменений.

Нюанс остается с шаблонами, которые изначально делались на английском: возможно понадобится перевести некоторые слова, типа “login”, “password” и прочих. Но это мелочь, по сравнению с экономией на хостинге.

-40% или как снизить нагрузку сайта на сервер

Для начала картинки, которые докажут сей факт:

Обратите внимание на цифру 19,01: это именно нагрузка (используемая память на сервере) читаемого вами сайта до включения WPLANG Lite. Остальные цифры поясню ниже.

А теперь нагрузка сайта после активации плагина:

Вместо 19,01 появилась цифра 11,61, что говорит нам о снижении нагрузки на сервер в районе 40%.

Как проверить нагрузку сайта

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

Представленный код весьма распространен в сети, поэтому не “открываю Америку” для большинства из вас.

Снижение потребляемой в WordPress памяти при создании страниц — плагин WPLANG Lite для подмены файла локализации

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

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

Мониторинг нагрузки, создаваемой WordPress на сервер

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

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

Этот плагин очень простой, что несомненно является достоинством. Для установки вам нужно выполнить стандартные манипуляции:

  1. распакуйте архив panel_load.zip , используя ftp-менеджер подключитесь к вашему сайту и загрузите файл panel_load.php в папку с плагинами wp-content/plugins/
  2. войдите в админку WordPress и выберете вкладку «Плагины»- «Inactive (Неактивно)»
  3. найдите строку «Панель нагрузки» и активируйте его

Если при установке этого возникли какие-либо затруднения, то можете обратиться к материалам этой статьи — Решение возможных проблем при установке плагинов.

В админке Вордпресса выбираем из левого меню Настройки -> Панель нагрузки.

Давайте рассмотрим, что же можно здесь настроить.

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

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

    Как вы можете видеть, на ней отображается следующая информация:

    1. количестве запросов к базе данных, сделанных при загрузке данной вебстраницы
    2. времени создания страницы
    3. потребление памяти

    Информация о нагрузке Вордпресса без использования плагина

    Ту же саму информацию о нагрузке можно вывести и без использования плагинов. Для этого вам нужно открыть на редактирование файл /wp-content/themes/Папка-с-вашей-темой-оформления/functions.php из используемой вами темы. Добавьте в него следующий код:

    Сохраните произведенные изменения. Теперь в самом низу админки WordPress и в футере блога будет выводиться информация о нагрузке.

    в приведенном выше коде отвечает за вывод инфы в админке. Следовательно, если вы удалите ее из кода, то в админке это дело отображаться не будет. Строка

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

    Wplang Lite — замена файла русской локализации Вордпресса

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

    Что же мы, собственно, будем делать? Оказывается, что в оригинальном файле русской локализации ru_RU Вордпресса содержится перевод всего движка, включая админку и некоторые плагины. Но при создании вебстраниц локализация админки совсем не нужна, а т.к. используется единый файл перевода, то получается, что в памяти висит несколько мегабайт совершенно не нужной информации.

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

    Что примечательно, при генерации фронтальной части блога будет использоваться облегченный вариант файла локализации WordPress, а при генерации админки — полный файл локализации. Т.е. ни вы, ни посетители вашего ресурса разницы от подмены не заметите.

    Скачать WPLANG Lite вы можете отсюда. Для его установки нужно проделать следующие нехитрые операции:

    1. распакуйте архив wplang-lite.0.3.zip , используя ftp-менеджер загрузите папку wplang-lite в папку с WP плагинами wp-content/plugins/
    2. установите права доступа 777 для папки /wp-content/languages/ (сделать это можно, например, в FileZilla (здесь обзор FTP клиента находится). Не пропустите этот шаг, т.к. данный плагин сразу же после своей активации захочет создать в этой папке урезанный файл локализации Вордпресса ru_RU_lite , но если права доступа на эту папку не позволят ему это сделать, то облегченный файл создан не будет. И что еще печальнее, вам об этом даже не сообщат. Просто вы в этом случае не увидите нужного результата.
    3. войдите в админку и выберете вкладку «Плагины»- «Inactive»
    4. найдите расширение и активируйте его

    Собственно, все уже работает. Что примечательно, при обновлении файла полной локализации плагин WPLANG Lite автоматически скачает новый его облегченный вариант. Именно в этом и состоит преимущество использования плагина W по сравнению с ручной настройкой. Хотя, если вам интересно, то я могу рассказать, как все это проделать без него.

    Интернет помощник в сети

    Seo блог, продвижение, оптимизация сайта и WordPress уроки

    Оптимизация WordPress сайта, снижаем потребление памяти и уменьшаем нагрузку на сервер

    Здравствуйте, уважаемые читатели блога об оптимизации wordpress сайта. Когда посещаемость сайта стала увеличиваться я заметил, что блог начал заметно медленнее загружаться ( особенно заметно, если заходить с мобильных устройств). Блог стал потреблять много памяти, делая множество запросов. Сегодня я расскажу, как облегчить WordPress блог и ускорить его.

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

    Оптимизация WordPress

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

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

    Скорость загрузки страниц

    И, чем меньше данные показатели, тем лучше.

    Чтобы их узнать добавим код в блог. Открываем файл нашей темы — functions.php. Я добавил его в самый конец перед символом ?>:

    Сохраните, у вас внизу страницы, рядом со счетчиком liveinternet. Выглядит он так:

    Если не дружите с файлом functions.php, то добавьте следующий код туда же, куда добавляли счетчики посещений — footer.php

    Данный счетчик аналогичен первому, а выглядит он будет так:

    Также воспользуйтесь сайтом, который показывает время загрузки страницы, графики и css файлов. Вот он. Начнем оптимизацию сайта.

    Уменьшаем потребление памяти

    Как я уже говорил WordPress прожорлива, поэтому будем стараться уменьшить ее потребление.

    Будем заменять оригинальный файл локализации ( языка) на lite версию. — Данный метод помогает снизить потребление памяти на 3 мб.

    Устанавливаем файл локализации, для этого скачиваем плагин здесь. Разархивируем его.

    1. С помощью ftp менеджера FileZilla закачиваем файлы в папку /wp-content/plugins/

    2. Устанавливаем права папки languages 777, которая находится /wp-content/languages/

    3. Зайдите в админку и активируйте плагин

    4. После этого зайдите в папку /wp-content/languages/ и проверьте, должен появиться файл “ru_RU_lite.mo“.

    Хотите замену? Вот еще плагин, который нужно только установить. Называется Pure PHP Localization, скачиваем его от сюда.

    Результат: в обоих случаях потребление памяти снизилось. Но с первым плагином уменьшилось потребление чуть больше.

    Запрет на обновление WordPress

    Каждый раз WordPress делает запросы для проверки актуальности всех ваших плагинов, шаблонов и самой CMS, проверяя на наличие обновлений. Для того, чтобы избавиться от этого открываем файл update.php, который в папке wp-includes.

    Будут следующие строчки ( в самом низу файла)

    #add_action( ‘admin_init’, ‘_maybe_update_core’ );

    #add_action( ‘wp_version_check’, ‘wp_version_check’ );

    #add_action( ‘load-plugins.php’, ‘wp_update_plugins’ );

    #add_action( ‘load-update.php’, ‘wp_update_plugins’ );

    #add_action( ‘load-update-core.php’, ‘wp_update_plugins’ );

    #add_action( ‘admin_init’, ‘_maybe_update_plugins’ );

    #add_action( ‘wp_update_plugins’, ‘wp_update_plugins’ );

    #add_action( ‘load-themes.php’, ‘wp_update_themes’ );

    #add_action( ‘load-update.php’, ‘wp_update_themes’ );

    #add_action( ‘admin_init’, ‘_maybe_update_themes’ );

    #add_action( ‘wp_update_themes’, ‘wp_update_themes’ );

    Они у вас без знака #, добавьте его к каждой строчке. Таким образом вы закомментируете их и они не будут работать.

    Результаты: после загрузки страницы не заметил разницы между значениями.

    Плагины кэширования

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

    Плагинов для кэширования очень много, вот два из них:

    Эти плагины популярны и отлично справляются с работой.

    Удаление черновиков. Ревизии постов

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

    Есть два способа отчистить БД:

    Первый способ. SQL-запрос. В БД черновики хранятся со значением post_type=’revision’, поэтому удалить их можно командой:

    Если не уверены в чем-либо, то используйте второй способ.

    Второй способ. С помощью плагина WP-Cleanup или WP-Optimize. Он выводит информацию с помощью графика, одним нажатием можно удалить черновики, спам комментарии и другую ненужную информацию.

    Надоело постоянное сохранение черновиков, либо же хотите увеличить количество сохранений и уменьшить промежуток между ними.

    Тогда можно задать какое кол-во черновиков сохранять и время между сохранениями.

    Для этого откройте файл wp-config.php ( находится в корневой директории) и добавьте строчки ( сделайте копию файла):

    В первой строке число указывает количество черновиков, во второй строчке промежуток между сохранениями в секундах.

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

    Оптимизируем WordPress — работа с памятью

    Пожалуй, только новичку не известно, что WordPress потребляет много ресурсов. Об оптимизации движка WordPress я уже не раз писал. К примеру, свежеинсталлированный WordPress жрет 25-30 мб памяти. Количество запросов к БД составляет 16 с главной страницы и около 25 со страниц и разделов. А если ко всему этому еще добавить плагины, WP и вовсе превращается в громоздкую машину.
    Но при помощи умелых рук и этой инструкции вы сможете снизить потребление памяти в 10 раз, нагрузку на БД в запросах более чем в 8-9 раз, а генерация станет стабильной в районе 0.1-0.5 секунд. Сейчас мои блоги потребляют не более 3-4 мб памяти, количество запросов к БД с главной 3, с других страниц 6-9. Хотите себе такие показатели — дочитайте статью до конца.
    Оптимизация WordPress – показатели

    Для начала нам нужно замерить показатели. Об использовании специального кода я уже писал в данной статье.
    Вписываем код в footer.php нашей темы:

    запросов. секунд. Мб

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

    1.Самый доступный способ — это замена файлов локализации WordPress на облегченные версии Lite. Скачиваем архив Файлы локализации WordPress. Внутри 2 файла: ru_RU_lite.mo и ru_RU_lite.po. Копируем их в папку wp-content/languages нашего блога. Открываем wp-config.php:
    Вместо

    if (strpos($_SERVER[‘REQUEST_URI’], ‘wp-admin’)) define (‘WPLANG’, ‘ru_RU’); else define (‘WPLANG’, ‘ru_RU_lite’);

    Сохраняем и заливаем на сервер.
    Таким образом, данная манипуляция позволяет сократить потребление памяти почти на 8-9 мб.

    2. Данный способ требует наличия у вас на хостинге или сервере Eaccelerator — «ускоритель работы PHP-кода». Как установить Eaccelerator на сервер я уже писал в этой статье. При наличии Eaccelerator на хостинге потребление памяти снижается почти в 2 раза. Заплатив за различные услуги хостинга, возможно подключить Eaccelerator на виртуальный хостинг.
    Таким образом, данные два способа снизили потребление памяти WordPress`ом с 30 мб до 4х.

    3. Отключение обновлений позволяет снизить потребление памяти в среднем на 200-300 кб.
    Открываем файл update.php в папке wp-includes, листаем до конца. В конце видим 13 строк (в версии 3.3.2), начинающихся на add_action. Перед каждой строкой ставим решетку и сохраняем, как показано на рисунке ниже.

    Блокировка обновления WordPress

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

    Оптимизация памяти и запросов в wordpress

    О памяти в wordpress

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

    Чтобы уменьшить потребляемую wordpress память я по стопам Макса делал прямой перевод wordpress 2.6.5 и wordpress 2.9, которыми, в принципе, доволен. Жесткий перевод движка позволял сократить 3-4 Мб оперативной памяти и позволял генерировать страницу немного быстрее, но терялся потенциал мультиязычности. Простым пользователям, далеким от всех этих «интернет штучек», достаточно сложно установить/обновить wordpress самостоятельно, хотя лично я считаю, что это того стоит!

    Сергеем Бирюковым был написан плагин, который позволяет не так хорошо, как в прямом переводе, но в значительной мере решить проблему затрат памяти на локализацию. Он написал очень полезный плагин Pure PHP Localization, который позволяет уменьшить потребление памяти на 2-3 мб в wordpress. Кроме того плагин также сокращает память, потребляемую файлами локализациями плагинов и темы, т.е. чем небольше у вас на блоге плагинов, с русской локализацией, тем ощутимее будет прирост.

    Я решил не распространять и полностью отказаться от распространения прямого перевода wordpress 2.9. Т.к. реализованный Сергеем способ является «из коробки». Т.е. не требует от пользователя никаких телодвижений. Просто поставил и активировал в админке. Разница в памяти между этими способами небольшая и она того не стоит.

    ru_RU_lite

    Этот способ скорее всего всем известен и уже давно широко применяется — использование облегченных файлов локализации ru_RU_lite.
    В родном файле локализации ru_RU содержится перевод всего движка и плагина akismet (я им не пользуюсь, поэтому файл локализации можно сократить файл на несколько десятков строк). На самом сайте многие строки файла локализации, которые используются в админке не нужны, но они занимают память не принося пользы. Чтобы такого не происходило используется файл перевода ru_RU_lite, который содержит только необходимые строки перевода и весит в разы меньше. Это позволяет сократить порядка 1 Мб памяти, все зависит от настроек хостинга и тд. Также можно сделать с файлами локализации плагинов (в шаблоне стоит просто переименовать файл локализации).

    В сборки Ивана Калинина (Lecactus) файл ru_RU_lite уже есть в дистрибутиве и в файле wp-config.php есть все нужные строки, которые позволяют использовать облегченный перевод. Нужно просто эти строки(у) раскомментировать.

    Если у вас нет файлов ru_RU_lite.po и ru_RU_lite.mo в директории wp-contentlanguages то скачать файлы облегченного перевода можно здесь или найти на сайте Ивана Калинина и в файле wp-config.php вместо

    Показатели на моем локалхосте до применения вышеописанных методов

    Php eaccelerator

    Установка на хостинге php eaccelerator позволяет уменьшить потребляемую wordpress память в несколько раз. У меня на VDS Php eaccelerator уменьшил показатель потребляемой памяти в 9 раз. Блог потребляет всего 1,5 Мб памяти.
    Сказать точно и грамотно я не могу за счет чего идет такой прирост, думаю, если интересно, то можно узнать на проекте Php eaccelerator о принципах работы. Кто разбирается в php, думаю, подскажут правильно, точно и понятно, что там происходит.

    Запросы в wordpress

    Есть два пути уменьшения запросов к БД:
    1) Полностраничное кэширование.
    2) Кэширование запросов

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

    Для получения информации о кэшировании запросов в wordpress идем тоже к Владимиру Колесникову. Я писал об этом этом замечательном плагине, который позволяет очень сильно уменьшить количество запросов к базе данных. На чистом wordpress 2,9 с дефолтным шаблонов количество запросов к БД снижается с 19 до 3. Спасибо Владимиру! Чем ни больше плагинов у вас установлено и чем ни больше запросов к БД делает ваш шаблон, тем более ощутимая экономия получается.

    Запросы в премиум шаблонах

    Основным источников дополнительных запросов являются в большей степени плагины, но шаблоны тоже делают «лишнии» запросы к БД.
    В премиум темах для wordpress бывает такое, что на странице настроек темы в админке можно сделать различные настройки, что, в принципе, удобно для простых пользователей. Но часто каждая опция реализована в виде отдельного запроса get_option(‘name_option’), где 1 поле соответствует 1 значение, что порой является причиной лишних обращений к БД и делает БД немного «солиднее». Можно объединить все значения в массив и сохранить результат в 1 поле. Т.к. образом для того чтобы вынуть все нужные настройки темы производиться только 1 запрос к БД, то что запрос немного «тяжелее», думаю можно пренебречь. Из 2х зол выбираем меньшую.

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

    Снижаем потребление памяти WordPress

    Одна из главных проблем WordPress — это достаточно высокое потребление памяти сервера. На некоторых хостингах это может стать проблемой (к iHead это, к счастью, не относится 🙂 ). Пару лет назад небезызвестный Lecactus предложил своё решение этой проблемы — использование так называемой lite-русификации, которая подразумевает подгрузку полного языкового файла только в админке WordPress, а на фронтенде (т.е. собственно на сайте, который видят пользователи) используется урезанный языковой файл, существенно урезанный.
    При этом в wp-config.php вносятся следующие изменения:

    if (strpos($_SERVER[‘REQUEST_URI’], ‘wp-admin’)) define (‘WPLANG’, ‘ru_RU’); else define (‘WPLANG’, ‘ru_RU_lite’);

    Разумеется, при таком подходе набор языковых файлов ru_RU_lite для вашей версии WordPress должен лежать в папке wp-content/languages .
    Такой подход позволяет сократить потребление памяти на 3-5 Мбайт (в зависимости от версии движка).

    Но возможен и более кардинальный подход к оптимизации WordPress. Собственно, его идею мне подсказал именно подход Lecactus’а. Точнее — конструкция условия, добавляемая в wp-config.php . Я подумал: а что если вовсе не подгружать русский язык для пользовательской части? Благо, при работе над шаблонами я полностью вычищаю все функции локализации, заменяя их на собственный код, использующий требуемые языковые конструкции (зачастую — более сложные, чем позволяет использовать сам WordPress). Сказано — сделано. Сокращаем код в файле конфигурации (в сравнении с lite-версией) до следующего:

    if (strpos($_SERVER[‘REQUEST_URI’], ‘wp-admin’)) define (‘WPLANG’, ‘ru_RU’);

    Результат — экономия ещё 3-5 Мбайт по сравнении с lite-версией, и примерно 7-10 Мбайт для полновесного русского WordPress. Довольно неплохо. Используя этот метод в дополнение к объектному кэшированию, я скоратил потребление памяти на некоторых сайтах с WordPress 3.0 до 3-4 Мбайт (при использовании 7-10 плагинов) или 12-15 Мбайт (при использовании большего числа плагинов).

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

    как создать сайт на wordpress, настроить и оптимизировать wordpress

    Мониторинг производительности вашего wordpress сайта

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

    1. Плагин P3 (Plugin Performance Profiler).

    Он анализирует активные плагины на вашем сайте и показывает, как они влияют на время загрузки вашего сайта.

    Стоит отметить, что в основном скорость загрузки сайтов снижается из-за переизбытка установленных плагинов (у большинства пользователей количество установленных плагинов колеблется в районе 15-25 шт.) или из-за плохой их настройки (например, во многих многофункциональных плагинах можно отключить часть их функций).

    Сведения о данном плагине на основе wordpress.org:

    Последнее обновление: 2012-12-6

    Загрузок: 98,134 – прилично!

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

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

    2. Плагин WP System Health

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

    1. System (Система) – базовая информация сервера и использование памяти;
    2. PHP – наиболее важные параметры конфигурации PHP, которые влияют на работу WordPress;
    3. WordPress – некоторые важные параметры работы движка wordpress;
    4. Translation (Перевод) – показывает все загруженные и используемые языковые файлы (также стоит упомянуть, что в wordpress существует следующая проблема: в оригинальном файле русской локализации ru_RU блога на WordPress содержится перевод всего движка Вордпресс, включая админку и некоторые WP плагины. Но при создании вебстраниц WP блога локализация админки совсем не нужна, а т.к. используется единый файл локализации для WordPress, то получается, что в памяти висит несколько мегабайт совершенно ненужной информации (локализация админки Вордпресс) – данную проблему можно решить с помощью плагина WPLANG Lite для WordPress)
    5. Database (База данных) – текущий статус использования баз данных

    Сведения о данном плагине на основе wordpress.org:

    Последнее обновление: 2013-1-26
    Количество загрузок: 46,272 – хороший показатель!

    3. Плагин GTmetrix

    Данный плагин WordPress активно отслеживает WP параметры загрузки сайта и посылает вам предупреждение, если ваш сайт падает ниже определенных критериев.

    Последнее обновление: 2013-1-11
    Скачиваний: 10655 – средненько.

    4. Плагин Hosting Monitor

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

    Сведения о данном плагине на основе wordpress.org:

    Последнее обновление: 2011-12-7
    Скачиваний: 1954 – скромно.

    Если ваша База данных слишком сильно разрослась, то ее можно оптимизировать с помощью плагина WP-Optimize, который удаляет ревизии записей, автоматически сохраненные черновики, удаляет спам комментарии, сжимает БД вашего сайта, что конечно же приведет к уменьшению места, занимаемого на хостинге.

    Сведения о плагине WP-Optimize на основе данных wordpress.org:

    Последнее обновление: 2011-12-30
    Загрузки: 356,850 – отличный показатель!

    О данном плагине я рассказывал в своей предыдущей статье: “База данных в wordpress…”

    5. Платный плагин Performance Optimizer Plugin

    Плагин самостоятельно оптимизирует ваш веб-сайта на WordPress и отслеживает динамику улучшения.

    Что он делает?:

    • оптимизирует базу данных;
    • организует систему кэширования;
    • осуществляет . Htaccess оптимизации;
    • применяет GZIP;
    • создает технологию “отложенной (ленивой) загрузки” для изображений;
    • оптимизирует JavaScript;
    • минимизирует CSS файлы;

    Скачать данный плагин можно со следующего сайта:

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

    Свежие настройки wp-config, о которых вы, скорее всего, не слышали

    Файл wp-config.php – самый любимый для одной части пользователей и самый отпугивающий для другой.

    Существуют бесчисленное множество советов и подсказок в разных статьях, связанных с wp-config; однако данная статья будет несколько отличаться от всех них. В данной статье мы познакомим вас с восемью новыми приемами wp-config, которые менее известны, нежели функциональность, связанная с отключением ревизий, увеличением лимита памяти и т.д.

    Не забудьте сделать бэкап вашей сборки! Советы в данной статье не меняют каких-либо значений в базе данных и не затрагивают никаких файлов (кроме wp-config, естественно), поэтому вы можете просто загрузить себе копию вашего файла wp-config.php, чтобы впоследствии вернуться к начальному варианту, если вдруг что-то пойдет не так. Лучше предохраниться, чем потом кусать локти – активные бэкапы всегда хороший вариант!

    1. Задание дефолтной темы для новых WordPress сборок с помощью WP_DEFAULT_THEME

    Допустим, вы – фрилансер, занимающийся веб-дизайном (или агентство по веб-дизайну), который использует собственную WordPress-тему для почти всех своих клиентов. Представьте себе, что вам не нужно всякий раз при создании новой сборки WordPress менять тему с «Twenty-очередной_номер» на «Классную базовую тему». Разве это не прекрасно?

    Отлично, вы можете это сделать с помощью константы WP_DEFAULT_THEME:

    Вы можете задаться вопросом: «Каким образом я установлю дефолтную тему путем редактирования файла wp-config.php, если этот файл создается в процессе установки WordPress?» Превосходный вопрос, однако мы не будем менять файл wp-config.php в данном случае: вместо этого мы вставим код прямо в файл wp-config-sample.php!

    Я не говорю сейчас о редактировании и переименовании файла, как это происходило в 2006, нет, достаточно только отредактировать файл и сохранить его: WordPress способен обнаруживать изменения и дополнения в файле wp-config-sample.php (за исключением учетных данных БД), и использовать их в процессе установки свежей копии WordPress.

    Классно, правда? Я не нашел страниц, на которых бы упоминался данный совет (я сам обнаружил эту методику совершенно случайно), поэтому данное руководство будет первым, в котором раскрывается подобная техника.

    2. Отключение возможности автоматического обновления в WordPress с помощью AUTOMATIC_UPDATER_DISABLED

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

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

    3. Включение корзины для медиа-файлов с помощью MEDIA_TRASH

    Возможно, вы тоже сталкивались с тем, что случайно удаляли важный медиа-файл. Я тоже делал это, пока не наткнулся на следующую константу:

    Задайте ее, и вы больше никогда не столкнетесь с проблемами при удалении медиа-файлов – за малым исключением: если вы не отключали возможность корзины вообще путем задания константы EMPTY_TRASH_DAYS в «0».

    Будьте аккуратны с этим.

    4. Пропускаем директорию wp-content в ходе обновления с помощью CORE_UPGRADE_SKIP_NEW_BUNDLED

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

    Поскольку WordPress очень гибок, и я не единственный, кого раздражает такая проблема, мы можем воспользоваться опцией, позволяющей пропустить директорию wp-content в процессе обновления.

    Благодаря этому процесс обновления будет проходить немного быстрее. Конечно, выгода будет не более секунды, но все же…

    5. Разрешаем загрузки любых файлов в WordPress для администраторов с помощью ALLOW_UNFILTERED_UPLOADS

    В WordPress существуют ограничения на типы файлов, которые могут быть загружены в медиа-библиотеку. Вы не можете загружать ничего кроме изображений, документов, аудио и видео файлов – и это прекрасно с точки зрения безопасности. Однако как быть, если вы – независимый разработчик программ, и хотите загрузить новые релизы вашего софта? Разве вам нужно всякий раз использовать FTP-клиент?

    Конечно же, нет, ведь вы можете просто задать константу ALLOW_UNFILTERED_UPLOADS:

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

    6. Динамическое определение WPLANG для многоязычных сайтов

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

    Для начала вам нужно будет создать файл wp-lang.php и заполнить его следующим кодом, после чего сохранить его в ту же папку, в которой находится ваш файл wp-config.php:

    Теперь в файле wp-config.php меняем строку с определением WPLANG на следующую строку:

    Вуаля! Ваши посетители теперь могут менять язык вашей темы и панели администратора, просто щелкнув по кнопке с URL-параметром lang=fr_FR.

    7. Задаем свой WordPress.com API-ключ как константу с помощью WPCOM_API_KEY

    Если вы используете плагин, который требует для своей работы WordPress.com API-ключ (как, к примеру, Jetpack или Akismet), и поддерживаете много разных сайтов на WordPress, то в таком случае вы, возможно, сталкивались с проблемой ввода данного ключа всякий раз при установке данного плагина.

    Есть и более простой способ. Вы можете определить свой API-ключ в файле wp-config.php в виде константы:

    Проверьте, есть ли у других ваших плагинов данная возможность. Плагины, как SlideDeck и Gravity Forms, также поддерживают задание своих API-ключей в виде констант.

    8. Переопределение разрешенных HTML-тегов с помощью CUSTOM_TAGS

    В WordPress существует функция wp_kses(), которая, как утверждает Кодекс, проверяет тот факт, что в $string присутствуют только разрешенные HTML-элементы, имена атрибутов и значения атрибутов, а также нормальные HTML-объекты.

    Вы можете отредактировать эти правила с помощью фильтров:

Ссылка на основную публикацию