Product Review Schema 設定ガイド:Shopifyで星評価をGoogleに表示する(2026年版)
Product、Review、aggregateRatingの入れ子マークアップが、Googleに星評価を表示する鍵です。Shopifyストア向けのすぐに使えるセットアップ手順と、無効化につながるよくある間違いをまとめました。
商品の星評価に必要なスキーマタイプは何ですか?
必要なのは3つのタイプを入れ子にした構造です。Productは商品そのものを表します。その中にReviewが1件のレビュー(投稿者、評価、本文)を格納し、aggregateRatingが集計情報(平均スコアとレビュー数)を格納します。GoogleはProductを親として読み取り、他の2つをその配下のプロパティとして認識します。
常に3つすべてが必要なわけではありません。特定のレビューを強調表示するだけならreviewのみで構いません。多くのレビューの集計から星評価を表示するにはaggregateRatingが必要です。多くのストアでは両方を使います。aggregateRatingは星のリッチスニペットに、少なくとも1件のReviewは数値の根拠となる実際の声を示すために必要です。
- Product:親タイプ。最低限nameが必要です。星評価はこのタイプに紐づきます。
- aggregateRating:ratingValue(平均値)とreviewCountまたはratingCountが必要です。
- Review:author、reviewRating(ratingValueを含む)、レビュー本文が必要です。
- 5段階以外の評価スケールを使う場合は、reviewRatingにbestRatingの指定が必要です。
JSON-LDで3つのスキーマタイプを入れ子にする方法は?
JSON-LDのscriptは1つにまとめ、トップレベルに"@type": "Product"を記述します。nameを指定したうえで、"aggregateRating"オブジェクトと"review"プロパティ(複数ある場合は配列)を追加します。aggregateRatingオブジェクトにはratingValueとreviewCountを、各reviewオブジェクトにはauthor、ratingValueを持つreviewRating、レビュー本文を記述します。
構造はツリー形式であり、フラットなリストではありません。Productが幹、aggregateRatingとreviewが枝です。両者をProductの波括弧の内側に配置することで、Googleはそれらが同じ商品に属するものとして読み取ります。1つの商品に対して1つのProductノードを用意し、評価とレビューをその内側に入れ子にしてください。
レビューはページ上に表示されていなければなりませんか?
はい。Googleは、マークアップしたレビューと評価が同じページで閲覧者に見える状態であることを求めています。4.8の平均評価をマークアップしながらレビューを一切表示しない、あるいはマークアップした数値が実際にページに表示されている内容と一致しない場合は、構造化データの違反となり、リッチスニペットが非表示になるかページへの警告が発生します。
これはShopifyのセットアップで多くのストアが気づかずに犯しているルール違反です。テーマはJSON-LDブロックに平均評価を出力しますが、実際のレビューはページ読み込み後にJavaScriptウィジェットで表示されます。顧客には問題なく見えても、GoogleにはマークアップされたURLに対して表示されるコンテンツが存在しません。スキーマとページ上のレビューは同じデータであり、ページのHTMLに直接レンダリングされている必要があります。
マークアップできないレビューはどれですか?
自社ブランドへの自己評価的なレビューは、商品の星評価リッチスニペットの対象外です。自社ストアや自社ブランドへのレビューをマークアップしても、商品ページの星評価としては表示されません。商品の星評価は、そのページの商品を購入した顧客によるレビューを対象としており、企業への感謝や自社サービスへの評価は対象外です。
具体的には、いくつかの一般的な方法が使えません。「ご利用のお客様より」というお客様の声セクションを商品レビューとしてマークアップすること、自社ブランドや自社サービスについて書かれたレビューをマークアップすること、そしてストア全体の平均評価を各商品ページに使い回すことが該当します。各評価は必ず、閲覧している商品ページの対象商品に、その購入者から寄せられたものとして紐づけてください。
- 対象:そのページの特定の商品に対する顧客レビュー。
- 対象外:自社ブランドや自社ストアへのレビューを商品の星評価として表示すること。
- 対象外:ストア全体の平均評価を各商品ページで使い回すこと。
- 要注意:同じページで閲覧者に見える状態であることを証明できないレビュー。
Shopifyではスキーマをどこに記述すればよいですか?
Shopifyでは、商品テンプレートがJSON-LDを出力します。多くのテーマはすでに基本的なProductブロックを持っており、レビューアプリがそこにaggregateRatingを挿入するか、独立したブロックとして出力するケースが一般的です。目標は、1つの商品ページに1つのクリーンなProductノードを持ち、評価をその内側に入れ子にして、ページに表示されているレビューと一致させることです。
課題は、平均評価がレビューアプリから来て、ProductスキーマはテーマからHTMLに出力されるという構造上の分離にあります。アプリがレビューをクライアントサイドでレンダリングする場合、表示されるレビューとマークアップされた評価がずれることがあり、あるいはHTMLにレビューが全く含まれないこともあります。正しい設定は、平均値と表示されているレビューを同一の出所から管理し、両者が乖離しないようにすることです。
よくあるバリデーションエラーはどのようなものですか?
どの商品ページも、Googleのリッチリザルツテストと構造化データテストで確認してから信頼してください。エラーは短いリストにまとめられ、ほとんどは値が欠落しているか、ページに表示されていない内容をマークアップしていることが原因です。
まずエラー(赤)を修正してください。これらはリッチスニペットの表示をブロックします。警告(黄)はあれば望ましい項目ですが、それ単独では星評価を止めません。テーマやアプリを更新するたびに再テストしてください。アプリのアップデートによってブロックが静かに書き換えられることがあります。
- "aggregateRating"または"review"が欠落している:Googleに星評価の根拠となるデータがない。
- Productに"name"がない:星評価が紐づく対象がない。
- ページにレビューが表示されていないのにratingValueがある:コンテンツ表示ルールの違反。
- レビューがHTMLに含まれていない:ウィジェットがクロール後に読み込んだため、マークアップが何も指していない。
正しいスキーマ設定に必要な要件は何ですか?
3つの要素がそろっている必要があります。正しい入れ子構造、すべての必須フィールドへの値の入力、そしてマークアップと一致するレビューがページ上に表示されていること。Product、Review、aggregateRatingを正しく入れ子にし、必須フィールドを埋め、マークアップしたレビューがページのHTMLに存在して表示されていることを確認してください。
Shopifyにおける難しさは、JSON-LDの書き方そのものではなく、レビューがウィジェット内に存在していてHTMLに含まれないという点にあります。多くのレビューアプリはページを閲覧する顧客のために作られており、そこで止まっています。マークアップが参照するレビューが実際のHTMLにレンダリングされている状態を実現することが、BeyondReviewsが解決しようとしている課題です。
- ReviewとaggregateRatingは両方必要ですか?
- 星評価のリッチスニペットにはaggregateRatingが必要です。星評価は平均値と件数から生成されるためです。少なくとも1件のReviewを追加することが推奨されています。数値の背後に実際の声があることで、スコアだけの状態よりも信頼性が増します。両方とも同じProductの内側に入れ子にします。
- スキーマがバリデーションを通過しているのに星評価が表示されないのはなぜですか?
- ほとんどの場合、レビューがページ上に表示されていないことが原因です。バリデーションはJSON-LDの形式を確認するものであり、レビューが閲覧者に表示されているかどうかは確認しません。レビューがページ読み込み後にJavaScriptウィジェットで表示される場合、マークアップは通過してもコンテンツ表示ルールを満たせず、Googleがリッチスニペットを非表示にします。
- 自社ストアへのお客様の声を商品レビューとしてマークアップできますか?
- できません。自社ブランドへの自己評価的なレビューは商品の星評価リッチスニペットの対象外です。商品の星評価は、そのページの特定の商品に対する顧客レビューを対象としており、企業への感謝コメントやブランドへの評価は対象外です。ブランドへの感謝の声を商品レビューとしてマークアップすると、リッチスニペットが無効になります。
- ShopifyはProduct Review Schemaを自動的に追加しますか?
- 部分的には対応しています。多くのテーマは基本的なProductブロックを出力し、レビューアプリがaggregateRatingを挿入することが一般的です。課題は、表示されているレビューがクライアントサイドのウィジェットで動作している場合、マークアップされた評価の背後にページ上のコンテンツが存在しなくなることです。レビューがページのHTMLに含まれているかどうかを確認する必要があります。