ChatGPTは、ブラウザと同じようにWebページを「読む」わけではありません。自身の検索インデックスから明確に引用できる事実を取り出し、回答として組み立てます。構造化データとエンティティタグの役割は、検索順位を上げることではなく、機械による推測を減らすことです。製品名、製品カテゴリー、提供企業、解決できる課題を、機械が読み取れる形式で明示します。この層がなければ、ChatGPTはページ内に散在する文章から推測するしかありません。推測を誤れば、参照する情報も誤ってしまいます。
ChatGPTが読むのはレイアウトではなく事実
まず、ChatGPTがコンテンツを取得する仕組みを押さえましょう。ユーザーがChatGPTで検索を実行すると、OpenAIのOAI-SearchBotがページのHTMLをクロールし、既存のWebインデックスと併せて複数の情報源を選び、モデルに渡して回答を生成します。このプロセスには、実務上2つの制約があります。第一に、取得されるのは主に初期HTMLであり、ブラウザ側のJavaScriptに依存するコンテンツは取得されないことが少なくありません。第二に、モデルが必要としているのは、入念に設計されたレイアウトではなく、1文で抽出してそのまま引用できる事実です。JSON-LDなどの構造化データを使えば、「これは製品であり、名称は〜」という情報を明示できます。
ただし、構造化データを入れれば必ず引用される、というわけではありません。B2B SaaS企業向けのGEO監査で確認している限り、スキーマそのものが「引用されるかどうか」を直接左右するケースは多くありません。一方で、「引用されたときに事実が正確かどうか」には大きく影響します。同じ事実をページ上の見える文章で明確に説明し、JSON-LDでも記述すれば、モデルには相互に裏付けられる2つの手掛かりが与えられます。タグだけを設定し、本文が曖昧なままでは、効果は大きく下がります。
最小構成:まずは3つのスキーマで十分
schema.orgのあらゆるタイプを一度に実装する必要はありません。B2B製品をChatGPTに理解させたいなら、まず次の3つのタグを正しく設定することで、80%の効果を得られます。
- Organization:Webサイトのトップページに設置するか、サイト全体で共通利用します。ブランドの正式名称、ロゴ、公式Webサイトに加え、特に重要なsameAsを明記してください。LinkedIn、Crunchbase、Wikidata(ウィキデータ)など、信頼性の高い自社ページと接続します。これは、モデルが「誰なのか」を識別するための基点です。
- ProductまたはSoftwareApplication:製品ページに設置します。name、description、brand、offers(価格またはプラン)を記載してください。実在するレビューがある場合はaggregateRatingを追加し、ない場合は記載しません。
- FAQPage:製品ページまたは説明ページに設置し、ユーザーから特によく寄せられる3〜5件の質問と回答を、実際の内容に基づいて掲載します。質問と回答が明確に対になっているため、ChatGPTが回答として直接抽出しやすい形式です。
3種類のタグはいずれもJSON-LDでページに記述します。HTMLタグ内に情報が分散し、保守コストが高くミスも起きやすいMicrodataは避けてください。JSON-LDの内容は、ページ上でユーザーに見える情報と一致していなければなりません。タグに評価が記載されているなら、ページにも実際の評価が必要です。タグ内のプラン価格も、製品ページの表示とそろえる必要があります。タグと本文が一致しなければ無効になるだけでなく、操作を意図した記述と判断される可能性もあります。
本当に効くのはエンティティマークアップ
構造化データをProductの設定だけで終えるケースは少なくありません。しかし、ChatGPTに単一のページを「読ませる」だけでなく、ブランドそのものを「認識」させるには、エンティティ層が必要です。エンティティタグの中核となる役割は、名称の曖昧性を解消することです。市場には「Radar」という名称の製品が数十もあります。モデルが参照しているのは同名の別企業ではなく、自社の製品であると100%特定できる状態をつくらなければなりません。曖昧性を解消しないままコンテンツを増やしても、蓄積されるのは他社と区別できない漠然とした印象だけです。
要点は3つあります。第一に、名称を統一することです。公式Webサイト、ソーシャルメディア、各種ディレクトリ、プレスリリースで、ブランドの正式名称を一字一句そろえます。「Tenten GEO」と「Tenten」を混在させてはいけません。第二に、@idでエンティティグラフを構築します。Organizationに固定の@id(例:https://yoursite.com/#organization)を付け、製品のbrandや記事のpublisherから同じ@idを参照させます。これにより、モデルは複数のページに分散する事実を同一のエンティティとして結び付けられます。第三に、sameAsを使って信頼性の高い外部情報源と接続します。特にWikidataは、多くのAIシステムが共有して参照するエンティティデータベースです。掲載されれば、プラットフォームを横断して使える身分証明書を得るようなものです。

クローラーを締め出さない
どれほど適切にマークアップしても、クローラーがアクセスできなければ意味がありません。見落とされやすい一方で、問題の原因になりやすい工程です。
- robots.txtで許可する:OAI-SearchBot(ChatGPT検索用)とGPTBot(OpenAIのクロール用)がブロックされていないことを確認します。引用されたいにもかかわらず、両方を遮断してしまう設定は、監査でも特によく見られる自滅パターンです。
- 重要なコンテンツを初期HTMLで読めるようにする:製品説明がフロントエンドのJavaScriptだけで描画される場合、クローラーが取得するページは空白になる可能性があります。サーバーサイドレンダリング(SSR)または静的生成を使い、中核となる事実を元のHTMLに直接含めてください。
- JSON-LDをページ操作後にスクリプトで動的挿入しない:最初のレスポンスで返されるHTMLに含め、クローラーが初回アクセス時に読み取れるようにします。
公開前に検証する。感覚で判断しない
公開後に「なぜ引用されないのか」と推測するより、公開前に一通り検証するほうがはるかに簡単です。まずGoogleのリッチリザルトテストまたはSchema.org公式バリデーターを使い、JSON-LDに構文エラーがなく、必須項目がそろっていることを確認します。次に、開発者ツールのElementsパネルではなく、ブラウザの「ページのソースを表示」を使ってください。マークアップがスクリプトによって後から追加されたものではなく、元のHTMLに含まれていることを確認します。最後は最も直接的な検証です。ChatGPTで「ある製品は何をするものですか」と質問し、どの情報源が引用され、説明が正確かを確認します。これは実際の利用場面に最も近い受け入れテストであり、質問を1つ投げるだけで、本文とマークアップの不一致が見つかることも少なくありません。
構造化データとエンティティマークアップは出発点です。正しく実装すれば、ChatGPTに引用されたときの事実が正確になります。実装しなければ、明確に引用できる情報源として認識されるための最低条件すら満たせません。多くのB2Bサイトで問題になるのは、スキーマの有無そのものではありません。タグと本文が一致していない、エンティティ名が統一されていない、あるいはクローラーがブロックされていることです。ChatGPTから自社サイトがどう見えているのか、どこに不足があるのかを把握したい方は、30分間のGEO診断をご予約ください。情報の抽出しやすさとエンティティの明確性に関する問題点を、その場で具体的にお見せします。



