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

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

заменяем строку

define ('WPLANG', 'ru_RU');

на следующую:

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 Мбайт (при использовании большего числа плагинов).

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

Добавить комментарий

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