お客様の声のページに星を出したくて、Review schemaを書いた。テストツールもエラーなしで通った。それなのに、検索結果には星が出てこない。

そういうところで止まったまま、この記事にたどり着いた方が多いのではないかと思います。この現象の原因は、たいていコードの中にありません。どの型に、誰が書いたレビューを載せているかという、コードの外側にあります。

この記事は、Review schemaをこれから書く方と、書いたのに星が出なくて止まっている方の両方に向けて書きました。必須プロパティとコピペ用のテンプレート、そして出ないときに何から疑うかまで、図解と会話をはさみながら進めます。

こんなふうに調べていませんか

  • 「Review schema 実装方法」で検索して、そのままコピペできるテンプレートを探している
  • 生成AIに聞いてみたが、ReviewとAggregateRatingの使い分けが分からなかった
  • 実装してテストも通ったのに、検索結果に星が出てこない理由が分からない

この記事を読み終えたときに手に入るもの

  • ReviewとAggregateRatingの役割の違いを、自分の言葉で説明できるようになります
  • 自社の情報に置き換えるだけで試せるJSON-LDが、手元に残ります
  • 星が出ないときに何から疑えばいいかが、順番で分かります

結論30秒でわかる、この記事の結論

  • Review schemaとは、画面に出ているレビュー本文と評価点を、機械が読める形で書き写す構造化データです。
  • 平均点を表すAggregateRatingとは役割が別です。同じページで組み合わせて使われることの多い関係にあります。
  • 星が出ないときは、①ページの型 ②レビューの持ち主 ③プロパティの欠けの順に疑うと絞り込めます。
星が出るまでに越える関門は3つありますコードを疑うのは、いちばん最後で大丈夫です星が出るまでに越える関門は3つあります関門1載せている型公式の対象一覧に入っているか関門2声を集めた人身内が集めたのか、外から届いたのか関門3書き漏らしここでようやくコードの話になります鈴木さんコードを疑うのは、いちばん最後で大丈夫です
星が出るまでに越える関門は3つあります — コードを疑うのは、いちばん最後で大丈夫です

この記事では、ある会社のマーケティング部の2人と、専門家の会話をはさみながら進めます。あなたに近い立場の人の質問から読んでいただいて構いません。

  • 若葉さん(Web担当2年目)— 「そもそも、それって何ですか?」を聞く役
  • 高梨課長(マーケ課長)— 「誰が、どれくらいの手間でやるんですか?」を聞く役
  • 鈴木さん(AIO/SEOの専門家・本誌監修)— 答える役

01そもそもReview schemaの実装方法は、AI対策として何のためにあるんですか?

若葉さん
若葉さんの発言

あの、そもそもなんですが「Review schema」って、何のために書くものなんでしょうか。うちにもお客様の声のページはあるんですけど…。

鈴木さん
鈴木さんの発言

いい入口ですね。ひとことで言うと、そこに出ている声を、機械が読み違えない形で書き写しておくものなんですよ。新しく評価を作る道具ではありません。

Review型は、schema.orgが定義している語彙のひとつです。Review型そのものが持つプロパティは、itemReviewed(レビューの対象)・reviewRating(評価)・reviewBody(本文)です。author(誰が書いたか)はReview型固有ではなく、上位のCreativeWorkから受け継いでいます。

Google公式は、この構造化データをReview snippetという機能名で扱っています。ページ上のレビューや評価の抜粋を、検索結果に星の形で表示する仕組みです。どのコンテンツ型がこの機能に対応するかは公式ドキュメントに一覧があります。着手する前に、自社ページの型が含まれているかを見ておいてください。

飲食店の店先にたとえると、こうなります型の名前は、身近なものに置きかえて覚えます飲食店の店先にたとえると、こうなります型の名前は、身近なものに置きかえて覚えますお店の店先でいうと構造化データでいうと1枚ずつ貼られた口コミカードReview(個々の声)入口に掲げた平均点の看板AggregateRating(集計値)カードに書かれたお客さんの名前author(書き手)どの料理についての声かitemReviewed(対象)
飲食店の店先にたとえると、こうなります — 型の名前は、身近なものに置きかえて覚えます

たとえで言うと、Review型は店先に1枚ずつ貼られた口コミカードです。あとで出てくるAggregateRatingは、入口に掲げた平均点の看板にあたります。カードが1枚もないのに看板だけを掲げる、という順序にならないようにしてください。

この章のまとめ

Review型は1件ずつの声、AggregateRatingは全体の平均点。どちらも画面にあるものを写す道具で、新しく作る道具ではありません。

02Review型の必須プロパティは、AI検索対策として何から書けばいいんですか?

Review型でリッチリザルトの対象になるには、次のプロパティが要ります。JSON-LDそのものの書き方に不安がある方は、別記事『JSON-LDの書き方入門|3つのコピペ例で今日から書ける【図解つき】』を先に読むと迷いません。

プロパティ必須/推奨内容
author必須レビュー作成者(Person または Organization)
itemReviewed必須レビュー対象(ネストされている場合は省略可)
itemReviewed.name または親要素のname必須レビュー対象の名称。ネストして省略する場合も必要
reviewRating必須評価を表すRating型
ratingValue必須(reviewRating内)評価の値。数値・分数・パーセンテージのいずれか
datePublished推奨レビューの公開日(ISO 8601形式)
bestRating / worstRating推奨評価スケールの上限・下限(既定値は5・1)
必須の3つは、3つの問いに答えています名前で覚えるより、問いから思い出すほうが速いです必須の3つは、3つの問いに答えています名前で覚えるより、問いから思い出すほうが速いです誰がauthorPersonかOrganizationで示す何についてitemReviewed名前が分かる形で残すどれくらいreviewRatingこの中にratingValueが入る
必須の3つは、3つの問いに答えています — 名前で覚えるより、問いから思い出すほうが速いです

覚え方のこつは、名前を丸暗記しないことです。必須の3つは、レビューについて聞かれる素朴な問いに、ひとつずつ答えています。誰が書いたのか。何についての声なのか。どれくらいの評価なのか。この3つが埋まっていれば、機械の側は困りません。

この章のまとめ

Review型の必須は、author・itemReviewed・reviewRating(中のratingValue含む)。3つの素朴な問いに答えていると考えると、思い出しやすくなります。

03Review schemaの実装方法のテンプレートは、AIOでそのまま貼って大丈夫ですか?

そのまま貼って試せるテンプレートは、次のとおりです。商品名や氏名など、囲みの中の日本語を自社の情報に置き換えれば動きます。

{
  "@context": "https://schema.org",
  "@type": "Product",
  "name": "商品名をここに入力",
  "review": {
    "@type": "Review",
    "author": {
      "@type": "Person",
      "name": "レビュー投稿者の氏名"
    },
    "reviewRating": {
      "@type": "Rating",
      "ratingValue": "4",
      "bestRating": "5",
      "worstRating": "1"
    },
    "reviewBody": "レビュー本文をここに入力",
    "datePublished": "2026-07-28"
  }
}
書く場所は、外側から内側へ4段ありますどの段に置いたかで、省けるものが変わります書く場所は、外側から内側へ4段ありますどの段に置いたかで、省けるものが変わりますいちばん内側:ratingValue評価の数値そのものその中:author と reviewRating書き手と、評価の入れ物その中:review外側に入れると、対象の指定を省けますいちばん外側:レビュー対象の型ここに対象の名前が要ります
書く場所は、外側から内側へ4段あります — どの段に置いたかで、省けるものが変わります

読みどころは、入れ子の深さです。itemReviewedは、上の例のようにReviewをProduct等の中に入れて書けば省略できます。ただし省略した場合も、レビュー対象の名前(親要素のname)は要ります。独立したReviewとして書くなら、itemReviewedを自分で書いてください。

親要素にProduct型を使うときの書き方は、別記事『Product schemaの書き方|価格・在庫がズレる3つの落とし穴【図解つき】』にまとめています。レビュー投稿者を著者として厚く見せたい場合は、別記事『Person schemaとは?コピペで使える実装テンプレ2種と効果の実態』が参考になります。

この章のまとめ

省略できるかどうかは、親要素に何を置いたかで決まります。省いた場合も、対象の名前だけはどこかに残しておいてください。

04AggregateRatingの実装方法は、AI検索最適化でReview型と何が違うんですか?

若葉さん
若葉さんの発言

ReviewとAggregateRating、名前が似ていて混ざってしまいます。両方書かないといけないものなんでしょうか。

鈴木さん
鈴木さんの発言

両方が要るとは限りません。声が1件だけならReview型で足ります。まとめて平均を見せたくなった時点で、AggregateRatingの出番になります。

AggregateRatingは、複数の評価をもとにした平均を表す型です。次のプロパティが要ります。

プロパティ必須/推奨内容
ratingValue必須平均評価の値
ratingCount または reviewCount必須(いずれか)評価またはレビューの総数
itemReviewed必須評価対象(ネストされている場合は省略可)
itemReviewed.name または親要素のname必須評価対象の名称。ネストして省略する場合も必要
bestRating / worstRating推奨評価スケールの上限・下限
{
  "@context": "https://schema.org",
  "@type": "Product",
  "name": "商品名をここに入力",
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "4.4",
    "ratingCount": "89",
    "bestRating": "5",
    "worstRating": "1"
  }
}
個々の声が、平均の1行になるまで看板の数字には、元になったカードがあります個々の声が、平均の1行になるまで看板の数字には、元になったカードがあります1評価がつく読者が星をつける21件ずつ残すReview型で書き写す3全体を平均する総数もあわせて数える41か所にまとめるAggregateRatingで示す
個々の声が、平均の1行になるまで — 看板の数字には、元になったカードがあります

Google公式は、個別のレビューをいくつも載せているページでは、AggregateRatingも併記することを推奨しています。看板の平均点は、店先のカードがあってこそ意味を持つ、という関係だと考えると分かりやすいはずです。

この章のまとめ

Review型は1件ずつ、AggregateRatingはその集計。個別を載せているページなら、平均も併記しておくと親切です。

05Review schemaのratingValueの書き方は、AIOでは小数や分数でも大丈夫なんですか?

ratingValueには、数値(4・4.4)、分数(6 / 10)、パーセンテージ(60%)のいずれかを使えます。小数点はドット記号で書き、カンマは使いません。ここは表記の細かい話に見えますが、読み違いが起きると評価点そのものがずれます。

同じ「4」でも、目盛りしだいで意味が変わります値だけを渡すと、読み手の想像に任せることになります同じ「4」でも、目盛りしだいで意味が変わります値だけを渡すと、読み手の想像に任せることになります目盛りを渡さない値だけを置く5段階の評価として読まれる10段階のつもりでも伝わらない既定の目盛りに寄せられます目盛りごと渡す上限と下限を添える10段階でも意味が固定される画面の星の見え方とそろう5段階以外は、ここで差が出ます
同じ「4」でも、目盛りしだいで意味が変わります — 値だけを渡すと、読み手の想像に任せることになります

もうひとつ、値とセットで考えたいのがスケールです。bestRating・worstRatingを省略した場合の既定値は、5段階評価を前提に5と1になります。つまり、書かなければ「5段階の評価だ」と読まれます。10段階評価やパーセンテージ評価を使うなら、bestRating・worstRatingを明示しておいてください。

この章のまとめ

値の形は3通りから選べます。ただし5段階以外を使うなら、上限と下限を添えるところまでが1セットです。

06自社サイトに載せたReview schemaの自己申告レビューは、LLMOやAI検索でどう扱われますか?

高梨課長
高梨課長の発言

鈴木さん、うちのサイトの「お客様の声」も、この書き方で星が出るようになりますか。実装はできそうなんですが。

鈴木さん
鈴木さんの発言

そこが、この記事でいちばんお伝えしたいところです。書き方が正しくても、載せている場所と持ち主によっては対象から外れます。

プロパティを正しく書いても星が出ないとき、原因の多くはここにあります。Google公式は、この点をはっきり書いています。対象企業自身がレビューを管理している場合、LocalBusinessやOrganization型のページは星評価機能の対象外になります。企業Aについてのレビューが、企業A自身のサイトに載っているケースが該当します。

対象外になるのは、この組み合わせです持ち主と型のかけ合わせで、扱いが分かれます対象外になるのは、この組み合わせです持ち主と型のかけ合わせで、扱いが分かれます身内が管理 × LocalBusiness・Organization星評価の対象外だと公式に明記されている組み合わせ身内が管理 × それ以外の型同じ明記は見当たらない。ただし虚偽や見返り付きは型を問わず違反外部の投稿 × LocalBusiness・Organization自己申告にはあたりません外部の投稿 × それ以外の型素直に書ける組み合わせレビューの持ち主書いている型
対象外になるのは、この組み合わせです — 持ち主と型のかけ合わせで、扱いが分かれます

大事なのは、この記述がLocalBusinessとOrganization型に向けて書かれているという点です。Product型のレビューについて同じ禁止が書かれているかは、確認できた公式資料の範囲では見当たりませんでした。

ただし、型が違えば何でも書けるという話ではありません。Google公式は、虚偽のレビューや見返り付きのレビューを、一般ガイドライン違反として禁じています。型を問わず、実際にあった声だけを載せる運用が前提になります。

この章のまとめ

明記されているのはLocalBusinessとOrganization型です。とはいえ型を問わず、実在しない声を書かないという前提は変わりません。

07画面表示とschemaの記述は、AI検索最適化でどこまで一致させるんですか?

Google公式の一般ガイドラインは、構造化データ全般に共通する原則を示しています。ページに実際に表示されている情報についてだけ、構造化データを記述すること。この一文が、実装の土台になります。

直す向きを決めておくと、食い違いません先にコードへ手を入れると、気づきにくいずれ方をします直す向きを決めておくと、食い違いません先にコードへ手を入れると、気づきにくいずれ方をしますコードから直すJSON-LDだけを書き換える画面に無い評価が残る構文チェックは通ってしまう正しく書けているのに、合っていない状態画面から直す表示を先に更新するその内容をコードへ写す見えているものだけが残る写す向きが決まっていれば迷いません
直す向きを決めておくと、食い違いません — 先にコードへ手を入れると、気づきにくいずれ方をします

守るこつは、直す向きを決めておくことです。画面を先に直し、その内容をコードへ写す。この順番にしておくと、画面に無いものがコードにだけ残る状態は起こりません。逆にコードから触り始めると、構文チェックは通るのに中身が食い違う、という気づきにくいずれ方をします。

なお、構造化データの充実度とAI引用率の関係は、研究の間でも結論が割れています。詳しくは別記事『構造化データとAI引用の相関|論文を読んで分かった3つの事実【図解で解説】』で検証しています。商品ページ側の実務は、別記事にもまとめました。『EC事業者のPerplexity対策|商品ページが引用される2つの条件【図解つき】』もあわせてご覧ください。

この章のまとめ

画面にあるものだけを書く。直す向きは、画面が先でコードが後です。この順番だけで、食い違いの多くは防げます。

08正しく書いたのにReviewの星が出ないとき、AI検索の何から疑えばいいですか?

高梨課長
高梨課長の発言

実装は終わりました。それでも出ない場合、どこから見ればいいでしょうか。若葉さんに任せるにも、手順が決まっていないと動きにくくて。

鈴木さん
鈴木さんの発言

順番を決めておくと迷いません。コードを疑うのは、実はいちばん最後です。上の2つで外れていることのほうが多いんですよ。

出ないときは、上から順にふるいますコードにたどり着く前に、たいてい答えが出ます出ないときは、上から順にふるいますコードにたどり着く前に、たいてい答えが出ます1載せている型を見る公式の対象一覧に、そのページの型は入っていますか2声の出どころを見る身内で集めた声を、店舗や会社の型に書いていませんか3書き漏らしを探すここで初めてテストツールの出番になります4それでも出ないことがある表示そのものは約束されていません鈴木さんここまで来ても出ないことはあります。そこは織り込んでおいてください
出ないときは、上から順にふるいます — コードにたどり着く前に、たいてい答えが出ます

まず、そのページの型がレビュー抜粋の対象に含まれているかを見ます。次に、レビューを自社で管理しているLocalBusiness・Organization型に当てはまっていないかを見ます。この2つが問題なければ、そこで初めてリッチリザルトテストでエラーを探します。

そして、ここまで全部を満たしても、表示そのものは約束されていません。構造化データを実装しても、リッチリザルト表示が保証されるわけではないと、Google公式が述べています。社内で共有するときも、ここまで伝えておくと期待値がずれません。

この章のまとめ

疑う順番は、型・持ち主・プロパティ。コードは最後です。そして全部そろっても、表示自体は約束されていません。

09Review schemaの実装方法を確かめる順番は、AI検索対策でどう決めるんですか?

実装したら、公開の前に手を動かして確かめます。構文が通っていることと、ポリシー上ひっかからないことは別なので、分けて見ていきます。検証ツールの詳しい使い方は、別記事『構造化データのテストツール入門|今使うべき2つの使い分け方【図解つき】』で解説しています。

  1. リッチリザルトテストにかける — 公開済みならURLを、未公開ならコードを貼り付けて実行します
  2. 検出結果に対象の型が出ているか見る — Review・AggregateRatingが現れなければ、親要素とのネスト関係を見直します
  3. エラーと警告を分けて処理する — エラーは必須プロパティの欠落、警告は推奨プロパティの未設定を指すことが多い区分です
  4. 画面表示と突き合わせる — 実際のページを開き、評価点・件数・本文がコードの記述と合っているかを目で見ます
検証で分かるのは、ここまでです通ったことと、表に出ることは別の話です検証で分かるのは、ここまでです通ったことと、表に出ることは別の話です1構文を見る欠けている項目はないか2ポリシーを見る書いてよい組み合わせか3画面と見比べる数字も本文もそろっているか4この先は約束されない出得る状態、までが確認の範囲
検証で分かるのは、ここまでです — 通ったことと、表に出ることは別の話です

大事なのは、この4つを通しても分かるのは「ここまで」だという線引きです。テストが緑になったことを、星が出る約束だと受け取ってしまうと、社内の期待だけが先に進んでしまいます。

この章のまとめ

確かめる順番は、構文が先でポリシーが後ではありません。両方を別々に見て、最後に画面と突き合わせます。

10公開前のReview schema実装チェックリストは、AI検索最適化の運用でどこまで見ておくんですか?

公開直前に見る項目は、次のとおりです。全部を一度に埋めなくても構いません。

公開の前に、ここだけ見ておきます事故が集まるのは、上のほうの項目です公開の前に、ここだけ見ておきます事故が集まるのは、上のほうの項目です公式の対象一覧に、そのページの型が入っているここが外れていると、先へ進めません身内で集めた声を、店舗や会社の型に書いてしまっている星評価の対象から外れる組み合わせです対象の名前が、どこかに残っている入れ子で省いた場合は、外側に要ります5段階以外なのに、目盛りを省いている上限と下限がないと読み違えられます画面に出ている内容と、書いた内容がそろっている最後は目で見て突き合わせます
公開の前に、ここだけ見ておきます — 事故が集まるのは、上のほうの項目です
  • 対象ページのコンテンツ型が、Google公式のレビュー抜粋対象に含まれているか確認している
  • Review型に、author・itemReviewed・reviewRating(ratingValue含む)を実装している
  • AggregateRatingに、ratingValueとratingCount(またはreviewCount)を実装している
  • itemReviewedをネストして省略した場合も、対象の名前(親要素のname)を書いている
  • LocalBusiness・Organization型で、自己申告レビューに当てはまっていないか確認している
  • 画面に表示されているレビュー内容と、コードの記述内容が一致している
  • bestRating・worstRatingを、実際の評価スケールに合わせて明示している(5段階以外の場合)
  • リッチリザルトテストで、エラー・警告がないことを確認している

この章のまとめ

チェックは並列ではなく、重みが違います。型と持ち主が先、コードの細部は後で構いません。

11Review schemaを実装すれば、AIOやAI検索で引用されやすくなりますか?

高梨課長
高梨課長の発言

ここまでの作業、そこそこの手間になりそうです。やれば、AI検索に引用されやすくなるという理解でいいですか。

鈴木さん
鈴木さんの発言

そこは正直に言うと、そう言い切れる根拠は手元にありません。構造化データとAI引用の関係は、研究の間でも結論が割れているところです。

今日確かめられることと、まだ言えないこと分けて持っておくと、社内の説明がぶれません今日確かめられることと、まだ言えないこと分けて持っておくと、社内の説明がぶれません今日その場で確かめられる画面の評価点と書いた値が合っているか対象の名前が残っているか目盛りが伝わる形になっているか手を動かせば、その日のうちに分かりますまだ言い切れない書けば引用が増えるのか研究の間でも結論が割れている効果を約束する根拠は見当たりません
今日確かめられることと、まだ言えないこと — 分けて持っておくと、社内の説明がぶれません

Review schemaを実装すれば引用が増える、と断定できる材料は見当たりません。この実装はAI検索最適化LLMOとも呼ばれます)の文脈で語られることがありますが、確認できた範囲では、効果を約束する根拠ではありません。

一方で、今日確かめられることははっきりしています。画面に出ている評価点と件数が、コードの記述と合っているかどうか。これは証明を待たずに、その場で見に行けます。AI対策として先に手をつけるなら、こちらからです。

この章のまとめ

引用が増えるかどうかの証明は待たなくて構いません。画面とコードが合っているかは、今日その場で確かめられます。

12よくある質問

ReviewとAggregateRatingは、両方とも実装する必要がありますか?

必須ではありません。レビューが1件だけであれば、Review型だけで足ります。複数の評価をまとめて平均として見せたい場合に、AggregateRatingを併用します。個別のレビューを載せているページでは、Google公式が両方の併記を推奨しています。

自分の会社が、自社の商品について書いたレビューは使えますか?

LocalBusinessやOrganization型では、レビュー対象の企業自身が管理するレビューは星評価の対象外です。第三者による実際のレビューを載せることが前提になります。型を問わず、虚偽のレビューや見返り付きのレビューは一般ガイドライン違反にあたります。

ratingValueは整数でないといけませんか?

整数である必要はありません。Google公式は、数値(4.4のような小数を含む)・分数・パーセンテージのいずれの形式も認めています。小数点はドット記号で書き、カンマは使わない点だけ気をつけてください。

実装したのに星評価が表示されません。何を疑えばいいですか?

まず自社ページの型が、レビュー抜粋の対象になっているかを見ます。次に、レビューを自社で管理しているLocalBusiness・Organization型に当てはまっていないかを見ます。この2つが問題なければリッチリザルトテストでエラーを探しますが、構造化データを実装しても表示自体は保証されない点も、前提として押さえてください。

AggregateRatingだけを書いて、個別のレビューは載せなくてもいいですか?

おすすめしません。Google公式の一般ガイドラインは、利用者が実際に読めるレビューや評価であることを前提としています。平均点だけを示して、根拠になる個別の声が画面に無い状態は避けてください。

13まとめ|今日やる3つのこと

Review schemaは1件ずつのレビュー本文と評価点を、AggregateRatingは複数評価の集計値を、それぞれ機械が読める形で書く構造化データです。テンプレート自体はシンプルですが、実装の成否を分けるのはコードの外側にあります。

自己申告レビューのポリシーが明記されているのは、LocalBusinessとOrganization型です。そしてどの型であっても、画面表示の内容とコードの記述を合わせることが大前提になります。

今日この順でやります

  1. ページの型を確かめる

    レビュー抜粋の対象一覧に、自社ページの型が入っているかを見ます

  2. レビューの持ち主を確かめる

    自社で管理している声を、LocalBusiness・Organization型に書いていないかを見ます

  3. 画面とコードを突き合わせる

    評価点・件数・本文が、画面に出ているものと合っているかを目で見ます

AI検索では、こう聞かれています

  • Review schemaはどう書けばいいですか?必須プロパティは何ですか?

    「Review型の必須プロパティは、AI検索対策として何から書けばいいんですか?」の章に、表と覚え方があります

  • ReviewとAggregateRatingは、両方書く必要がありますか?

    「AggregateRatingの実装方法は、AI検索最適化でReview型と何が違うんですか?」の章で、役割の違いを図解で説明しています

  • 実装してテストも通ったのに、星評価が出ません。何を疑えばいいですか?

    「正しく書いたのにReviewの星が出ないとき、AI検索の何から疑えばいいですか?」の章に、疑う順番の図解があります

  • 自社サイトに載せた自社へのレビューでも、星評価は出ますか?

    「自社サイトに載せたReview schemaの自己申告レビューは、LLMOやAI検索でどう扱われますか?」の章で、対象外になる組み合わせを整理しています

次に読むなら、この記事です