
WPML for WooCommerce 5.5.3 — リンク処理の改善など
WCML 5.5.3 は、カテゴリーページやアカウントページからショップページのリンクに至るまで、言語間でのリンクの動作に焦点を当てています。また、さまざまなユーザビリティの向上も含まれています。
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」も提供されます。これにより、モードを切り替えることなく、いつでもワンクリックで完全な同期を実行できます。

完全同期が無駄な処理を行っている場合の通知。「完全同期」のままにしている場合、実際の変更なしに多くの処理が行われた保存を監視します。そのパターンが見られた場合、モードの切り替えを提案します。この通知は大規模な商品でのみ表示されます。バリエーション数 × 言語数 ≥ 120というしきい値を使用しています。それ以下の場合、コストは目立たないため、通知は表示されません。

エディタスコープ同期は、WooCommerceの商品エディタからの保存にのみ影響します。これは遅さを感じる画面です。
以下の動作は変更されません。
翻訳者のワークフローは影響を受けません。
アップデート後、WPML → 設定 → WCMLに移動します。「Variation translation sync on product save」オプションが表示されます。これを「Only sync variations edited in the editor」に切り替え、「変更を保存する」をクリックします。

任意の商品を保存し、保存後の通知が表示されることを確認します。
RedisやObject Cache Proのような永続的なオブジェクトキャッシュを使用している方は多くいます。これらのキャッシュを使用している場合、このアップデート後、多くのレビューがある商品ページの読み込みが著しく速くなります。
WCMLが商品レビューのキャッシュを処理する方法を変更しました。以前は、商品の表示ごとにオブジェクトキャッシュの一部をクリアしていました。現在は、クリアするのではなく、オブジェクトキャッシュと連携して機能します。
WCMLはこれまで、ログインしている買い物客が訪問するすべてのページでカートの合計を再計算していました。これには、商品ページ、アカウントページ、ショップのアーカイブが含まれていました。カートについて何も変更されていない場合でも発生していました。
このリリースからは、通貨、為替レート、またはカートの内容が実際に変更された場合にのみ再計算を行います。それ以外のページでは、WCMLは干渉しません。
WooCommerceはすでに、各ショッピングセッションの開始時にカートの更新リクエストを1回発行しています。このリクエストにより、ミニカートは正確に保たれます。
WCMLはすべてのページの読み込みで2回目のリクエストを発行していました。カートが空の場合でも発行されていました。
5.5.6では、その2回目のリクエストがなくなりました。バックグラウンドのリクエストが減り、サーバーの負荷が軽減されます。
翻訳された商品ギャラリー画像の処理方法を簡素化しました。
以前は、この処理が2回行われていました。1回目は商品が保存または翻訳されたときです。そして2回目はすべてのページビューのときでした。ページビュー時の処理は削除されました。商品を翻訳したときに保存されたデータが、信頼できる唯一の情報源として扱われるようになりました。
サイトでの結果は同じです。より少ないクエリで実現できます。
何百ものバリエーションを持つ単一の商品ページでの読み込みが非常に遅いという報告がいくつかありました。調査したところ、WooCommerce 10.4.xには独自のパフォーマンスの問題があり、それが遅延を大幅に増幅させていました。その後、WooCommerce 10.7でこの問題は修正されています。
ストアでこの現象が見られる場合は、WCML 5.5.6とともにWooCommerce 10.7以降にアップデートしてください。それが最も早い解決策です。
一部のストアでは、商品がまだ翻訳されていない場合、セカンダリ言語がデフォルト言語にフォールバックするように設定しています。そのようなストアでは、翻訳されていない商品のバリエーションがドロップダウンから消えてしまうことがありました。現在は表示されたままになります。設定通り、デフォルト言語にフォールバックします。
すでに翻訳されている商品に新しい属性を追加したとします。翻訳されたショップページの属性で絞り込みのカウントにその変更が反映されることを期待するでしょう。しかし、このリリースまでは反映されませんでした。元の言語のショップは更新されていましたが、翻訳されたショップは更新されていませんでした。
WCMLは、属性を翻訳に同期した後、適切なWooCommerceキャッシュをクリアするようになりました。これにより、両方のショップが一致した状態を保ちます。
同じページに[currency_switcher]ショートコードを複数回配置できます。たとえば、ヘッダーとフッターの両方に配置する場合などです。以前は、読み込みスピナーは最後のスイッチャーにのみ表示されていました。このリリースからは、顧客が通貨を変更したときにすべてのスイッチャーに表示されるようになりました。
WooCommerce 10.8は2026年5月26日火曜日にリリースされる予定です。これに対してWCML 5.5.6のテストを行いました。私たちのリリースはその翌日に合わせています。インストールするバージョンは、リリースされたWooCommerceのビルドに対して検証済みのものです。
いつも通り、このリリースは段階的に展開しています。すぐにアップデートしたい場合は、以下の手順を実行します。
ストアでのエディタスコープ同期の動作について、ぜひご意見をお聞かせください。特に、多くのバリエーションと多くの言語を持つ大規模なカタログをお持ちの場合に関心があります。以下のコメント欄に記入するか、サポートフォーラムでチケットを開いてください。測定結果をお知らせください。