JSON-LD(JSONによるリンクデータ)
JSON-LDはGoogleが推奨するスクリプトベースの構造化データ形式です。見えるHTMLに触れず、SEOでは通常schema.orgと組み合わせます。
言語
このページには証拠シグナルが1件あります
- 関連するライブツールSchema Markup Validator
JSON-LD(リンクデータ向けのJavaScript記法)は、ページ内容を記述する構造化データ形式で、<script type="application/ld+json">タグ内に置きます。SEOでは通常schema.orgの語彙と組み合わせますが、JSON-LD自体はほかの語彙も扱えます。2014年のW3C勧告であり、GoogleがMicrodataやRDFaより推奨するのは、見えるHTMLに触れず、大規模に実装・維持しやすいからです。3形式とも正しく実装すれば同等に有効です。構文の軸は@context、@type、相互参照に便利だが任意の@idです。@graphも有効な整理方法の1つですが必須ではありません。AIクローラーの挙動はプロバイダーと日付に依存するため、直接検証してください。構造化データはランキングシグナルではなく、リッチリザルトの適格性とエンティティ理解を支え、表示されるコンテンツを記述する必要があります。
TL;DR — JSON-LDは、ページが記事、商品、レシピなど何についてのものかを、検索エンジンやAIシステムが読み取りやすい形式で明示するために追加する小さなコードブロックです。独自の
<script>タグ内に置かれ、訪問者に見えるものは何も変えません。Googleがほかの2形式より推奨するのは、追加や整理が最も簡単だからです。ランキングを上げることはありませんが、結果をより豊かに(星、価格、FAQなど)見せられる可能性があります。
JSON-LDとは
ページを公開すると、人間なら「これはバナナブレッドのレシピだ」と文章から判断できます。検索エンジンは、言葉だけを手がかりに推測しなければなりません。構造化データは、その推測を不要にする方法です。ページに機械可読なコードでラベルを付け、エンジンがそれはレシピであること、著者、評価を把握できるようにします。
JSON-LDは、そのラベルを書く最も一般的な方法です。名称はリンクデータ向けのJavaScript記法の略です。 Evidence for this claim JSON-LD is a structured-data format that can express Schema.org types and properties in a script block. Scope: Schema.org JSON-LD guidance; JSON-LD is a format, not the vocabulary itself. Confidence: high · Verified: Schema.org: JSON-LD この意味を知らなくても使えます。実際にはJSON-LDは、ラベル付きの事実を並べたリストのようなコードのまとまりで、<script>タグ内に置きます。
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Article",
"headline": "How to Bake Banana Bread",
"author": { "@type": "Person", "name": "Patrick Stox" },
"datePublished": "2026-06-26"
}
</script>重要なのは、このブロックがページ上の文章とは別に存在することです。訪問者に見えるものは一切変えません。ロボット向けの指示にすぎません。
Googleがこれを好む理由
構造化データを書く方法は、実は3つあります。JSON-LD、Microdata、RDFaです。後の2つは、見えるHTMLの中に追加コードを散りばめ、見出しや段落と絡めて使います。JSON-LDなら、すべてを1つの整った箱に収められます。
そのためGoogleはJSON-LDを推奨しています。追加しやすく、正しい状態を保ちやすく、何かを壊す可能性もはるかに低いからです。Googleの言葉では、“the easiest solution for website owners to implement and maintain at scale.” (翻訳)「サイト所有者が大規模に実装・維持しやすい最も簡単な解決策」です。3形式とも問題ありません。JSON-LDは単に最もエラーが起きにくい形式です。
Evidence for this claim Google Search supports JSON-LD, Microdata, and RDFa and recommends JSON-LD when practical. Scope: Google Search structured-data guidance; supported formats do not guarantee feature eligibility. Confidence: high · Verified: Google: Structured data introduction実際に役立つこと
正直に言えることが2つと、神話が1つあります。
- 検索結果をより豊かに見せられます。 レシピの評価、商品の価格、FAQのドロップダウン、イベントの日付などの「リッチリザルト」は構造化データから生まれます。
- エンジン(およびAI)がコンテンツを理解する助けになります。 ページを、既知のもの(ビジネス、著者、商品など)と結び付けます。
- ランキングを上げることはありません。 これが神話です。JSON-LDを追加してもランキング上昇にはなりません。Googleはこの点を明確かつ繰り返し述べています。
重要な唯一のルール
ページに実際にあるものだけをマークアップしてください。 訪問者に評価が表示されていないのに、JSON-LDで5つ星評価を主張してはいけません。存在しない価格を記述してもいけません。構造化データは表示されるページと一致する必要があります。存在しないものを記述するとルール違反となり、リッチリザルトを取り下げられる可能性があります。
正確な版、つまり@context / @type / @idの構文、@graphパターン、AIクローラーからマークアップを隠してしまうJavaScript注入の落とし穴、そして検証方法を知りたいですか? Advancedタブに切り替えてください。
TL;DR — JSON-LD(リンクデータ向けのJavaScript記法)は、2014年のW3C勧告です。JSONを基盤としていますが、単なるJSONではなくリンクデータにするのが
@contextです。Googleが推奨する構造化データ形式なのは、大規模に実装・維持しやすく、見えるHTMLに一切触れないからです。MicrodataとRDFaも、正しく実装すれば同等に有効です。構文の軸は、@context(語彙。SEOマークアップの多くではschema.orgですが、仕様はほかのコンテキストも許容します)、@type(エンティティ)、@id(エンティティを相互参照するための、便利ですが任意の安定URI。@graphの基礎ですが、@graph自体も複数エンティティを整理する有効な方法の1つにすぎず、必須ではありません)です。<head>にも<body>にも置け、Googleはどちらも受け付けます。GooglebotはJSをレンダリングするため、動的に挿入したJSON-LDはGoogleでは機能します。一方、GPTBotやClaudeBotを含む複数のAIクローラーは、テストではJSを実行しませんでした。ただしこれはプロバイダーと日付に依存する挙動です。すべてのAIクローラーに当てはまると決めつけず、特定のクローラーが重要なら直接検証し、確認できないマークアップはサーバー側でレンダリングしてください。構造化データはランキングシグナルではありません。リッチリザルトの適格性とエンティティ理解を支え、ページに表示されるコンテンツを記述する必要があります。
JSON-LDは語彙ではなく形式
まず、混乱の多くを解く区別を押さえましょう。JSON-LDは形式であり、schema.orgは語彙です。JSON-LDはマークアップの書き方で、schema.orgのArticle、Product、Organizationタイプは、何を述べるかです。リッチリザルトは、その両方の上にある機能レイヤーです。このページは形式を扱います。(AI向け語彙の側面はAIのためのスキーママークアップで扱っています。)
JSON-LDはW3C勧告で、2014年に初めて公開されました。SEOで採用されるより前から存在し、検索専用ではなく、ウェブ全体で一般的なリンクデータを相互運用するために設計されました。この経緯があるからこそ@idのようなプロパティが存在し、SEOガイドの多くが省く仕様レベルのポイント、つまりJSON-LDは単なるJSONではないという点につながります。JSON構文を基盤としますが、データをリンクされたもの、つまりウェブ全体で識別・接続可能なものにするのは@context宣言です。@contextを取り除けば、パーサーが解釈できないデータになります。
JSON-LDはschema.orgに限定されるものでもありません。仕様では、@contextが公開済みの任意の語彙を参照できます。仕様自身の例にもschema.org以外のコンテキストへのリンクがあります。したがって、JSON-LDは「どの形式か」という問いへの正しい答えであり、schema.orgは「どの語彙か」という問いへの答えの1つ、検索やAI検索のマークアップでは一般的な答えです。ページが別の語彙とJSON-LDを組み合わせても正当ですが、その場合はschema.orgマークアップではなくなります。
JSON-LDとMicrodataとRDFaの比較
構造化データを表現する方法は3つあり、Googleはすべてをサポートしています。
| JSON-LD | Microdata | RDFa | |
|---|---|---|---|
| どこに置くか | 独立した<script>ブロック | HTML上のインラインitemprop属性 | HTML上のインラインproperty属性 |
| 見えるHTMLに触れるか | いいえ | はい | はい |
| JS / タグマネージャーで注入できるか | はい(きれいに実装可能) | 難しい | 難しい |
| Googleの立場 | 推奨 | サポート | サポート |
| エラーの起きやすさ | 最も低い | 高い(マークアップと絡む) | 高い(マークアップと絡む) |
Googleの推奨は明確ですが、範囲は限定されています。“In general, Google recommends using JSON-LD for structured data if your site’s setup allows it, as it’s the easiest solution for website owners to implement and maintain at scale (in other words, less prone to user errors).” (翻訳)「一般に、サイトの設定が許すなら、JSON-LDを構造化データに使うことをGoogleは勧めています。サイト所有者が大規模に実装・維持しやすく、ユーザーエラーが起きにくいからです。」
競合サイトが通常省く、そして残す価値のあるニュアンスは、同じGoogleのページにあります。“All 3 formats are equally fine for Google, as long as the markup is valid and properly implemented per the feature’s documentation.” (翻訳)「マークアップが有効で機能の文書どおりに実装されていれば、3形式はすべてGoogleにとって同等に問題ありません。」つまり推奨の理由は実装の容易さとエラー率であり、解析速度やランキング上の優位性ではありません。Microdataを使ってもペナルティにはなりません。JSON-LDが実務で勝るのは、構造化データが、明日デザイナーが編集するかもしれないマークアップと絡まないからです。
構文: @context、@type、@id、プロパティ、ネスト
注釈付きのArticleブロックです。
<script type="application/ld+json">
{
"@context": "https://schema.org", // the vocabulary — the common value for SEO
"@type": "Article", // the entity type
"@id": "https://example.com/post#article", // a stable URI for this entity
"headline": "How JSON-LD Works", // a property (key/value)
"datePublished": "2026-06-26",
"author": { // a nested entity
"@type": "Person",
"name": "Patrick Stox",
"url": "https://patrickstox.com/"
}
}
</script>@context— 意味の枠組み(語彙)を定義します。schema.orgのSEOマークアップでは通常"https://schema.org"ですが、これは規則ではなく慣例です。@contextは用語を識別子に対応付け、仕様ではほかの語彙を指すことも許容しています。後続するすべてのプロパティ名をパーサーがどう解釈するかを伝えます。ここがデータをリンクされたものにする部分です。@type— エンティティを宣言します。Article、Product、Organization、BreadcrumbListなどです。schema.orgのタイプに対応します。該当する最も具体的なタイプを使います。該当するならArticleよりNewsArticleを優先します。@id— リソースを識別する一意のURIです。あるエンティティを別のエンティティから参照できるようにする仕組みです(下記の@graphを参照)。相互参照するものには設定する価値がありますが、普遍的に必須ではありません。JSON-LD仕様では識別子のない空白ノードも許容しているため、ほかから参照する必要のないエンティティでは@idを省いた正当なJSON-LDも作れます。- プロパティ —
@contextの語彙用語を使う、通常のJSONのキーと値の組です。 - ネスト — 子エンティティは、ネストしたJSONオブジェクト(上記の
authorオブジェクト)またはオブジェクトの配列として表します。
@graphパターン(スケーラブルな方法)
多くのページには複数のエンティティが必要です。Organization、WebSite、BreadcrumbList、そしてArticleまたはWebPageなどです。素朴な方法は、データを繰り返す4つの別々の<script>ブロックです。スケーラブルな代替案は、@graphを使った1つのブロックです。@idで相互参照するエンティティの配列を持たせます。JSON-LD仕様もGoogleも、@graphを唯一のパターンとして義務付けていません。これはグラフを表現する構文であり、ほかにも有効なレイアウト(別々の型付きブロック、トップレベル@graphを使わないネストしたオブジェクト、@idのない空白ノード)が存在します。ただし、相互参照するエンティティが複数あるサイトでは、各ページで同じOrganizationやWebSiteデータを繰り返さずに済むパターンです。
One Organization is referenced as publisher by the WebSite and Article. The WebPage belongs to the WebSite and is connected to the Article. Each entity is declared once, and the same stable ID string is reused for every reference.
© Patrick Stox LLC · CC BY 4.0 ·
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@graph": [
{
"@type": "Organization",
"@id": "https://example.com/#org",
"name": "Example Co",
"url": "https://example.com/"
},
{
"@type": "WebSite",
"@id": "https://example.com/#website",
"url": "https://example.com/",
"publisher": { "@id": "https://example.com/#org" } // reference, not a copy
},
{
"@type": "WebPage",
"@id": "https://example.com/post#webpage",
"isPartOf": { "@id": "https://example.com/#website" },
"breadcrumb": { "@id": "https://example.com/post#breadcrumb" }
}
]
}
</script>Organizationを一度定義し、名前、ロゴ、URLを繰り返す代わりに、ほかの場所では{ "@id": "...#org" }で参照します。これは主要なCMSのスキーマプラグインが出力を構築する方法であり、@idが存在する理由でもあります。BingもJSON-LDのネストについて、“makes defining links and relationships between data and
entities… easy because it supports nested data.” (翻訳)「ネストされたデータをサポートするため、データとエンティティのリンクや関係を簡単に定義できる」と説明しています。
置き場所: <head>か<body>か
Googleはどちらも機能すると確認しています。“You can put the JSON-LD data in the <head> or
the <body> of the page.” (翻訳)「JSON-LDはページの<head>または<body>に置けます。」 <head>が慣例ですが、多くのCMSプラグインは<body>の末尾近くに注入します。それでも問題ありません。Bingも、“in the
header, body or foot of the page.” (翻訳)「ページのヘッダー、本文、フッターに置ける」と説明するとしています。<body>の有効なブロックを<head>へ移すことに時間を使わないでください。何も変わりません。 Evidence for this claim Google permits JSON-LD in either the head or body of an HTML document for supported structured-data features. Scope: Google Search JSON-LD guidance; markup must still match visible page content. Confidence: high · Verified: Google: Structured data introduction
JSON-LDを動的に生成する方法とAIクローラーの落とし穴
JavaScriptでJSON-LDをその場で組み立てることができ、Googleは2つの方法を文書化しています。
Evidence for this claim Dynamically generated structured data is acceptable to Google when it is rendered and complies with content and quality guidelines. Scope: Google Search JavaScript and structured-data guidance; crawlability and rendering remain prerequisites. Confidence: high · Verified: Google: Generate structured data with JavaScript- Google Tag Manager — GTM変数から値を取得する、JSON-LDを含むCustom HTMLタグです。(ページとタグの間でデータを重複させないでください。)
- Custom JavaScript — スクリプト要素をプログラムで作成します。
const script = document.createElement('script'); script.setAttribute('type', 'application/ld+json'); script.textContent = structuredDataText; document.head.appendChild(script);
これはGooglebotに対して機能します。Googleはページをレンダリングするためです。ここまでは問題ありません。 “Google Search can understand and process structured data that’s available in the DOM when it renders the page.” (翻訳)「Google検索は、ページをレンダリングしたときにDOMで利用できる構造化データを理解し、処理できます。」
多くのガイドが見落とす点を、慎重に述べます。GPTBotやClaudeBotを含む複数のAIクローラーは、一般的なテストではJavaScriptを実行していません。 JSON-LDがクライアント側スクリプトの実行後にしか存在しない場合、JSを実行しないクローラーはそれを見ません。Googleが構造化データを探す前にDOMをレンダリングすることを文書化しているため、Googlebotには読めてもそのボットには見えないのです。
このAIクローラーの挙動には、正直に2つの注意点があります。Googlebot側を裏付けるのはGoogle自身の文書です。一方、AIクローラー側は、各プロバイダーに関するテストや報告によるもので、どのプロバイダーも公開している仕様ではありません。したがってプロバイダーと日付に依存し、クローラーのJavaScriptサポートは変わる可能性があります。私はすべてのプロバイダーを直接検証したわけではありません。「AIクローラーはJSをスキップする」を構築の前提となる普遍的ルールとして扱わず、実際に重要なクローラーを確認する理由として扱ってください。確認できない場合は、サーバー側レンダリングをデフォルトにします。サーバーでレンダリングされたHTMLに存在せず、そのクローラーがJSを実行することも確認できないなら、見えないと考えてください。AI検索での可視性のため、別途確認できていない限り、JSON-LDを静的HTMLへサーバー側でレンダリングしてください。(これは構造化データの観点から見たJavaScriptレンダリング問題です。JavaScript SEOも参照してください。)
ECサイトにはもう1つ注意点があります。Googleは、動的に生成されたProductマークアップについて、“can make Shopping crawls less frequent and less reliable,” (翻訳)「Shoppingのクロールを頻度の低い、信頼性の低いものにする可能性がある」と警告しています。価格や在庫が頻繁に変わる場合には現実的な問題です。商品については、AIに関係なくサーバー側レンダリングを優先してください。
ポリシー(現在は無視できません)
Googleの構造化データガイドラインは短いものですが、重要です。
- “Don’t mark up content that is not visible to readers of the page.” (翻訳)「ページの読者に見えないコンテンツをマークアップしないでください。」
- “Don’t mark up irrelevant or misleading content, such as fake reviews.” (翻訳)「偽のレビューのような無関係または誤解を招くコンテンツをマークアップしないでください。」
- “Put the structured data on the page that it describes.” (翻訳)「構造化データは、それが説明するページに置いてください。」
- “Use the most specific applicable type and property names defined by schema.org.” (翻訳)「schema.orgで定義された、該当する最も具体的なタイプとプロパティ名を使ってください。」
- 構造化データのページをrobots.txtやnoindexでGooglebotからブロックしないでください。
表示されるコンテンツのルールは、身に付けるべき中心点です。ページに表示されないコンテンツを記述するスキーマは、常に違反でした。「見えない」スキーマへの取り締まりは厳しくなっています。Bingは、“even though the markup is not visible on your page, it is still read by the search engines, and putting spam data in the markup can hamper your presence.” (翻訳)「マークアップがページに表示されなくても検索エンジンは読み取り、スパムデータを入れると存在感を損なう可能性がある」と率直に警告しています。
よくあるJSON-LDの間違い
- 表示されるページと一致しないマークアップ — 最も大きなポリシー上の問題です(訪問者に表示されない評価をJSON-LDに入れるなど)。
- 不正なJSON — 末尾のカンマ、エスケープされていない引用符、またはWordのスマートクォート(
"ではなく")が、気付かないうちにブロック全体を壊します。JSON-LDは厳格です。 - 誤ったプロパティ名 — schema.orgにないプロパティを作ったり、実在する名前を誤記したりすると、パーサーに無視されます。
- 具体的なタイプがあるのに汎用タイプを使う —
RecipeやNewsArticleが適切なのに、ThingやArticleを使うなどです。 - ページ間で名前やロゴが食い違う、**重複して一貫性のない
Organization**ブロック。 - 対象とするリッチリザルトに必要なプロパティの不足(各機能に固有の必須フィールドがあります)。
- すべてのクローラーに見えると思い込んだJS注入マークアップ — Googleはレンダリングしますが、AIクローラーの一部はそうしていません。クローラーごとに確認する価値があります(上記の注意点)。
JSON-LDの検証
「自分のJSON-LDは有効か」という言葉の下には、4つの異なる問いがあります。それらは同じではありません。1つに合格しても、ほかに合格したことにはなりません。
| テスト | 証明すること | 証明しないこと |
|---|---|---|
| JSONの解析(任意のJSONリンター、またはRich Results Testの解析ステップ) | 構文が正しいJSONであること。末尾のカンマ、エスケープされていない引用符、スマートクォートによる破損がないこと | どのプロパティ名が実在するschema.org語彙か、Googleが何かを表示するか |
| Schema.org Validator | プロパティとタイプがschema.org語彙に存在すること | Googleがそのタイプをリッチリザルトとしてサポートするか、特定機能に必要なフィールドがそろっているか |
| Rich Results Test | テストしたレンダリング済みページで、特定のサポート対象リッチリザルトタイプについてGoogleの要件を満たすこと | Googleが実際にリッチリザルトを表示すること(適格性は保証ではありません)、他の検索/AIシステムが同じように解析すること |
| Google Search Console — 拡張 / リッチリザルトレポート | 実際にクロールされたページをGoogleが大規模かつ実際のエラーとともに解析した内容 | リアルタイムの状態。レポートは再クロール後まで遅れます |
- 貼り付けたコードではなくURLでテストしてください。JSでレンダリングされるページでは特に重要です。Rich Results Testのコード入力モードはスクリプトを実行せず、ライブURLテストのように相対参照も解決しません。クライアント側で注入されたブロックがレンダリング後にどう見えるかは判断できません。
- Bing Webmaster Tools — Markup Validator — Bingは2018年8月からJSON-LDを検証しています。
- これらのテストは、JavaScriptをレンダリングしないクローラー(上記のAIクローラーの注意点を参照)については何も保証しません。レンダリング済みURLのテストで確認できるのはGoogleが見るものです。JSを実行しないボットが受け取るものとは限りません。
JSON-LDはSEOに役立つか
期待値を正直に設定しましょう。
- ランキングシグナルではありません。 John Muellerは、構造化データでサイトのランキングが上がることはないと述べています。以上です。
- リッチリザルトの適格性。 強化されたSERP機能(星、価格、FAQ、パンくずなど)を得るための適格性を作ります。保証ではありません。
- 間接的なCTR。 より豊かに見える結果はクリックを増やす可能性があり、多くのサイトにとって本当の見返りです。
- エンティティ理解。 エンジンがページを既知のエンティティやナレッジグラフに結び付ける助けになります。
- AI検索。 BingのFabrice Canelは2025年、スキーママークアップがMicrosoftのLLMによるコンテンツ理解を助けると確認しました。ただし、AIのためのスキーママークアップにある統制研究の注意点も確認してください。これは曖昧性解消のためのインフラであり、直接的な引用を増やす仕組みではありません。
したがって、JSON-LDはリッチリザルトの適格性、エンティティの明確さ、AI/LLMの理解のために実装しましょう。ランキングを不正に上げる方法としてではありません。
この記事は構造化データハブにあります。schema.org語彙についてAIに特化した説明はAIのためのスキーママークアップを、動的な注入を支えるレンダリングの仕組みはJavaScript SEOを参照してください。
AIサマリー
Advanced版の要点をまとめます。
- 何であるか: JSON-LD(リンクデータ向けのJavaScript記法)は語彙ではなく構造化データの形式です。
<script type="application/ld+json">ブロックです。SEOでは通常schema.org語彙と組み合わせますが、@contextは別の場所を指すこともできます。2014年からW3C勧告で、JSONを基盤としますが、単なるJSONではなくリンクデータにするのが@contextです。 - Googleが推奨する理由: *“the easiest solution… to implement and maintain at scale”*であり、見えるHTMLに触れません。ただし、正しく実装すれば3形式(JSON-LD、Microdata、RDFa)はすべて同等に有効です。差は解析やランキングではなく、エラー率です。
- 構文の軸:
@context(語彙。SEOマークアップの多くではschema.orgですが、有効な値はそれだけではありません)・@type(エンティティ。最も具体的なものを使う)・@id(相互参照に便利な任意の安定URI。識別子のない空白ノードも有効なJSON-LDです)・プロパティ(キーと値)・ネスト(オブジェクト/配列)。 @graphパターン: 1つのブロックに、@idで相互参照するエンティティの配列を入れます。Organizationを一度定義し、どこからでも参照します。複数エンティティのページに適したスケーラブルな方法ですが、仕様やGoogleの義務ではありません。ほかの有効なグラフレイアウトもあります。- 置き場所:
<head>または<body>。Googleはどちらも受け付けるため、有効なブロックを移動する必要はありません。 - 動的注入とAIの注意点: GooglebotはJSをレンダリングするので、注入されたJSON-LDはGoogleでは機能します。一方、GPTBotやClaudeBotを含む複数のAIクローラーはテストではJSを実行していません。ただしプロバイダーと日付に依存する挙動であり、普遍的ルールではありません。クローラーごとに確認し、確認できないものはサーバー側でレンダリングしてください。動的なProductマークアップは、Shoppingのクロール頻度低下のリスクもあります。
- ポリシー: 表示されるコンテンツだけをマークアップし、ページと一致させ、最も具体的なタイプを使い、クローラーからページをブロックしないでください。「見えない」スキーマへの取り締まりは厳しくなっています。
- よくある間違い: 一致しない/見えないマークアップ、不正なJSON(スマートクォート、末尾のカンマ)、誤ったプロパティ名、汎用タイプ、必須プロパティの不足です。
- 検証: 4つの検査(JSON構文、schema.org語彙、Googleのリッチリザルト適格性、ライブSearch Console解析)は別々で、互いの代わりにはなりません。Rich Results Test(貼り付けたコードではなくURLで)、Schema.org Validator、GSC拡張、Bing Markup Validatorを使います。
- SEO効果: ランキングシグナルではありません。 リッチリザルトの適格性、CTR、エンティティ理解、LLMの理解を支えます(BingのCanel、2025年)。 “the easiest solution… to implement and maintain at scale” (翻訳)「大規模に実装・維持しやすい最も簡単な解決策」
公式ドキュメント
検索エンジンと仕様の一次資料です。
- 構造化データマークアップの仕組みの概要 — JSON-LDの推奨、「3形式すべてが同等に適切」というニュアンス、
<head>/<body>の置き場所。 - 一般的な構造化データガイドライン — 表示されるコンテンツのみ、ページとの一致、最も具体的なタイプ、クローラーをブロックしないというポリシー。
- JavaScriptで構造化データを生成する — GTMとカスタムJSによる注入方法、および動的ProductのShoppingクロールに関する注意点。
- Rich Results Test — 適格性を検証します(JSでレンダリングされるページはURLでテスト)。
Bing / Microsoft
- サイトを構造化データでマークアップする — BingはJSON-LDを推奨し、ヘッダー/本文/フッターへの配置を受け付け、無効なマークアップに警告します。
- Bing Webmaster ToolsでのJSON-LDサポートの導入(2018年8月) — BingがJSON-LD検証を追加した時期。
標準/語彙
- JSON-LD 1.1 — W3C勧告 — 仕様そのものです。
- json-ld.org — 平易な定義とともに形式を紹介する公式サイトです。
- Schema.org入門 — JSON-LDが表現する語彙と、表示されるコンテンツのルールです。
- Schema.org Validator — 語彙に照らして検証します。
原文からの引用
Google、Bing、仕様からの記録に残る発言です。各リンクは、ページ上で引用文が示されている箇所へ移動します。
Googleの文書 — 推奨とニュアンス
- “In general, Google recommends using JSON-LD for structured data if your site’s setup allows it, as it’s the easiest solution for website owners to implement and maintain at scale (in other words, less prone to user errors).” (翻訳)「一般に、サイトの設定が許すなら、JSON-LDを構造化データに使うことをGoogleは勧めています。大規模に実装・維持しやすく、ユーザーエラーが起きにくいからです。」 引用へ移動
- “All 3 formats are equally fine for Google, as long as the markup is valid and properly implemented per the feature’s documentation.” (翻訳)「マークアップが有効で機能の文書どおりに実装されていれば、3形式はすべてGoogleにとって同等に問題ありません。」 引用へ移動
- “Google Search can understand and process structured data that’s available in the DOM when it renders the page.” (翻訳)「Google検索は、レンダリング時にDOMで利用できる構造化データを理解し、処理できます。」 引用へ移動
Googleの文書 — ポリシー
- “Don’t mark up content that is not visible to readers of the page.” (翻訳)「ページの読者に見えないコンテンツをマークアップしないでください。」 引用へ移動
- “Use the most specific applicable type and property names defined by schema.org.” (翻訳)「schema.orgで定義された、該当する最も具体的なタイプとプロパティ名を使ってください。」 引用へ移動
John Mueller、Google — JSON-LDの選好とランキング
- “We currently prefer JSON-LD markup. I think most of the new structured data that kind of come out are for JSON-LD first. So that is what we prefer.” (翻訳)「現在はJSON-LDマークアップを好みます。新しく出てくる構造化データの多くはまずJSON-LD向けなので、これを好んでいます。」 — Google Webmaster Hangout、2019年3月。 引用記事
- ランキングについて:“Structured data won’t make your site rank better.” (翻訳)「構造化データでサイトのランキングが良くなるわけではありません。」 — 2025年。(Search Engine Roundtable経由。原文の投稿と照合してから逐語的な引用として扱ってください。) 引用記事
Bing / Microsoft
- JSON-LDは、ネストされたデータをサポートするため、“makes defining links and relationships between data and entities between the data present on your pages easy because it supports nested data.” (翻訳)「ネストされたデータをサポートするため、ページ上のデータとエンティティのリンクや関係を簡単に定義できます。」 — Bing Webmaster Toolsの文書。 引用へ移動
- “Webmasters should be very alert as to not put invalid and incorrect information in the markup, as even though the markup is not visible on your page, it is still read by the search engines.” (翻訳)「ウェブマスターは、マークアップに不正確な情報を入れないよう十分注意すべきです。ページに表示されなくても、検索エンジンは読み取ります。」 — Bing Webmaster Toolsの文書。 引用へ移動
Fabrice Canel、Microsoft Bing — スキーマとLLM
SMX Munich(2025年3月)で、CanelはスキーママークアップがMicrosoftの大規模言語モデルによるウェブコンテンツの理解を助けると確認しました。(報道全体を通じた要約です。正確な文言を最終版として扱う前に、カンファレンスの録画またはLinkedInと照合してください。) Coverage
仕様 — json-ld.org
- “JSON-LD is a lightweight Linked Data format. It is easy for humans to read and write. It is based on the already successful JSON format and provides a way to help JSON data interoperate at Web-scale.” (翻訳)「JSON-LDは軽量なリンクデータ形式で、人間が読み書きしやすく、実績のあるJSON形式を基盤に、ウェブ規模でJSONデータを相互運用しやすくします。」 引用へ移動
JSON-LD構文 — クイックリファレンス
ラッパー
<script type="application/ld+json">
{ ...your markup... }
</script>予約キーワード
| キーワード | 役割 | 典型的な値 |
|---|---|---|
@context | 語彙を宣言する(必須) | "https://schema.org" |
@type | エンティティタイプを宣言する | "Article"、"Product"、"Organization" |
@id | エンティティを識別/参照する安定URI | "https://example.com/#org" |
@graph | 1つのブロック内に複数エンティティを入れる配列 | [ {…}, {…} ] |
単一のエンティティ
{
"@context": "https://schema.org",
"@type": "Product",
"name": "Widget",
"offers": { "@type": "Offer", "price": "19.99", "priceCurrency": "USD" }
}ネスト — 子エンティティは、ネストされたオブジェクト(またはオブジェクトの配列)です。
"author": { "@type": "Person", "name": "Patrick Stox" }@graphパターン — 一度定義し、@idで参照します。
{
"@context": "https://schema.org",
"@graph": [
{ "@type": "Organization", "@id": "https://ex.com/#org", "name": "Ex Co" },
{ "@type": "WebSite", "publisher": { "@id": "https://ex.com/#org" } }
]
}タイプ別の主なプロパティ
Article/BlogPosting:headline、author、datePublished、image、publisherProduct:name、image、brand、offers(→price、priceCurrency、availability)Organization:name、url、logo、sameAs(ソーシャル/Wikidata URI)BreadcrumbList:itemListElement→ListItem(position、name、item)FAQPage:mainEntity→Question→acceptedAnswer→Answer
覚えておきたいルール
- ほとんどのSEOマークアップでは
@contextは"https://schema.org"です。これは仕様上の必須条件ではなく慣例です。まっすぐな引用符を使い、スマートクォートは使わないでください。 - 末尾のカンマは禁止です。JSONは厳格です。
- 利用できる最も具体的な
@typeを使います。 - ページ上で表示されるものだけをマークアップします。
<head>または<body>に置きます。どちらも有効です。@idと@graphはエンティティの相互参照や整理に役立ちますが、必須ではありません。空白ノードや別のレイアウトも有効です。- JavaScriptを実行すると確認できていないクローラー(テストではGPTBotやClaudeBotを含む複数のAIクローラーが実行しませんでした)には、サーバー側でレンダリングします。
- 別々のレイヤーとして検証します。Rich Results Test(URLで実行)でGoogleの適格性を、Schema.org Validatorで語彙を確認します。片方に合格しても、もう片方に合格したことにはなりません。
JSON-LDを検証するツール
- Schema.org Validator — より広い語彙のチェックです。ここに合格しても、Googleの機能固有のルールには失敗することがあります。
- Google Rich Results Test — レンダリングが重要な場合、特にクライアント側で注入されたマークアップでは、デプロイ済みURLをテストします。このテストが対象とするのは、Googleがサポートするリッチリザルトであり、schema.orgのすべてのタイプではありません。
避けるべきJSON-LDの間違い
訪問者に見えない事実をマークアップする。 JSON-LD内の評価、価格、著者などの主張は、表示されるページと一致しなければなりません。隠された、または誤解を招く構造化データは、ページのリッチリザルト適格性を失わせる可能性があります。代わりに: 表示コンテンツと同じ信頼できる情報源からマークアップを生成します。
有効なJSONを有効なスキーマだと扱う。 パーサーは、schema.orgに存在しないプロパティ名を含む、完全に整ったJSONを受け入れることがあります。代わりに: JSON-LDの語彙チェックと、対象機能に対するGoogleの要件の両方を実行します。
スマートクォートや末尾のカンマを使う。 JSONは厳格です。活字用の引用符や最後のプロパティの後のカンマは、ブロック全体を無効にする可能性があります。代わりに: JSON文字列を手作業で組み立てず、データをシリアライズします。
具体的なタイプがあるのに汎用タイプを選ぶ。 ページが明らかにRecipe、Product、NewsArticleのいずれかなら、Thingや広いArticleのマークアップでは有用な意味を失います。代わりに: 該当する最も具体的なschema.orgタイプを使います。
詳細が食い違うエンティティを重複させる。 名前、ロゴ、URLが異なる複数のOrganizationブロックは、グラフを曖昧にします。代わりに: エンティティに1つの安定した@idを与え、一度だけ定義し、別の場所ではその識別子を参照します。
schema.orgの有効性がGoogleのリッチリザルトを保証すると考える。 Googleはタイプの一部だけをサポートし、独自の必須プロパティやコンテンツポリシーを追加しています。代わりに: まず語彙を検証し、次に特定のGoogle機能の適格性をテストします。
JavaScriptでJSON-LDを注入し、すべてのクローラーに見えると思い込む。 Googleはクライアント側のマークアップをレンダリングできますが、JSを実行しないAIクローラーには届かない可能性があります。代わりに: それらの利用者が重要ならJSON-LDをサーバー側でレンダリングし、貼り付けたコードだけでなくライブURLをテストします。
JSON-LDのデプロイが反映されたことを証明する
テスト1 — ライブページに有効でページと一致するJSON-LDがある
- 実行するテスト — デプロイ済みURLをSchema Markup Validatorで取得し、検出されたエンティティと値を表示されるページと比較します。
- 期待する結果 — JSONが解析され、すべてのプロパティがschema.orgに属し、意図した場所では
@idの参照がグラフ内で解決し、名前、価格、評価、日付などの主張がユーザーに見えるものと一致します。 - 失敗の解釈 — パーサーエラーは不正なJSONを示します。語彙の警告は、プロパティのスペルミスや非対応を示します。値の不一致は、コンテンツとスキーマの別々のデータソースがずれていることを示します。
- 監視期間 — デプロイとキャッシュ消去の直後。
- ロールバックのトリガー — 表示されるコンテンツについて誤った主張を公開したり、以前は有効だったグラフを壊したり、解析できなかったりする場合は、新しいブロックを削除または元に戻します。
テスト2 — 対象の検索機能がレンダリング済みマークアップを認識する
- 実行するテスト — デプロイ済みURLをGoogleのRich Results Testで実行し、次にRich-Result Eligibility Checkerでタイプ別に不足している必須フィールドと推奨フィールドを確認します。
- 期待する結果 — Googleが重大なエラーなしに意図したサポート対象タイプを検出します。クライアント側で生成されたブロックも、レンダリング済みHTMLに現れます。
- 失敗の解釈 — Schema.org Validatorには合格してGoogleで失敗する場合、通常は、そのタイプがGoogleのサポート対象機能ではない、Googleが必須とするフィールドがない、コンテンツポリシーを満たしていない、またはレンダラーがブロックを受け取っていないことを意味します。
- 監視期間 — 両方のテストでは直後。Search Consoleの変更は再クロールを待ちます。
- ロールバックのトリガー — クライアント側注入により、以前表示されていた構造化データがレンダリング結果から消える場合は注入を元に戻します。または、必要なコンテンツが存在するまで、サポートされていない機能の主張をリリースから削除します。
JSON-LDをテスト: 自分で確認する
JSON-LD形式についての5つの簡単な質問です。それぞれ答えを選んでから、確認しましょう。
読む価値のあるリソース
関連記事
- リッチリザルトを得るためのSchema Markup入門 — 構造化データ、スキーマタイプ、JSON-LDの上にある機能レイヤーとしてのリッチリザルトを扱うAhrefsガイド。
- テクニカルSEO入門 — 構造化データが技術SEO全体のどこに位置付くかを説明します。
- JavaScript SEOの問題とベストプラクティス — JavaScriptを実行しないクローラーでJS注入マークアップの挙動が異なる理由を扱います。
- 新しいウェブクローラーを知る — JS注入スキーマをスキップするGPTBot、ClaudeBotなどのAIクローラーについてのCloudflare Radar分析です。
公式資料
- Googleの構造化データマークアップの仕組みの概要 — JSON-LDの推奨と「3形式すべて」のニュアンスを、一次資料から確認できます。
- GoogleのJavaScriptで構造化データを生成する — 動的注入の方法とProductに関する注意点です。
- JSON-LD 1.1 — W3C勧告とjson-ld.org — 形式そのものです。
業界の資料
- Googleが好む構造化データについて — Muellerの発言 “we currently prefer JSON-LD” (翻訳)「現在はJSON-LDを好む」を扱った記事です。
- Microsoft Bing CopilotとLLM向けスキーマ — スキーマがBingのLLMによる理解を助けるという、Fabrice CanelのSMX Munich 2025での確認です。
- JSON-LD構造化データとは何か、なぜ必要か — 初心者向けの堅実な解説です。
- SEO担当者向けJSON-LDスキーマ入門 — SEO担当者向けの実践的な構文・実装ガイドです。
変更履歴
2026年8月11日に更新。
編集概要と記録された変更の詳細。変更の詳細
-
変更の詳細な注記は現在英語でのみ提供されています。
-
変更の詳細な注記は現在英語でのみ提供されています。
完全な比較は利用できません — この改訂の以前のスナップショットがアーカイブされていません。
2026年7月18日に更新。
編集概要と記録された変更の詳細。変更の詳細
-
変更の詳細な注記は現在英語でのみ提供されています。
-
変更の詳細な注記は現在英語でのみ提供されています。
-
変更の詳細な注記は現在英語でのみ提供されています。
-
変更の詳細な注記は現在英語でのみ提供されています。
完全な比較は利用できません — この改訂の以前のスナップショットがアーカイブされていません。
2026年7月17日に更新。
編集概要と記録された変更の詳細。変更の詳細
-
変更の詳細な注記は現在英語でのみ提供されています。
完全な比較は利用できません — この改訂の以前のスナップショットがアーカイブされていません。