構造化データを入れたのに、検索結果に星が出ない。
リッチリザルトテストではエラーなしなのに、何週間待っても変化がない。
この状況、実は珍しくありません。
構造化データの実装には「正しく書けているのに機能しない」パターンがいくつかあります。
しかもGoogleはエラーメッセージを出さずに黙って無視するので、何が原因なのか気づきにくい。
この記事では、構造化データを入れたのにリッチリザルトが出ない主な原因を5つ取り上げます。
自分のサイトに心当たりがないか、ひとつずつ確認してみてください。

ブログ運営 / WordPressカスタマイズ / SEO
バビ
WordPress・SEO・ブログ運営の実践情報を、実体験ベースで発信しています。
落とし穴①:SEOプラグインとの二重出力
最も多いのがこのパターンです。
Yoast SEO、RankMath、All in One SEOといったSEOプラグインの中には、ページにProductスキーマの構造化データを自動出力するものがあります。
ここに自分で追加した構造化データが重なると、同じ @type: Product のJSON-LDが2つ出力されてしまいます。
同じ商品のProduct / Reviewマークアップが複数出力されると、Googleがどの情報を主として採用すべきか解釈しづらくなり、意図したマークアップが反映されない原因になることがあります。
リッチリザルトテストではエラーにならないので、ソースコードを直接見ないと気づけません。
自分のサイトが二重出力していないか確認する方法
- レビュー記事をブラウザで開く
- ページのソースを表示する(Windowsなら Ctrl+U、Macなら ⌘+Option+U)
- Ctrl+F(Macなら ⌘+F)で application/ld+json を検索する
- ヒットした箇所を順番に見て、”@type”:”Product” または “@type”:”Review” が複数ないか確認する
@graph という配列の中に含まれている場合もあるので、JSON-LDブロックを一つずつ確認してください。

二重出力を見つけたらどうするか
原因は大きく2パターンあります。
パターンA:SEOプラグインがProductスキーマを出力している
SEOプラグインの設定でProductスキーマの出力をOFFにできる場合があります。
RankMathなら「スキーマ」タブ、Yoast SEOならWooCommerceとの連携設定を確認してください。
パターンB:テーマや他のプラグインが出力している
一部のWordPressテーマは独自に構造化データを出力しています。
テーマのドキュメントを確認するか、一時的にデフォルトテーマに切り替えて出力が消えるか確認してみてください。
ちなみに、ReviLDはこの問題を自動で処理します。
ページのHTML出力を実際にスキャンして、他のプラグインやテーマがProductまたはReviewのJSON-LDを出力しているかを検出します。
二重出力を検出した場合は自動的にReviLDの出力を停止し、管理画面にどのプラグインが原因かを表示します。
落とし穴②:Pros/Consの項目数が足りない
positiveNotes(良い点)とnegativeNotes(気になる点)をJSON-LDに入れている方は、項目数を確認してください。
Googleの公式ドキュメントでは、positiveNotesとnegativeNotesは合計2項目以上が必要と明記されています。
「良い点を1つだけ」入れた場合、JSON-LDとしてはエラーにならないものの、Googleはその情報を認識しません。
よくあるのは「良い点3つ、気になる点なし」で合計3項目あるから大丈夫だと思っているケースです。
実際には問題ありませんが、「良い点1つ、気になる点0」だと合計1項目なので条件を満たしません。
ブラウザのソースコードで確認する方法
ソースコードで positiveNotes を検索して、itemListElement の中の項目数を数えてください。同様に negativeNotes も確認し、合計が2以上であることを確認します。
そもそもPros/Consが1項目しかないなら、JSON-LDからは削除してしまった方が安全です。
不完全なデータを残しておくメリットはありません。
ReviLDの場合、良い点+気になる点の合計が2項目未満のときは自動的にPros/Consを出力から除外します。
落とし穴③:JSON-LDの内容がページ上に表示されていない
これはGoogleの構造化データガイドラインに明記されているルールです。
> ページの読者に表示されないコンテンツをマークアップしないでください。
JSON-LDに「評価4.5」「良い点:軽い、バッテリーが長持ち」と書いたのに、記事本文のどこにもその情報が見当たらない
この場合、Googleはガイドライン違反と判断する可能性があります。
functions.phpやカスタムフィールドでJSON-LDを出力している場合にありがちな問題です。
JSON-LDの生成と記事本文の執筆が別の作業になるので、入力した情報が記事上に表示されているか確認するのを忘れやすい。
具体的に何が表示されていればOKか
最低限、以下の情報が記事本文またはページ上のどこかに表示されている必要があります。
- 商品名 ― 記事タイトルや本文中に含まれていれば問題ない
- 評価(数値または星) ― 記事のどこかに「4.5/5」や星表示がある
- レビュー内容 ― 本文がレビューそのものであれば満たしている
- 良い点・気になる点 ― JSON-LDに入れた場合は、記事上にも表示が必要
ReviLDは入力した情報をレビューボックスとして記事本文に自動表示するので、この要件を満たす仕組みになっています。
落とし穴④:ratingValueの値がおかしい
地味だけど確実にエラーになるのが、評価値の範囲ミスです。
JSON-LDで bestRating: 5 worstRating: 1 と設定しているのに、ratingValue に 0 や 6 を入れてしまっているケース。
あるいは、10段階評価で ratingValue: 8.5 としたのに bestRating を 5 のままにしているケース。
リッチリザルトテストではこれをエラーとして検出してくれるので、テストを通せば気づけます。
問題は、テストを通さずに公開してしまった場合です。
確認すべきポイント
- ratingValue が worstRating 以上、bestRating 以下であること
- bestRating と worstRating を省略した場合、Googleはデフォルトで1〜5のスケールを想定する
- 別の尺度(10段階など)を使う場合は、bestRating と worstRating を明示すること
functions.phpでカスタムフィールドから値を取得している場合、入力ミスをバリデーションする仕組みがないと、この手のエラーが紛れ込みやすいです。
落とし穴⑤:Googleのクロール・インデックスの問題
構造化データに問題がないのにリッチリザルトが出ない場合、そもそもGoogleがまだ新しい情報を取得していない可能性があります。
構造化データを追加・修正しても、Googleがそのページをクロール(再取得)するまで反映されません。
新しい記事なら数日〜数週間、既存記事の修正なら次のクロールまで待つ必要があります。
また、そもそもページがGoogleにクロールされていない場合もあります。
robots.txt でブロックしていないか、noindex タグが入っていないか、ログイン制限がかかっていないかも確認してください。
確認と対処の手順
Step 1:リッチリザルトテストで構造化データ自体を確認
まず、Googleの[リッチリザルトテスト](https://search.google.com/test/rich-results)にURLを入力して、構造化データが正しく認識されるか確認します。
ここでエラーが出る場合はJSON-LDに問題があるので、先にそちらを修正してください。

Step 2:Search ConsoleのURL検査で個別ページを確認
Search Consoleの「URL検査」にURLを入力すると、Googleが最後にクロールした時点でのページ情報が表示されます。「インデックス登録をリクエスト」を押すと、再クロールの優先度が上がります。

Step 3:Search Consoleの「商品スニペット」レポートを確認
Search Console → 拡張 → 「商品スニペット」を開くと、Googleが認識している構造化データの状況がわかります。
「有効」の数が増えていれば正しく認識されています。
ただし、このレポートが表示されない場合もあります。
Googleが該当するマークアップを十分な数検出していないとレポートが出ないことがあるので、まずはStep 2のURL検査で個別に確認するのが確実です。
それでも表示されない場合
リッチリザルトテストもSearch Consoleも問題ないのに、検索結果に星が出ない。
この場合は、Googleのアルゴリズムが「このページにはリッチリザルトを表示しない」と判断している可能性があります。
Googleの公式ガイドラインでは
「構造化データを使用して、ある機能が表示されるよう設定することはできますが、その機能が必ず表示されるとは限りません」
と明記されています。
検索クエリとの関連性、ページの品質、デバイスタイプなど、複数の要因でGoogleが判断しています。
つまり、構造化データは「表示対象になるための前提条件」であり、表示の保証ではありません。
前提条件を正しく満たしたうえで、記事の質を高めていくのが現実的なアプローチです。
まとめてチェックするなら
ここまでの5つの落とし穴を自分で全部チェックするのは、正直なところ手間がかかります。
特に二重出力の確認(ソースコード解析)とPros/Consの項目数チェックは、記事を公開するたびに毎回やるのは現実的ではありません。
ReviLDは、この記事で取り上げた5つの問題のうち4つを自動で処理します。
- 二重出力 → ページのHTML出力をスキャンして自動検知・自動停止
- Pros/Cons項目数 → 合計2項目未満の場合は自動で出力除外
- ページ上の表示 → レビューボックスの自動表示で担保
- ratingValueの範囲 → 入力UIが1.0〜5.0の選択式なので範囲外の値を入力できない
5つ目のGoogleのクロール待ちだけは、どんなツールでも解決できません。これだけは待つしかないです。
こちらもおすすめ

