Прожорливость и оптимизация русификации WordPress 3 RU сравнение

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

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

Ранее, до версии 2.9.2, данную проблему исправлял файл русификации от Lecactus. На момент написания статьи актуальна версия 3.0.2, но русификатора от Lecactus все нет.

Какие есть варианты оптимизации русификации WordPress?

Погуглив на эту тему, я нашёл 2 интересных плагина «WPLANG Lite» и «Pure PHP Localization» от русского программиста Сергея Бирюкова. Протестировав эти плагины я решил поделится своими мыслями и результатами с вами. Кстати, услуга оптимизации русификации идёт в базовом комплекте услуги Блог под ключ.
Ниже, таблица с результатами тестов, в которой я сравнил прожорливость двух версий WordPress 2.9.2. и 3.0.2 и оптимизацию русификации с помощью плагинов и файла от Lecactus.

В начале краткое описание теста:

  1. Тест проводился на локальном сервере в Denwer
  2. Были загружены и установлены с одинаковыми минимальными настройками WordPress 2.9.2. и 3.0.2.
  3. Тема для тестов использовалась для 2.9.2 — Default, 3.0.2 — Twenty Ten
  4. Показатели снимались в начале без плагинов, потом подключив плагины и виджеты — Akismet + виджет, NextGen + виджет, All in One SEO Pack, TinyMCE Advanced
  5. Расшифровка аббревиатур:
    1. Стандарт, главная — главная страница сайта  без оптимизации со стандартными настройками WP.
    2. Стандарт, админка- главная страница админки сайта  без оптимизации со стандартными настройками WP.
    3. WPLL — подключён плагин WPLANG Lite
    4. PPHPL — подключён плагин Pure PHP Localization
    5. WPLLF — сгенерирован файл русификации плагином WPLANG Lite и сам плагин отключен.
WP2.9 без плагиновWP2.9 с плагинамиWP3 без плагиновWP3 с плагинами
MySQLПамятьMySQLПамятьMySQLПамятьMySQLПамять
Стандарт, главная1614,042117,291515,682018,85
Стандарт, админка1917,23020,461719,422822,7
WPLL, главная1611,072114,341512,682015,88
WPLL, админка1917,233020,481719,442822,72
PPHPL, главная1611,192114,521512,752016
PPHPL, админка1914,353017,691716,492819,73
WPLL,PPHPL, главная1610,682114,011512,192015,44
WPLL,PPHPL, админка1914,373017,711716,512819,75
WPLLF, главная1611,242113,731512,542014,96
WPLLF, админка1917,23020,461719,422822,7
WPLLF,PPHPL, главная1610,682113,181512,142215,03
WPLLF,PPHPL, админка1914,353017,691716,492819,73
Lecactus главная1611,242113,73????
Lecactus админка1917,23020,49????
Lecactus, PPHPL, главная1610,682113,16????
Lecactus, PPHPL, админка1914,353017,72????

Выводы по результату тестирования двух версий WordPress:

  1. К сожалению русификатора от Lecactus для версии WordPress 3+ еще нет. Как появится я обязательно добавлю показатели в данную таблицу.
  2. Версия WordPress 3.0.2 потребляет в среднем на 1,5 мб. памяти больше чем WordPress 2.9.2
  3. Версия WordPress 3.0.2 делает на 1-2 запроса к базе меньше чем WordPress 2.9.2
  4. Используя плагины оптимизации русификации для WordPress, скоращение потребления памяти в среднем на 3,5 мб.

Мои мысли по поводу русификации от Lecactus.

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

Расскажу как правильно подключить плагины для максимальной оптимизации русификации, по шагам:

  1. Открываем файл wp-config.php и проверяем чтобы была раскомментирована строка
    define ('WPLANG', 'ru_RU');
  2. Качаем плагины «WPLANG Lite» и «Pure PHP Localization» по данным ссылкам, но пока не подключаем.
  3. Активируем WPLANG Lite и проверяем появился ли в папке на сервере /wp -content/languages/ файл ru_RU_lite.mo. Если нет, выставтье права CHMOD на директорию /languages/ 755 или 777 и повторите активацию.
  4. После появления файла ru_RU_lite.mo деактивируем плагин WPLANG Lite.
  5. Правим файл wp-config.php, закомментировав строку:
    //define ('WPLANG', 'ru_RU');

    А вместо нее пропишите вот такую строку:

    if (strpos($_SERVER['REQUEST_URI'], 'wp-admin')) define ('WPLANG', 'ru_RU'); else define ('WPLANG', 'ru_RU_lite');
  6. Активируем плагин Pure PHP Localization

Все, на этом ваша оптимизация русификации WordPress завершена.

Для тех кто хочет поподробнее узнать или обсудить плагины, ссылки ниже:

Обсуждение плагина WPLANG Lite

Обсуждение плагина Pure PHP Localization

Если есть вопросы по оптимизации всегда рад ответить в комментариях.


Нашел ошибку в тексте? Выдели ее мышкой и нажми Система Orphus
СЛЕДИТЕ ЗА НОВОСТЯМИ Подписаться на мой Twitter
Автор:Олег МедынскийРубрика: Оптимизация блога
Разрешается перепечатка статьи с обязательным указанием открытой ссылки на источник.

КОММЕНТАРИИ К СТАТЬЕ

  1. 1.1

    Насколько я понял, этот блог не оптимизировался по этой табличке??

    Или как понимать тогда потребление которое пишется в футере??

    вот картинка где видно что при открытии этого поста было использовано 28Мб памяти :( https://skitch.com/donchenko/rdctn/2010-12-06-14.02.01

    • 1.2

      Привет, Дима.
      Этот блог оптимизирован частично. Я пока тестирую разные варианты оптимизации. Благо хостинг предоставляет кучу графиков по нагрузке. То что показывает 17 запросов и 28мб памяти это почти нормально, исходя из кучи плагинов подключённых к ВП и кучи скриптов в function.php. Русификацию здесь еще не оптимизировал . Версия ВП еще 2.9.2 с русификатором от Лекактуса.

  2. 1.3

    Олег, пункт 5 неверный. Плагин WPLANG Lite разруливает все автоматически :)

    • 1.4

      Не вижу ничего не верного. Отключите плагин и ничего происходить не будет если не править wp-config.php. Этот пункт нужен для того чтобы отключить плагин WPLANG Lite, т.к. он свою работу сделал и чтобы не занимать память его можно отключить.

      • 1.5

        Спасибо за обзор! :)

        Если на лицевой части нужен перевод каких-нибудь плагинов (для опросов и т.п.), то при внесении изменений в wp-config.php нужно также переименовывать файлы перевода этих плагинов — снова и снова после каждого их обновления.

        WPLANG Lite позволяет этого не делать, поскольку значение локали остаётся прежним. Заметного расхода памяти при этом не происходит — для загрузки облегчённого файла вместо основного используется фильтр load_textdomain_mofile.

        • 1.6

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

  3. 1.7

    >скоращение потребления
    опечатка

    Как видно из таблицы, WPLANG Lite почти не дает преимущества при уже включенном PPHPL (речь идет о килобайтах) тогда не вижу смысла включать его одновременно с PPHPL.

    Если WPLANG Lite и нужен — то только когда работает без PPHPL.

    • 1.8

      WPLANG Lite создает облегченный файл перевода.

      • 1.9

        И дальше :) Вы сказали известный факт и ничего более. Что из этого следует ?
        Я говорил, что при работающем “Pure PHP Localization” включать “WPLANG Lite” не имеет смысла. Так и по моим тестам получилось.
        И даже ваш тест это подтверждает.
        Стандарт, главная 20 18,85
        Стандарт, админка 28 22,7

        PPHPL, главная 20 16
        PPHPL, админка 28 19,73

        WPLL,PPHPL, главная 20 15,44
        WPLL,PPHPL, админка 28 19,75

        WPLLF,PPHPL, главная 22 15,03
        WPLLF,PPHPL, админка 28 19,73

        • 1.10

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

  4. 1.11

    Спасибо за график…Полезная штука )

  5. 1.12

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

    • 1.13

      Я не рекомендую использовать старые версии ВП ради оптимизации нагрузки. Одно лечит другое калечит. Эффективно снижает нагрузку на сервер не версия ВП, а оптимизация сайта и настроек хостинга.

  6. 1.14

    Спасибо за обзор, дооптимизировал свой блог.

    Один из блогов, который я делаю сейчас — ВП версия 3.хх — пока не могу сделать базовые настройки типа плагина rus-to-lat, в названии рубрики дает абракадабру. Наверное, нужно смотреть пошаговые инструкции здесь в блоге…

    • 1.15

      Плагины типа rus-to-lat не действуют на уже созданные рубрики, статьи, страницы. Только на новые. Остальное вручную. Зайдите в раздел Рубрики, нажмите Редактировать и нажмите кнопку сохранить. URL автоматом конвертируются в транслит.

  7. 1.16

    Честно, не вижу смысла в добавлении плагинов к функционалу русификации. Сами знаете, лишний плагин — лишняя прожорливость. Простейший вариант — поставить на овую версию русик от старой (того ж кактуса или другой). Потери минимальны для админа, ну % 10 будет непереведенного, лайт для фронта вообще практически можно не менять аж от 2.7.

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

    • 1.17

      :) делать каждый раз под себя mo файл после выхода новой версии? Ну ну. Желаю удачи, если времени не жалко.

  8. 1.18

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

    Делать этот файл придется 1 раз фактически (это очень долго!), а потом лишь вносить дебольшие правки в свой перевод. Но если есть идея у человека, то почему бы и нет, может быть он в корне изменит представляения об этом, а может быть, что протсо убъет пару недель времени и придет к такой же мысли, что овчинка выделки не стоила.

  9. 1.19

    Господа, извините, что немого отхожу от темы, просто приятно видеть здесь такое увлеченное русификацией сообщество — есть надежда, что именно здесь помогут :)

    Проблема следующая: делаю мультиязычный блог (3 языка — русский, английский, украинский), использую плагин WPML Multilingual CMS — русифицированную версию. Версию Вордпресса переустановила 2.9.2 русифицированный (с 3.2.1 плагин отчаянно конфликтовал, новые версии плагина теперь платные).

    В установках плагина англ.яз используется по умолчанию, русский и украинский требуют ссылку на файлы локализации (.mo). В итоге на сайте почему-то некорректно отображается именно английский язык.
    Русский и украинский — все ок. При переключении на англ. — оставались русскими виджеты «Архивы», «Страницы» и т.д.
    Ситуацию спасло именно подключение ru_RU_lite. (Закомментировала //define (‘WPLANG’, ‘ru_RU’); в wp-config и прописала в строке ru_RU_lite.mo, залила на сайт готовый ru_RU_lite.mo файл перевода из ВП 2.9.2) Не знаю как, но
    все виджеты англоязычной версии стали отображаться корректно.
    Но названия месяцев в английском архиве — все равно русские. Подозреваю, что это еще не все цветочки.
    Подскажите, плиз, что проверять и в чем может быть причина такого глюка?

    • 1.20

      Причина глюка в самих плагинах и того способа мультиязычности который они реализуют. Я одно время перепробовал большинство плагинов мультязычности и сделал вывод — нет ни одного чтобы работал без ошибок. Проблема возникала всегда либо в самом плагине либо он конфликтовал с другими плагинами.
      Мой совет, правильно делать мультиязычный ресурс не с помощью плагина а на поддоменах с установкой под каждый ресурс своего ВП.
      Плюсы:
      1. Такой сайт легко оптимизировать и продвигать в поисковиках
      2. Все работает без глюков и качественно
      3. Нагрузка на сервер меньше
      Минусы:
      1. Установка аналогичного комплекта ВП на каждый поддомен
      2. Наполнять статьями приходится для каждого языка отдельно
      Мое мнение, на поддоменах или отдельных доменах самая правильная реализация.
      Если мой ответ помог, я рад. Если вам нужно все таки решить проблему по плагину, то лучше писать в форум данного плагина на сайте wordpress.org

  10. 1.21

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

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

    а просто по-русски
    Но ведь украинские-то отображаются правильно! Значит, дело не в этом.
    Тогда в чем?

    • 1.22

      т.е. переключение внутри статьи на различные языковые ее варианты отпадают?

      Да, отпадают

      Тогда в чем?

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

  11. 1.23

    Добрая ночь :) Спасибо Олег за ваш труд и за статью в частности. Хотел бы у вас уточнить. На данный момент у вп версия 3.5.1 И есть Русский WordPress 3.5.1 Lecactus Edition. То есть лучше скачать его, чем дистрибудив с ру.вп.орг? Состав lecactus Состав этого дистрибутива:
    Оригинальный английский дистрибутив + русский языковой пакет собственного перевода
    То есть он менее прожорливый? И стоит дополнительно подключать плагины, которые вы указали в статье?

    • 1.24

      Плагины нужны для официальной русской версии WP. На перевод Лекактуса ставить плагины не имеет смысла, т.к. плагины практически делают тоже самое. Я, примерно с момента написания статьи, использую официальную русскую версию + плагины. Причины я описал в статье.

  12. 1.25

    Если бы вы выложили в таблицу (как обещали) результаты lecactus 3.хх , было бы легче. Просто не могу определится какую ставить, с ру.вп.орг или lecactus (3.5.1). Как думаете, что лучше выбрать?

  13. 1.26

    Интересная статья, спасибо.

  14.  


Ваши вопросы, замечания, пожелания и предложения, по работе сайта, пишите на E-mail.