WPML

WPML Multilingual & Multicurrency for WooCommerce 5.5.6をリリースしました。このリリースはパフォーマンスに焦点を当てています。ストア所有者から最も頻繁に寄せられる苦情の1つに対処するものです。カタログに多数のバリエーションと多数の言語が含まれる場合、WooCommerceエディタでのバリエーションのある商品の保存が遅くなる問題がありました。このリリースでは、その問題を修正しています。

バリエーションのある商品の保存が遅かった理由

商品を保存すると、WPML Multilingual & Multicurrency for WooCommerce(WCML)はすべての翻訳を元の言語と同期させます。この処理には、価格、属性、在庫、バリエーション、およびその他の関連データが含まれます。

単一商品、単一言語のサイトでは、この処理は目に見えません。しかし、7言語で100個のバリエーションを持つストアでは、同じ保存処理がバックグラウンドで何百ものデータベース更新を実行します。これらの更新の大部分は、実際には変更されていない翻訳データに対するものです。

これは安全性の保証としては理にかなっていました。同期がずれることがないよう保証されていたからです。しかし同時に、タイプミスの修正にも、まったく新しい商品をインポートするのと同じコストがかかることを意味していました。大規模なカタログを持つストアはこれを実感しており、多くの方からご指摘をいただきました。

WCML 5.5.6ではこれを変更します。

新機能:エディタスコープ同期モード

Variation translation sync on product save」という新しい設定を追加しました。これには2つのモードがあります。

完全同期(デフォルト、変更なし)

WCMLはこれまで通りの動作を維持します。保存するたびに、すべての言語のすべてのバリエーションが同期されます。これは、翻訳が元の言語と一致し続けることを保証する最も強力な方法です。

アップグレード後も完全同期がデフォルトのままです。別の設定を選択しない限り、サイトの動作は変更されません。

エディタスコープ同期(新機能、オプトイン)

このモードでは、WooCommerceエディタから保存する際、実際に編集したバリエーションのみが同期されます。

19言語に翻訳された9つのバリエーションを持つ商品でテストを行い、「保存」をクリックしてからエディタが再び使用可能になるまでの完全な保存サイクルを測定しました。商品の説明のみを更新した場合、WCMLとWPMLの処理時間は2.08秒から1.42秒に短縮され、32%削減されました。WooCommerceとWordPressには影響ありませんでした。全体の保存時間は5.52秒から4.86秒になり、全体で12%の改善が見られました。

商品の更新にかかる処理時間

商品の更新に必要な処理時間のデータを示す棒グラフ

結果はWooCommerce、テーマ、ホスト、およびその他のプラグインによって異なります。大規模なカタログと多くの言語を持つストアで最大の効果が得られます。

変更しなかったバリエーションの扱い

これが最初の疑問になることは承知しています。これには2つのセーフティネットがあります。

保存後の通知。エディタスコープ同期がオンの場合、保存するたびに通知が表示されます。スキップされたバリエーションの数が一覧表示されます。また、ワンクリックのボタン「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」に切り替え、「変更を保存する」をクリックします。

WCML設定で新しい「Variation translation sync on product save」オプションを設定する

任意の商品を保存し、保存後の通知が表示されることを確認します。

その他のパフォーマンスの改善

オブジェクトキャッシュを使用するストアでの商品ページの読み込みの高速化

RedisやObject Cache Proのような永続的なオブジェクトキャッシュを使用している方は多くいます。これらのキャッシュを使用している場合、このアップデート後、多くのレビューがある商品ページの読み込みが著しく速くなります。

WCMLが商品レビューのキャッシュを処理する方法を変更しました。以前は、商品の表示ごとにオブジェクトキャッシュの一部をクリアしていました。現在は、クリアするのではなく、オブジェクトキャッシュと連携して機能します。

変更があった場合にのみ実行されるカートの計算

WCMLはこれまで、ログインしている買い物客が訪問するすべてのページでカートの合計を再計算していました。これには、商品ページ、アカウントページ、ショップのアーカイブが含まれていました。カートについて何も変更されていない場合でも発生していました。

このリリースからは、通貨、為替レート、またはカートの内容が実際に変更された場合にのみ再計算を行います。それ以外のページでは、WCMLは干渉しません。

ミニカートの動作のクリーン化

WooCommerceはすでに、各ショッピングセッションの開始時にカートの更新リクエストを1回発行しています。このリクエストにより、ミニカートは正確に保たれます。

WCMLはすべてのページの読み込みで2回目のリクエストを発行していました。カートが空の場合でも発行されていました。

5.5.6では、その2回目のリクエストがなくなりました。バックグラウンドのリクエストが減り、サーバーの負荷が軽減されます。

翻訳された商品画像の背後での処理の削減

翻訳された商品ギャラリー画像の処理方法を簡素化しました。

以前は、この処理が2回行われていました。1回目は商品が保存または翻訳されたときです。そして2回目はすべてのページビューのときでした。ページビュー時の処理は削除されました。商品を翻訳したときに保存されたデータが、信頼できる唯一の情報源として扱われるようになりました。

サイトでの結果は同じです。より少ないクエリで実現できます。

大規模なバリエーションのある商品ページ:このアップデートと最新のWooCommerceの組み合わせ

何百ものバリエーションを持つ単一の商品ページでの読み込みが非常に遅いという報告がいくつかありました。調査したところ、WooCommerce 10.4.xには独自のパフォーマンスの問題があり、それが遅延を大幅に増幅させていました。その後、WooCommerce 10.7でこの問題は修正されています。

ストアでこの現象が見られる場合は、WCML 5.5.6とともにWooCommerce 10.7以降にアップデートしてください。それが最も早い解決策です。

役立つ修正

バリエーションがデフォルト言語にフォールバックするように

一部のストアでは、商品がまだ翻訳されていない場合、セカンダリ言語がデフォルト言語にフォールバックするように設定しています。そのようなストアでは、翻訳されていない商品のバリエーションがドロップダウンから消えてしまうことがありました。現在は表示されたままになります。設定通り、デフォルト言語にフォールバックします。

翻訳されたショップページでのフィルターカウントの更新

すでに翻訳されている商品に新しい属性を追加したとします。翻訳されたショップページの属性で絞り込みのカウントにその変更が反映されることを期待するでしょう。しかし、このリリースまでは反映されませんでした。元の言語のショップは更新されていましたが、翻訳されたショップは更新されていませんでした。

WCMLは、属性を翻訳に同期した後、適切なWooCommerceキャッシュをクリアするようになりました。これにより、両方のショップが一致した状態を保ちます。

すべてのスイッチャーでの通貨切り替えスピナー

同じページに[currency_switcher]ショートコードを複数回配置できます。たとえば、ヘッダーとフッターの両方に配置する場合などです。以前は、読み込みスピナーは最後のスイッチャーにのみ表示されていました。このリリースからは、顧客が通貨を変更したときにすべてのスイッチャーに表示されるようになりました。

WooCommerce 10.8との互換性

WooCommerce 10.8は2026年5月26日火曜日にリリースされる予定です。これに対してWCML 5.5.6のテストを行いました。私たちのリリースはその翌日に合わせています。インストールするバージョンは、リリースされたWooCommerceのビルドに対して検証済みのものです。

アップデートとフィードバック

いつも通り、このリリースは段階的に展開しています。すぐにアップデートしたい場合は、以下の手順を実行します。

  1. サイトの管理画面で、プラグイン → 新規プラグインを追加に移動します。「商用」タブをクリックします。
  2. 更新を確認」をクリックします。
  3. リストにWPML Multilingual & Multicurrency for WooCommerce 5.5.6が表示されます。そこからアップデートします。

ストアでのエディタスコープ同期の動作について、ぜひご意見をお聞かせください。特に、多くのバリエーションと多くの言語を持つ大規模なカタログをお持ちの場合に関心があります。以下のコメント欄に記入するか、サポートフォーラムでチケットを開いてください。測定結果をお知らせください。

この記事が役に立ちましたか?この記事を共有: