WPML

Мы только что выпустили WPML Multilingual & Multicurrency for WooCommerce 5.5.6. В этом релизе основное внимание уделено производительности. Он решает одну из самых частых проблем, о которых мы слышим от владельцев магазинов. Сохранение вариативного товара в редакторе WooCommerce происходило медленно, если в Вашем каталоге много вариаций и много языков. Этот релиз исправляет данную проблему.

Почему сохранение вариативных товаров было медленным

Когда Вы сохраняете товар, WPML Multilingual & Multicurrency for WooCommerce (WCML) синхронизирует каждый перевод с оригиналом. Эта работа охватывает цены, атрибуты, запасы, вариации и другие связанные данные.

На сайте с одним товаром и одним языком эта работа незаметна. В магазине со 100 вариациями на 7 языках то же самое сохранение незаметно выполняет сотни обновлений базы данных. Большинство из этих обновлений касаются данных перевода, которые на самом деле не изменились.

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

WCML 5.5.6 меняет это.

Новое: режим синхронизации в рамках редактора

Мы добавили новую настройку Variation translation sync on product save. У нее есть два режима.

Полная синхронизация (по умолчанию, без изменений)

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

Полная синхронизация остается по умолчанию после обновления. Ваш сайт не изменится, если Вы не выберете иное.

Синхронизация в рамках редактора (новое, по желанию)

В этом режиме сохранение из редактора WooCommerce синхронизирует только те вариации, которые Вы действительно изменили.

Мы провели тестирование на товаре с 9 вариациями, переведенными на 19 языков, измерив полный цикл сохранения — от нажатия кнопки Сохранить до момента, когда редактор снова становится доступен для работы. При обновлении только описания товара доля WCML + WPML снизилась с 2,08 с до 1,42 с, то есть на 32%. Это не повлияло на WooCommerce и WordPress. Общее время сохранения сократилось с 5,52 с до 4,86 с — улучшение на 12% в целом.

Время обработки при обновлении товара

Гистограмма, отображающая данные о времени обработки, необходимом для обновления товара

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

Как насчет вариаций, которые Вы не трогали?

Мы знаем, что это первый вопрос. Существуют две меры предосторожности.

Уведомление после сохранения. Когда включена синхронизация в рамках редактора, при каждом сохранении Вам будет показываться уведомление. В нем указано, сколько вариаций было пропущено. Оно также предоставляет кнопку для действия в один клик: Force update all variation translations. Таким образом, полная синхронизация всегда доступна в один клик, и Вам не нужно переключать режимы для этого.

Уведомление, отображаемое после сохранения вариативного товара — WCML напоминает, какие вариации были синхронизированы

Подсказка, когда полная синхронизация выполняет лишнюю работу. Если Вы остаетесь на Полной синхронизации, мы отслеживаем сохранения, которые выполнили много работы без фактических изменений. Когда мы видим такую закономерность, мы предлагаем переключить режим. Подсказка появляется только для крупных товаров. Мы используем порог: вариации × языки ≥ 120. Ниже этого значения затраты ресурсов незаметны. Мы Вас не беспокоим.

Предупреждение, отображаемое после сохранения вариативного товара — WCML указывает на потраченные впустую ресурсы и предлагает лучший вариант

Где применяется синхронизация в рамках редактора

Синхронизация в рамках редактора влияет только на сохранения из редактора товаров WooCommerce. Это тот самый экран, где Вы чувствуете замедление.

Она не влияет на:

  • Панель управления переводами
  • Переводить все автоматически
  • Импорт CSV, вызовы API и другие программные способы редактирования товаров
  • Фоновую синхронизацию после того, как сервис перевода возвращает задание

Рабочие процессы переводчиков не затрагиваются.

Как включить синхронизацию в рамках редактора

После обновления перейдите в WPMLНастройкиWCML. Вы увидите опцию Variation translation sync on product save. Переключите ее на Only sync variations edited in the editor и нажмите Сохранить изменения.

Настройка новой опции «Variation translation sync on product save» в настройках WCML

Сохраните любой товар, чтобы убедиться в появлении уведомления после сохранения.

Дополнительные улучшения производительности

Страницы товаров загружаются быстрее в магазинах с объектным кешированием

Многие из Вас используют постоянный объектный кеш, такой как Redis или Object Cache Pro. С этими кешами страницы товаров с большим количеством отзывов будут загружаться заметно быстрее после этого обновления.

Мы изменили то, как WCML обрабатывает кеш отзывов о товарах. Ранее он очищал часть Вашего объектного кеша при каждом просмотре товара. Теперь он работает совместно с Вашим объектным кешем, а не очищает его.

Расчеты в корзине выполняются только при изменениях

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

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

Более чистое поведение мини-корзины

WooCommerce уже отправляет один запрос на обновление корзины в начале каждого сеанса покупок. Этот запрос поддерживает актуальность мини-корзины.

WCML отправлял второй запрос при каждой загрузке страницы. Он срабатывал даже тогда, когда корзина была пуста.

В версии 5.5.6 этого второго запроса больше нет. Меньше фоновых запросов. Меньше нагрузки на Ваш сервер.

Меньше работы с переведенными изображениями товаров

Мы упростили обработку переведенных изображений галереи товаров.

Ранее эта работа выполнялась дважды. Один раз при сохранении или переводе товара. Затем снова при каждом просмотре страницы. Этап при просмотре страницы был удален. Данные, сохраненные при переводе товара, теперь считаются достоверным источником.

Результат на Вашем сайте останется прежним. Но для его достижения потребуется меньше запросов.

Страницы крупных вариативных товаров: совместите это обновление с последней версией WooCommerce

Некоторые из Вас сообщали об очень медленной загрузке страниц отдельных товаров с сотнями вариаций. Мы провели расследование. В WooCommerce 10.4.x была собственная проблема с производительностью, которая значительно усиливала замедление. В WooCommerce 10.7 она была исправлена.

Если Вы сталкивались с этим в своем магазине, обновитесь до WooCommerce 10.7 или более новой версии вместе с WCML 5.5.6. Это самый быстрый путь к решению проблемы.

Полезные исправления

Вариации теперь используют язык по умолчанию в качестве резервного

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

Обновление счетчиков фильтров на переведенных страницах магазина

Вы добавляете новый атрибут к товару, который уже переведен. Вы ожидаете, что счетчики Фильтр по атрибутам на переведенной странице магазина отразят это изменение. До этого релиза этого не происходило. Магазин на исходном языке обновлялся. Переведенный магазин — нет.

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

Индикаторы загрузки переключателя валют на каждом переключателе

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

Совместимость с WooCommerce 10.8

Выход WooCommerce 10.8 запланирован на вторник, 26 мая 2026 года. Мы протестировали WCML 5.5.6 на совместимость с ним. Наш релиз приурочен к следующему дню. Устанавливаемая Вами версия — это та самая версия, которую мы проверили на выпущенной сборке WooCommerce.

Обновление и отзывы

Как обычно, мы развертываем этот релиз постепенно. Если Вы хотите обновиться прямо сейчас:

  1. В админ-панели Вашего сайта перейдите в ПлагиныДобавить новый плагин. Откройте вкладку Коммерческие.
  2. Нажмите Проверить обновления.
  3. В списке появится WPML Multilingual & Multicurrency for WooCommerce 5.5.6. Выполните обновление оттуда.

Мы будем рады узнать, как синхронизация в рамках редактора работает в Вашем магазине. Нам это особенно интересно, если у Вас большой каталог с множеством вариаций и языков. Оставьте комментарий ниже или создайте запрос на нашем форуме поддержки. Расскажите нам о Ваших результатах.

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