最終確認:2026年10月。

多くの静的書き出しツールはWooCommerceをあきらめています。理由はもっともで、ストアは常に変化するからです。価格はセールで変わり、在庫は売り切れ、訪問者ごとにカートがあります。しかし顧客を呼び込むページ——商品ページ、カテゴリ、コンテンツ——は誰に対しても同じです。そこは静的にでき、個人的・取引的な部分はWordPressに残します。

ストアの静的化が難しい理由

  • 価格と在庫が変わるため、書き出した時点で固まったページは誤った価格を表示したり、在庫切れの商品を売ったりしかねません。
  • カートは訪問者ひとりのもの。WooCommerceはCookieで識別するセッションにカートを保存します。
  • 決済では支払いを処理し、決済サービスとやり取りします。これらはWordPressに届く必要があります。
  • マイアカウントにはログインした顧客自身の注文が表示されます。

静的にできるもの、動的に残すもの

ページ・操作静的にできる?方法
商品ページできる速度とSEOのために静的HTML、その上でライブの価格と在庫を読み込む
ショップ・カテゴリページできる商品ページと同じ
ブログ・ガイド・LPできる通常の静的ページ
カートに追加できない商品が訪問者のカートに入るようWordPressに届ける
カート・決済・マイアカウントできない常にWordPressが配信
決済サービスからのコールバックできないWordPressに直接届く必要がある

静的ページでストアを運営する3つの方法

  1. ストアは動的のまま。コンテンツだけを書き出し、商品は対象外にします。最も簡単で、Pinery Staticならproductタイプのチェックを外すだけですが、商品ページは速くなりません。
  2. 静的な商品ページ+ライブデータ。商品とショップページを書き出し、ブラウザでWooCommerceから価格と在庫を更新し、カートと決済はWordPressに残します。Pinery Static Proはこの方式です。
  3. ヘッドレス化。WooCommerceのAPIの上にJavaScriptフレームワークでストアフロントを作り直します。最も柔軟ですが、最も手間がかかります。

Pinery Static Proはどうやってストアを動かすか

  • 商品ページとショップページは、書き出し時点の価格と在庫で静的HTMLとして書き出されます。
  • 訪問者がページを開くと、小さなスクリプトがWooCommerce Store API(/wp-json/wc/store/v1、認証不要の公開API)に現在の価格と在庫を問い合わせ、書き出し時の値を置き換えます。在庫切れの商品はボタンが無効になります。
  • カート追加のフォームと?add-to-cartリンクはWordPressを直接指すので、商品は/cart/や/checkout/が表示する通常のWooCommerceカートに入ります。
  • カート・決済・アカウントのページは初期設定で書き出し対象外で、WordPressが配信します。
  • 付属のWorkerルーターをドメインで使うと、?add-to-cart、wc-ajaxリクエスト、すべてのフォーム送信がWordPressに送られます。静的ビルドにないページ——前回のデプロイ後に追加した商品を含む——も404ではなくWordPressにフォールバックします。

ストアで1つのドメインが重要な理由

WooCommerceのカートは、WordPressのドメインが設定するCookieに保存されます。静的ページがexample.com、WordPressがwp.example.comだと、顧客はカートに進む途中でアドレスが変わり、両者の間のリンクもすべて正しく保つ必要があります。両方を同じドメインで配信するルーターならこの問題はありません。静的ページもカートも決済も、1つのアドレス・1つのCookieを共有します。

テストのチェックリスト

  • WordPressで価格を変え、書き出し直さなくても静的な商品ページに新しい価格が出るか確認。
  • 商品を在庫切れにして、ボタンが無効になるか確認。
  • 静的ページからカートに追加し、カートを開いて決済まで進む。
  • カートでクーポンを適用する。
  • テスト決済をして注文ステータスが更新されるか確認(決済サービスがWordPressに届いている証拠)。
  • カート・決済・アカウントのページがCDNにキャッシュされないことを確認。

よくある質問

WooCommerceストアを完全に静的にできますか?

できません。カート・決済・アカウントのページは顧客ごとに異なり、WordPressが配信する必要があります。商品・カテゴリ・コンテンツのページは静的にできます。

顧客に古い価格が表示されませんか?

ライブ更新があれば表示されません。ページの読み込み時に、書き出した価格が現在の価格に置き換わります。カートと決済は常にWordPressで価格を計算するので、請求額は常に最新です。

Simply StaticはWooCommerceに対応していますか?

公式FAQで、ストア・決済・ログインが必要なエリアは静的サイトに向かないとしています。Pinery Static Proは、それらを静的な商品ページと並べて動かすために作られています。

静的化したストアはSEOに役立ちますか?

商品ページやカテゴリページの表示が速くなり、テーマやSEOプラグインが出力する商品の構造化データも書き出したHTMLに残ります。

出典