WPML

Мы подготовили бета-версию WPML 3.5. Этот релиз включает значительные улучшения модуля Перевод строк, как в плане функциональности, так и производительности.

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

Более быстрый и легкий Перевод строк


Чтобы переводить строки, WPML должен загружать перевод из базы данных. Мы экспериментировали с различными методами загрузки, и, похоже, подход в WPML 3.5 является безоговорочным победителем.

В предыдущих релизах мы пробовали:

  • Только переводы, именно тогда, когда они нужны
  • Предварительно загружать все строки по контексту
  • Предварительно загружать все строки из базы данных

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

В WPML 3.5 используется новый подход к предварительной загрузке переводов строк. Он сохраняет дополнительную таблицу, которая сообщает WPML, какие строки нужны для каждой страницы. Затем он предварительно загружает именно те строки, которые нужны для этой страницы, независимо от того, к какому контексту они относятся. Очевидным преимуществом этого является то, что предварительно загружается меньше строк, и во время рендеринга страницы не нужно загружать никаких строк. В результате значительно снижается как потребление памяти, так и загрузка процессора. Недостатком этого нового подхода является небольшой новый PHP-код, который отслеживает, какая строка где используется. Этот дополнительный код работает очень быстро благодаря выделенному доступу к БД и кешированию, которые мы для него разработали.

Прирост производительности, который Вам следует ожидать, зависит от различных факторов:

  • Количество строк на Вашем сайте — чем больше у Вас строк, тем больше пользы (теперь предварительно загружается относительно меньше строк).
  • Версия PHP на сервере — PHP 7 намного эффективнее, чем PHP 5.6. Если Вы все еще используете PHP 5.x, Вы получите гораздо более значительный прирост производительности, но Вы почувствуете его и на PHP 7.
  • Количество других работающих плагинов, объем контента, тема оформления и т. д. — очевидно, что если на Вашем сайте есть другой медленный код, улучшение модуля Перевод строк будет не таким значительным.

Для нашего собственного сайта WPML.org мы получили следующие улучшения производительности:

Версия PHPСтраницаЭкономия потребления памятиЭкономия загрузки процессора
PHP 5.6 Главная60%41%
Консоль администратора41%33%
PHP 7 Главная50%16%
Консоль администратора33%15%

Другим важным улучшением в WPML 3.5 является возможность переводить ссылки в строках (автоматически). Что это значит и зачем это Вам нужно?

Мы используем «строки» для многих разных вещей. Например, если Ваша тема оформления сохраняет «вводный» текст главной страницы в «параметре», WPML будет использовать для него Перевод строк. До сих пор Вам приходилось отслеживать строки с URL-адресами и вручную адаптировать их к переведенному контенту. Если ссылок много, это может быть очень утомительной задачей.

Теперь WPML обрабатывает ссылки в модуле Перевод строк так же, как он обрабатывает ссылки в «записях» (записях, страницах и пользовательских типах). Когда Вы переводите любую строку, содержащую какую-либо ссылку, эта ссылка автоматически корректируется, чтобы указывать на переведенный контент. Я напишу отдельную запись в блоге, в которой покажу, как это работает с нашим плагином Toolset Layouts.

Обновление от 2 августа

Привет, мы нашли еще один источник очень значительной потери времени в админ-панели. Он банален, и с ним следовало разобраться еще давно. В админ-панели WordPress есть «виджет WPML», который, вероятно, больше никому не нужен. Этот виджет извлекает контент из многих мест в БД, а также последние записи блога с сайта wpml.org. Его удаление позволит избавиться от ряда обращений к БД, а также от потенциально медленных внешних запросов.

Мы занимаемся этим виджетом (удаляем его) и проверяем все внешние вызовы, чтобы убедиться, что они не замедляют Ваш сайт.

Скачайте и попробуйте


WPML 3.5 сейчас проходит контроль качества (QA). Мы уже полностью протестировали изменения в модуле Перевод строк, но предстоит еще многое проверить, прежде чем мы сможем выпустить эту версию как рабочий релиз.

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

Пожалуйста, помните, что это бета-версия, поэтому пробуйте ее только на сайтах для разработки (а не на рабочих сайтах).

Эта бета-версия доступна только владельцам учетных записей «Multilingual CMS», так как она в основном посвящена улучшениям модуля Перевод строк.

Войдите в свою учетную запись WPML и перейдите в раздел загрузок (Downloads). Прокрутите вниз и скачайте CMS Beta Package. Распакуйте и загрузите в WordPress все компоненты WPML, которые Вы используете.

Отзывы?


Дайте нам знать, как эта версия работает у Вас, оставив комментарии здесь. Если Вы столкнулись с проблемой, начните новую тему на форуме поддержки WPML И оставьте здесь комментарий с кратким описанием и ссылкой на эту тему.

Мы с нетерпением ждем Ваших отзывов, вопросов, идей и предложений!

Считаете это полезным? Поделитесь этой статьей: