商品ページの構造化データとは?価格・在庫の記述例と確認方法

商品ページの構造化データは、商品名・価格・在庫をGoogleへ伝える記述です。単品商品のJSON-LD例、テストとURL検査、値下げ・売り切れ時の照合方法を説明します。AI検索で必須ではない点も確認します。
商品ページに「3,300円・在庫あり」と表示していても、その内容をGoogleが同じように読み取れているかは、画面を見ただけでは分かりません。そこで確認したいのが、商品ページの構造化データです。
この記事は、日本の通販サイトで商品情報を管理する担当者に向けたものです。HTMLの変更は、編集権限を持つ実装担当者が行う前提で進めます。確認日は2026年9月23日です。
商品ページの構造化データとは
商品ページの構造化データは、商品名・価格・在庫などを、Googleが読み取りやすい決まった形式でページに書き添える情報です。 商品そのものは Product、販売条件は Offer という型(情報の種類を表す名前)で表します。[1]
Googleはこの情報を使い、検索結果で価格や在庫、送料などを見せることがあります。ただし、正しく書いても表示は保証されません。[1][3]
対象になるのは、買い物客がそのページで商品を買えるページです。他の店へ案内するだけのページや、商品を評価するレビュー記事は、「商品スニペット」という別の条件を確認します。[1][2]
ここからは説明用の架空の店を例にします。白いマグカップを1個税込3,300円で売り、商品番号は MUG-WH-01、在庫はありとします。
AI検索で商品の構造化データは必須か
GoogleのAIによる概要やAIモードに出るために、商品の構造化データを特別に追加する必要はありません。 Googleは、これらのAI機能に追加の技術要件はなく、特別なschema.orgの構造化データも不要だと説明しています。[4]
一方で、Googleは通常のSEOの基本として、「構造化データをページに見えている文章と一致させる」「Merchant Centerの情報を最新にする」ことを挙げています。[4]
つまり、AI検索のために新しく何かを足すより、今ある商品情報を食い違わせないことが大切です。
この説明はGoogle検索のものです。ChatGPTなど他社のAIが商品の構造化データをどう扱うかは、ここでは確認していません。AIによる概要そのものの位置付けは「SGEは「AIによる概要」に。以前の対策は今も使える?」で説明しています。
ProductとOfferに価格・在庫を記述する
単品商品なら、Productに商品名・画像・商品番号を、その中のOfferに現在の価格・通貨・在庫を書きます。 Googleの販売者向けの説明では、name・image・offers が必須です。Offerでは price と priceCurrency が必須で、価格は0より大きい必要があります。[1]
次は説明用に作ったJSON-LD(HTMLに埋め込む書き方の一つ)です。URLや値は架空で、送料と返品条件は省いています。
<script type="application/ld+json">
{
"@context": "https://schema.org/",
"@type": "Product",
"name": "白いマグカップ",
"image": ["https://example.com/images/mug-wh-01.jpg"],
"sku": "MUG-WH-01",
"offers": {
"@type": "Offer",
"url": "https://example.com/products/mug-wh-01",
"priceCurrency": "JPY",
"price": 3300,
"availability": "https://schema.org/InStock"
}
}
</script>
実装担当者と確認するときは、次の対応表を使うと話がそろいます。
| ページで見えるもの | JSON-LDの項目 | 照合する相手 |
|---|---|---|
| 商品名 | name |
商品ページの見出し |
| 商品画像 | image |
ページに載せた同じ商品の画像 |
| 商品番号 | sku |
商品管理の登録内容 |
| 販売価格 3,300円 | price と priceCurrency |
ページの販売価格 |
| 在庫あり | availability |
ページと実際の販売状態 |
availability は在庫の状態を表し、在庫の個数ではありません。売り切れなら https://schema.org/OutOfStock など、Googleが挙げる値から一つだけ選びます。[1]
Googleの公式例にはレビューや星の評価が入っていますが、自社にないレビューは書きません。偽のレビューや、ページに見えていない内容を書くことはガイドラインで禁じられています。[3]
送料は shippingDetails で商品ごとに書けます。ただし、Googleは店全体の送料ルールを会社情報(Organization)側にまとめる方法を推奨しています。[1]
色・サイズ違いの商品は別の記述で扱う
色やサイズで価格や在庫が変わる商品は、単品の例をそのまま使わず、ProductGroupを使った書き方にします。 ProductGroupで親の商品をまとめ、hasVariant で各色・サイズのProductを並べ、variesBy で何が違うか(例:color、size)を示します。[5]
Googleは、各バリエーションに sku などの固有のIDを付けることと、各バリエーションをURLで直接選べるようにすることを求めています。[5]
例えば白と青のマグカップで在庫が違うなら、白の「在庫あり」を青にも当てはめないようにします。
商品構造化データのテストとURL検査
公開前はリッチリザルトテストで重大なエラーを直し、公開後はSearch ConsoleのURL検査でGoogleからの見え方を確かめます。 これはGoogleが示している順番です。[1]
- 実装担当者が、自社の値に置き換えたコードをリッチリザルトテストで検査します。重大なエラーが出たら直し、もう一度検査します。
- まず少数の商品ページだけを公開します。
- サイトを確認できる担当者が、Search ConsoleのURL検査に、公開した商品ページのURLを入力します。robots.txt、noindex(検索結果に出さない設定)、ログイン要求でページが止められていないかを見ます。
- 問題がなければ、再クロール(もう一度読みに来てもらう依頼)をします。Googleが見つけて読み込むまで数日かかることがあります。[1]
公開後は、Search Consoleの販売者向けリスティングのレポートで、エラーや警告が増えていないかも見られます。[1]
ただし、テストに通っても3,300円が本当の販売価格かまでは分かりません。最後は人が商品ページと並べて照合します。[3]
値下げ・売り切れ時に価格と在庫をそろえる
値下げや売り切れのたびに、商品ページ・構造化データ・Merchant Centerの三つを同じ日に照合します。 Googleは構造化データに最新の情報を求めており、古くなった情報はリッチリザルトとして表示しないとしています。[3]
セール価格を見せたい場合は、現在の価格を price に書き、元の価格は priceSpecification の中で priceType を https://schema.org/StrikethroughPrice にして書きます。セール期間は validFrom と priceValidUntil などで示せます。[1]
Merchant Centerにも商品データを送っている店は、そちらも確認します。Googleは、ページの構造化データとMerchant Centerの両方を用意すると対象になる表示が広がり、表示によっては二つを組み合わせて使うと説明しています。[2]
送料や返品の設定が複数の場所にある場合は、Merchant Centerに送った商品単位のデータが、ページ上の記述より優先されます。[1] ページだけ直して終わりにしないようにします。
次は照合記録の記入例です。日付と値はすべて説明用の仮定です。
| 変更日 | 変更内容 | ページ表示 | JSON-LD | Merchant Center | 結果 |
|---|---|---|---|---|---|
| 10月1日 | 値下げ | 2,970円 | 2970 |
2,970円 | 一致 |
| 10月8日 | 売り切れ | 在庫なし | OutOfStock |
在庫切れ | 一致 |
まずは自社の商品ページを一つ選び、表示価格とJSON-LDの price が同じかを確かめてください。値下げ後に価格が食い違ったときの調べ方は「Googleに出る価格が違う。値下げ後に確認したい3つの場所」で説明しています。
よくある質問
- Q. 構造化データを入れると価格が必ず検索結果に出ますか?
- 出るとは限りません。Googleは、正しく書いてテストに通っても構造化データを使った表示は保証しないと説明しています。
- Q. Merchant Centerに送っていれば構造化データは不要ですか?
- 併用できます。Googleは両方を用意すると対象になる表示が広がると説明しています。ただし価格や在庫が食い違わないよう、両方を同じ日に照合します。
- Q. AIによる概要に出るために特別な記述は必要ですか?
- Googleは、AIによる概要やAIモードに追加の技術要件や特別なschema.orgの記述は不要と説明しています。構造化データとページの表示を一致させることが基本です。
出典・参考データ
- [1] Merchant listing (Product, Offer) structured data (Google Search Central) — 取得 2026-09-23
- [2] Introduction to Product structured data (Google Search Central) — 取得 2026-09-23
- [3] General structured data guidelines (Google Search Central) — 取得 2026-09-23
- [4] AI features and your website (Google Search Central) — 取得 2026-09-23
- [5] Product variant structured data (ProductGroup, Product) (Google Search Central) — 取得 2026-09-23
この記事を書いた人
水島 翔吾株式会社kairos 代表取締役 / AgentSignal 開発者
AI クローラー・AI 流入計測と AIO 診断ツール AgentSignal を開発。実測データを元に AI 検索時代の計測と対策を書いています。
関連記事

AIによる販売・予約
Googleに出る価格が違う。値下げ後に確認したい3つの場所
商品ページを値下げしたのにGoogleには古い価格が出る場合、商品ページ・Googleへ渡した商品情報・セール条件を比較します。架空の記入例を使い、修正する場所の選び方と、修正後の承認状態の確認方法を説明します。
公開

AIO・AI検索対策
AI Overviews(AIによる概要)とは?旧SGE対策の見直し方
AI Overviews(AIによる概要)は、Google検索に表示されるAIの要約です。旧SGEとの関係、AIモードとの違い、表示に追加要件がない理由、以前の対策の見直し方、Search Consoleの生成AIレポートでの確認方法を説明します。
公開

AIによる販売・予約
AIで作った商品名、そのままGoogleに登録して大丈夫?
生成AIで作った商品名は、内容の確認に加えて商品データの指定が必要です。架空の水筒を例に、商品を識別できる名前、structured_titleの記入内容、登録方法ごとの確認点を説明します。
公開




