この記事は、Improving WooCommerce Performance at Scale (Beau Lebens • Oct 1, 2025)の日本語訳です。Roadmap Insightsの記事の一部です。
この1年間、私たちのチームと貢献者コミュニティは、WooCommerce のパフォーマンス向上に絶え間なく注力してきました。大まかに言えば、これはサイトのフロントエンドでのインタラクションから、ストアを管理する際の管理画面、そして舞台裏で起こる基本的なプロセスに至るまで、すべてを高速化することを意味します。
この1年間のほぼすべてのリリースで、あなたのストアに真のパフォーマンス改善がもたらされました!その過程で、私たちがどのように進捗を測定しているかを説明し、いくつかの典型的な改善点をお見せし、そして将来のパフォーマンス最適化の計画を説明することが役立つかもしれないと考えました。
パフォーマンスについての考え方
ストア全体のパフォーマンスには多くの変数が寄与する可能性があります。WooCommerce 自体はもちろんのこと、有効になっている拡張機能、ホスティングの質、ストアの規模、そして追加の統合やカスタマイズなどが挙げられます。
各ストアはユニークであり、パフォーマンスの問題は特定の構成や組み合わせでしばしば発生します。私たちは、広く適用可能な標準と、WooCommerce がプラットフォームレベルで実際に影響を与えることができるものに焦点を当てています。フロントエンドのパフォーマンスに関する一般的なフレームワークの1つは、Google の Web Vitals に見られます。これは、ウェブ全体のサイトパフォーマンスを評価するために使用されます。
これらすべてのインタラクションは、ページの読み込み中の買い物客の印象だけでなく、カートやチェックアウトプロセス、さらにはバックエンドのストア管理体験にも関わってきます。
- Time to First Byte (TTFB) はサーバーの応答時間を示しますが、ネットワーク接続の側面も TTFB に影響します。ストアとのインタラクションには、通常、サーバーへの複数回のアクセスと Woo の堅牢な API セットを経由する移動が必要なため、ストアのTTFBを低く保ち、標準的なページの読み込みだけでなく他のリクエストに対しても処理時間をできるだけ短くすることが重要です。
- First Contentful Paint (FCP) は、ナビゲーションが開始された後、ブラウザがテキストや画像などの最初の可視コンテンツをどれだけ速くレンダリングするかを示し、Largest Contentful Paint (LCP) は、メインコンテンツ(通常はヒーロー商品画像、特集バナー、またはメインの商品グリッド)が表示されるタイミングを測定します。これは多くの場合、顧客が実際に買い物を開始できる瞬間です。
- 私たちは、Cumulative Layout Shift (CLS) を介して視覚的な安定性を測定し、動的に読み込まれるコンテンツがページ上の要素を飛び回らせないようにしています。
- Interaction to Next Paint (INP) は、ユーザーが商品コレクションをフィルタリングしたり、カートに商品を追加したりするなどのアクションを実行したときに、ストアがどれだけ応答性が高いかを測定します。
これらの指標の組み合わせは、典型的なWooストアのパフォーマンスのより包括的な全体像を作成するのに役立ちます。この1年間、私たちはライブストアデータとラボの結果、そしてコミュニティからの逸話的なデータを組み合わせて監視し、各リリースで測定可能な改善を繰り返すのに役立ててきました。
最近のコアパフォーマンスの改善
パフォーマンスに最も影響を与えた変更の1つは、WooCommerce 8.2 で導入された High Performance Order Storage (HPOS) です。まだストアを HPOS に移行していない場合は、今がその時です。HPOS と互換性のない人気の Woo 拡張機能に出会った場合は、私たちにご連絡ください。その開発者と協力して、新しい Woo ストアの標準に準拠していることを確認できるようにします。
HPOS の開始以来、私たちの焦点はストア全体のパフォーマンス指標を改善することにあり、複数のパフォーマンスエピックが WooCommerce と WordPress の改善を概説しています。以下は、私たちの貢献者が焦点を当ててきた分野のほんの一部です。
- より高速な管理画面。 WooCommerce 9.8 までに、最も遅い管理リクエストの上位10件の平均読み込み時間を15%削減するという初期目標を達成し、51.9%という大幅な減少を記録しました。また、ページごとの初期平均時間を83.5%削減しました。そのリリースでは、JavaScript のサイズが73%小さくなり(221KB → 60.2KB)、注文画面だけで読み込まれる総リソースが26%削減されました。
- ブロックパフォーマンスの向上。 今年初め、ブロック登録を最適化して WordPress がブロックの読み込みに費やす時間を短縮する方法について投稿しました。また、新しい商品ブロックを使用するブロックテーマに対して、レガシースクリプトが読み込まれないようにしました。現在、すべての商品ブロックを WordPress コアデータ API を活用するように移行しており、ブロックエディタ内での一貫性とパフォーマンスを向上させています。
- 最適化されたセッションとキャッシュ。 よりスマートなキャッシュ、非同期データ読み込み、およびよりスリムなデータベースクエリを通じて、重要なページの読み込み時間を最大95%削減しました。セッション管理も進化し、不要なデータベースの肥大化を防ぎます。その他の改善点としては、カートページから nocache ヘッダーを削除したこと、拡張機能のプラグイン互換性宣言を遅延読み込みにしたこと、WooPayments を含む決済プロバイダーがキャッシュされたデータを読み込めるように PaymentInfo クラスを改善したことなどが挙げられ、これによりチェックアウト速度が最大4倍になる可能性があります。エッジキャッシュを増やすための将来の改善に関する私たちの議論にご参加ください。
- パフォーマンスの高いフロントエンドの対話性。 カートとチェックアウトブロックは、10.1と10.2でプログレッシブレンダリングが強化され、レイアウトシフトを減らし、不要なコンポーネントを排除しました。Woo はまた、カルーセル、ギャラリー、商品コレクションブロックですでに使用されている WordPress Interactivity API の開発もサポートしています。ベータ版の iAPI 搭載ミニカートをテストすることもできます。これにより、ストアのフロントエンドの大部分で React への依存がなくなり、どこでも読み込み時間が短縮されます。
大小さまざまなストアで最もパフォーマンスの低いネットワークリクエストを監視することで、私たちは最も広範囲にわたるボトルネックを引き続きターゲットにしています。WooCommerce 10.1 および 10.2 の最近のラボテストでは、WooCommerce 10.0 から TTFB スコアが最大約9%低下している(これは良いことです!)ことが確認されました。これは、この1年間の WooCommerce コアにおける反復的なパフォーマンス改善のほんの一例にすぎませんが、作業はコアプラグインだけで終わるわけではありません。
エコシステムとの連携
WooCommerce コアは、パフォーマンスストーリーの一部にすぎません。人気の WooCommerce Marketplace にある1,000以上の拡張機能を含む、高度な機能と統合を提供するテーマと拡張機能を通じて、コアエクスペリエンスを強化できます。
Marketplace の拡張機能は、厳格な自動テストプロセスを経て、開発者が Woo ストアの複雑な相互運用性のニーズに関連する問題やバグを特定するのに役立ちます。このプロセスの一部は、管理されたテスト、E2Eテスト、および使い捨てのローカルテスト環境を備えた WooCommerce プラグインおよびテーマ用のテストプラットフォームである Quality Insights Toolkit(QIT)によって処理されます。QIT テストスイートは、アクティベーション、PHP 互換性、セキュリティなど、多くの分野に焦点を当てています。現在、パフォーマンススイートの実装にも取り組んでいます。
自動テスト中、QIT は堅牢なデータセットを持つ大規模なサンプルストアを生成し、k6 フレームワークを活用して、販売者側(商品の更新や注文など)から買い物客の視点(カートの更新やチェックアウトの完了など)まで、一般的なユーザーワークフローをテストできます。これらのテストはまだ初期段階にあり、今後数週間で Marketplace 拡張機能のすべての開発者に展開したいと考えています。
しかし、すべてが自動化されているわけではありません。パフォーマンスチームは、より人気のあるWooCommerce拡張機能の一部を手動で監査し、ユーザーに影響を与えている可能性のある一般的なパフォーマンスの問題やバグをチェックすることにも時間を費やしています。改善の機会を発見するにつれて、フィードバック、提案、パッチ、またはプルリクエストを添えてそれらの開発チームに連絡しています。最近の例としては、コアWordPress関数を活用するためのより良いアプローチの共有や、エッジキャッシュのパフォーマンスを向上させるCookieの処理方法の変更などがあります。
フィードバックのお願い
WooCommerceが繁栄し続けているのは、それが提供する完全な自由のおかげです。その同じ自由は、すべてのストアが比較的にユニークであることを意味し、パフォーマンス改善の評価と実行のためにラボデータだけに頼っていては、すべての問題に対処できません。実際、最近のパフォーマンス最適化の多くは、コミュニティの貢献と、私たちと経験を共有してくれた開発者の直接の結果でした。
私たちは常にパフォーマンスのエッジケースと改善方法を探していますので、Woo Community Slackに参加するか、GitHubでissueを開いて、あなたの実世界の例を私たちと共有してください。
用語解説
- WooCommerce (ウーコマース): WordPress(ウェブサイトやブログを作成するための人気のプラットフォーム)上で動作する、eコマース(電子商取引)サイトを構築するためのプラグイン(拡張機能)です。
- フロントエンド (Frontend): ウェブサイトで、ユーザーが直接見て操作する部分(デザイン、レイアウト、ボタンなど)を指します。
- 管理画面 (Admin interface): ウェブサイトの所有者や管理者が、商品の追加、注文の確認、設定の変更などを行う、裏側の管理用ページのことです。
- Web Vitals (ウェブバイタル): Googleが提唱する、ウェブサイトの快適さを示すための重要な指標群です。
- TTFB (Time to First Byte): ユーザーがページにアクセスしてから、サーバーから最初のデータが届くまでの時間。これが短いほど、ページの表示が早く始まります。
- FCP (First Contentful Paint): ページにアクセスしてから、何かしらのコンテンツ(テキストや画像など)が最初に表示されるまでの時間。
- LCP (Largest Contentful Paint): ページ内で最も大きなコンテンツ(メイン画像など)が表示されるまでの時間。ユーザーが「ページが読み込まれた」と感じる目安になります。
- CLS (Cumulative Layout Shift): ページの読み込み中に、レイアウトがどれだけ予期せずズレるかを示す指標。広告などが後から読み込まれて、クリックしようとしたボタンがずれる、といった現象を防ぐために重要です。
- INP (Interaction to Next Paint): ユーザーがボタンをクリックしたり、メニューを開いたりといった操作をしてから、画面が反応するまでの時間。これが短いほど、サイトがサクサク動いていると感じられます。
- High Performance Order Storage (HPOS): WooCommerceの注文データを、より高速に処理できるように最適化された新しい保存方式のことです。
- ブロックテーマ (Block themes): WordPressの新しい編集機能「ブロックエディタ」に完全に対応したテーマ(ウェブサイトのデザインテンプレート)のことです。
- キャッシュ (Caching): 一度アクセスしたウェブページのデータを一時的に保存しておく技術。次に同じページにアクセスした際に、保存したデータを読み込むため、表示が高速になります。
- 非同期データ読み込み (Asynchronous data loading): ページの読み込みを止めずに、裏側でデータを読み込む技術。これにより、ユーザーはページの他の部分を操作しながら、データの読み込みを待つことができます。
- エッジキャッシュ (Edge caching): ユーザーの地理的に近い場所にあるサーバーにウェブサイトのデータをキャッシュ(一時保存)する技術。物理的な距離が近くなるため、データの転送が速くなります。
- Interactivity API (インタラクティビティ API): WordPressに導入されている、よりリッチで高速なユーザーインタラクション(操作)を簡単に実装するための仕組みです。
- エコシステム (Ecosystem): WooCommerce本体だけでなく、それを取り巻く拡張機能、テーマ、開発者コミュニティなどを含めた、全体の環境や仕組みのことです。
- PHP: WordPressやWooCommerceを動かしている、サーバーサイドのプログラミング言語の一種です。
- プルリクエスト (Pull requests): ソフトウェア開発(特にGitHubなどのプラットフォーム上)で、自分が行ったコードの変更を、元のプロジェクトに取り込んでもらうように依頼することです。

