商品構造化データで最低限確認したい項目
商品ページの構造化データ(Product)で、価格・通貨・在庫・画像・JANコードなど最低限そろえたい項目と、自分で確認する手順、制作会社への依頼文の例をまとめます。
「ネットショップを作った制作会社から『構造化データは対応済みです』と聞いている。でも検索結果に価格が出ない」——商品ページの点検でよくある場面です。対応済みと言われていても、価格の通貨や在庫状況が抜けている、画面の価格と違う値が出ている、ということは珍しくありません。 中身を一度、自分の目で確認しておく価値があります。
構造化データとは何か
構造化データは、ページの内容を検索エンジンなどの機械が読み取りやすい決まった形式で書き添えたものです。商品ページでは schema.org の Product という型を使い、多くの場合 <script type="application/ld+json"> の中にJSON-LDという形式で書きます。
人が見る画面には「税込 3,300円・在庫あり」と書いてあっても、機械はそれが価格なのか、送料なのか、ポイントなのかを確実には区別できません。構造化データは、その区別を明示するためのものです。
最低限そろえたい項目
| 項目 | 書く場所(JSON-LD) | 確認のポイント |
|---|---|---|
| 商品名 | name | 画面の商品名と同じか |
| 画像 | image | 商品そのものが写った画像のURLか(ロゴやバナーではないか) |
| 価格 | offers.price | 画面の販売価格と一致しているか。「3,300円」ではなく 3300 のように数字だけか |
| 通貨 | offers.priceCurrency | 日本円なら JPY |
| 在庫状況 | offers.availability | https://schema.org/InStock(在庫あり)や OutOfStock(在庫切れ)などの決まった値か |
| ブランド | brand | 自社商品なら自社ブランド名 |
| 商品番号 | sku | ショップ内で使っている品番 |
| JANコード等 | gtin13 など | メーカー品・仕入れ品ならJANコード(13桁なら gtin13) |
Googleのドキュメントでは、検索結果での見え方(商品スニペット、販売者リスティング)ごとに必須・推奨の項目が分かれています。細かな必須条件は変わることがあるため、実装時は公式ページを確認してください(2026年10月時点の確認に基づいて書いています)。
設定例
例として、架空のショップ example.jp の商品ページなら、次のような形になります。
{
"@context": "https://schema.org",
"@type": "Product",
"name": "手ぬぐい 藍染め 無地",
"image": "https://example.jp/images/tenugui-ai.jpg",
"sku": "TN-001",
"gtin13": "4900000000000",
"brand": { "@type": "Brand", "name": "example工房" },
"offers": {
"@type": "Offer",
"url": "https://example.jp/products/tenugui-ai",
"price": 3300,
"priceCurrency": "JPY",
"availability": "https://schema.org/InStock"
}
}
JANコードは例示用の値です。実際の値を入れてください。
自分で確認する方法
- Googleのリッチリザルト テストに商品ページのURLを入れる。「商品スニペット」や「販売者リスティング」が検出されるか、エラーや警告が出ていないかを見ます
- ページのソースを開いて
"@type": "Product"を検索する(ブラウザで右クリック →「ページのソースを表示」→ Ctrl+F/Command+F)。"price"、"priceCurrency"、"availability"が近くにあるかも確認します - 画面の表示と見比べる。価格・在庫が画面と一致しているか、セール中の商品と在庫切れの商品で特に確認します
- 1商品だけでなく数商品を見る。商品の種類(バリエーションあり・なし、在庫切れ)によって出力が変わるテンプレートがあります
Search Consoleを使っている場合は、「ショッピング」や「拡張」の欄で、サイト全体の商品ページのエラー件数を確認できます。
よくある誤解
- 「Productがあれば十分」:Productの中に価格や通貨が無いと、検索側は価格を表示できません。名前と画像だけのProductもよく見かけます
- 「価格に円記号やカンマを入れてよい」:
priceは数字で書きます。"3,300円"のような書き方は読み取りの失敗につながります - 「在庫切れでも在庫ありのままでよい」:画面と構造化データが食い違うと、検索結果の情報が実際と違ってしまいます。在庫の変更に連動して出力されているかを確認してください
- 「レビューの星は自分でつけてよい」:レビューの構造化データ(aggregateRating)は、ページ上に実際に表示しているお客様のレビューに基づくものだけにします
当サービスの診断ではこう判定します
Webサイト診断のネットショップ販売基盤診断では、サイト内で見つけた商品ページをいくつか取得し、公開されている構造化データを次のように採点します。
| 項目 | 配点 | 合格の条件 |
|---|---|---|
| 商品の構造化データ(Product) | 10点 | 確認した商品ページすべてにある(一部のみは5点) |
| 価格と通貨 | 8点 | offers.price と priceCurrency がある(価格のみは4点) |
| 在庫状況 | 5点 | availability がある |
| 商品画像の指定 | 3点 | image がある |
| ブランド・SKU・JANコード等 | 4点 | brand・sku・gtin のうち2種以上(1種は2点) |
| 送料・返品条件の構造化データ | 3点 | shippingDetails と返品ポリシーの両方(片方は1点) |
| レビューの構造化データ | 2点 | レビュー表示があり aggregateRating もある(レビュー機能が無ければ対象外) |
Productが無い場合、価格・在庫・画像・識別子の項目は「対象外」とし、二重に減点しません。商品ページそのものを確認できなかった場合は、総合点の上限を40点としています。採点基準はすべて公開しています。
直し方と依頼文の例
構造化データは、多くの場合テーマ(デザインのひな形)やショップサービスのアプリで出力されます。商品ごとに手で書くものではなく、テンプレートを1か所直せば全商品に反映されるのが普通です。
制作会社に依頼するときは、次のように伝えると話が早く進みます。
商品ページの構造化データ(JSON-LD の Product)について、次の確認と修正をお願いします。
1. offers に price(数字のみ)・priceCurrency(JPY)・availability を出力する
2. 在庫切れ・セール価格のときも、画面の表示と同じ値になるようにする
3. brand・sku に加えて、JANコードがある商品は gtin13 を出力する
4. 修正後、Googleのリッチリザルト テストで在庫あり・在庫切れの商品を1つずつ確認し、結果を共有してほしい
JANコードの管理など商品データ側の整備や、テーマの改修を含めた見直しが必要な場合は、無料のご相談からお気軽にお問い合わせください。
あわせて読みたい
- Googleのショッピング枠に出すには、ページの構造化データとは別の仕組みもあります:Google Merchant CenterとWebページの商品情報の違い
- Shopifyで作ったショップなら:Shopify商品ページを公開情報から点検する方法
- 送料・返品の書き方:ネットショップで送料・返品情報を見つけやすくする方法
自社の商品ページが今どうなっているか分からない場合は、無料のご相談ください。
よくある質問
構造化データを入れれば、検索結果に価格や星が必ず表示されますか?
いいえ。表示するかどうかはGoogleが決めます。構造化データは表示の「材料」を渡すもので、入れたから必ず表示されるわけではありません。ただし、材料が無ければ表示される機会もありません。
セール中の価格はどちらを書けばよいですか?
実際にその時点で購入できる価格を書きます。画面に表示している販売価格と構造化データの price が一致していることが大切です。
参照資料
- Google 検索セントラル:商品(Product)の構造化データ(2026.10.01 確認)
- Google 検索セントラル:構造化データの仕組みについて(2026.10.01 確認)
- schema.org:Product(2026.10.01 確認)
- schema.org:Offer(2026.10.01 確認)