ぱんだツールズぱんだツールズ

技術背景

JSON-LDとは — 構造化データでGoogleリッチリザルトを獲得する仕組み

約7分

Google検索の結果にFAQが折りたたまれて展開表示されているのを見たことはありませんか。 あのアコーディオン表示や、記事の下に星評価が出るレビュースニペット—— それらはHTML自体の見た目だけで実現しているのではなく、 ページに埋め込まれた構造化データ(JSON-LD)をGoogleが読み取って表示しています。 この記事では、JSON-LDの基本的な仕組みからSchema.orgの語彙・主要スキーマ5種の役割まで、 Webサイトのリッチリザルト獲得に必要な知識を解説します。

JSON-LDとは何か

JSON-LD(JavaScript Object Notation for Linked Data)は、Webページの意味情報を機械が読み取れる形式で記述するW3C標準の仕様です。 HTMLのマークアップはあくまで見た目の構造を表すものですが、 それだけでは「このページにFAQが書かれているのか」「これが商品レビューなのか」 といった意味をGoogleのクローラーが正確に把握することは困難です。

JSON-LDは次のように `<script>` タグの中にJSON形式で書きます。

// FAQPageスキーマの例

<script type="application/ld+json">

{

"@context": "https://schema.org",

"@type": "FAQPage",

"mainEntity": [

{

"@type": "Question",

"name": "JSON-LDとは何ですか?",

"acceptedAnswer": {

"@type": "Answer",

"text": "JSON-LDとはWebページに..."

}

}

]

}

</script>

HTMLの見た目には何も影響しません。 Googleのクローラーがこのブロックを解析して「このページにはFAQがある」と認識し、 検索結果でFAQを展開表示するリッチリザルトの候補になります。

Schema.orgとは

JSON-LDに書く語彙(`"@type": "FAQPage"` の `FAQPage` などの用語)は、Schema.orgという標準化団体が定めています。 Schema.orgはGoogle・Microsoft・Yahoo!・Yandexが共同で2011年に設立した組織で、 Webの意味情報を記述するための共通語彙(スキーマ)を管理しています。

Schema.orgの語彙は `https://schema.org/` というURLで名前空間が管理されており、 JSON-LDの `"@context": "https://schema.org"` という記述がこの語彙を使うことを宣言しています。 現在800種類以上の `@type` が定義されており、Article・Product・Event・Recipeなど あらゆるコンテンツの種類をカバーしています。

なぜJSON-LDが推奨されるのか

構造化データの記述方法はMicrodata・RDFa・JSON-LDの3種類がありますが、 Googleは公式にJSON-LDを推奨しています。その理由は大きく3点です。

フォーマット記述方法HTMLとの分離保守性Googleの推奨
JSON-LD独立した `<script>` ブロック◎ 完全分離◎ 変更しやすい◎ 推奨
MicrodataHTMLタグに属性を追記× 混在△ HTML変更と連動△ 対応
RDFaHTMLタグに属性を追記× 混在△ HTML変更と連動△ 対応

JSON-LDはコンテンツのHTMLに手を加えなくても構造化データを追加・変更できるため、 デザイン改修やCMSリプレースの際にも影響が少なく、テストも容易です。 Next.jsなどのモダンフレームワークとも相性がよく、 サーバーサイドでJSONを動的生成してページに埋め込むことも容易です。

主要スキーマ5種の役割

Googleのリッチリザルトに直結する代表的なスキーマを5種類まとめます。 各スキーマには必須プロパティと推奨プロパティがあり、 必須プロパティが欠けているとリッチリザルトの対象外になります。

スキーマ用途リッチリザルトの見た目主な必須プロパティ
FAQPageFAQセクションのあるページ質問が折りたたみ展開で表示mainEntity[].name, acceptedAnswer.text
Articleニュース・ブログ・ハウツー記事著者名・更新日・サムネイルが表示headline, author, datePublished
BreadcrumbListパンくずリストのあるページURLの代わりにパンくずが表示itemListElement[].name, item
LocalBusiness店舗・事業者の情報ページ住所・営業時間・地図が表示name, address
SoftwareApplicationWebアプリ・ソフトウェアのページ評価・動作OS・カテゴリが表示name, operatingSystem, applicationCategory

これらのコードを手書きするのは煩雑ですが、JSON-LD構造化データ生成ツールを使えばフォームに入力するだけで正確なコードを生成できます。 5種類のスキーマすべてに対応しており、出力されたコードをそのままHTMLに貼り付けるだけです。

Googleリッチリザルトが表示される条件

JSON-LDを設置したからといって必ずリッチリザルトが表示されるわけではありません。 Googleが定める3つの条件をすべて満たす必要があります。

  • 必須プロパティが揃っている——スキーマごとに必須のプロパティが決まっており、1つでも欠けると対象外になります。 FAQPageであれば `mainEntity` の各要素に `name`(質問文)と `acceptedAnswer.text`(回答文)が必要です。
  • ページコンテンツとの一致——JSON-LDに書いた内容がページ本文にも存在していることが必要です。 JSON-LDにだけ情報を書いてHTMLには存在しない場合、スパムとみなされることがあります。
  • Googleによる評価——技術的に正しくても、サイト全体の品質が低いと判断された場合は表示されないことがあります。 E-E-A-T(経験・専門性・権威性・信頼性)を高めることが長期的に有効です。

また、設置後にGoogleがクロール・インデックスするまで1〜4週間かかることがあります。 設置直後に表示されなくても、まずSearch ConsoleやリッチリザルトテストでJSON-LDに エラーがないことを確認することが先決です。

リッチリザルトテストツールの使い方

JSON-LDを設置したらデプロイ前に必ず検証しましょう。 主なツールは2つです。

1. Googleリッチリザルトテスト

`https://search.google.com/test/rich-results` にアクセスし、 URLまたはHTMLコードを貼り付けます。 Googleが実際に認識したスキーマとエラー・警告の一覧が表示されます。 警告は無視できますが、エラーは必須プロパティの欠落を示すため修正が必要です。 デプロイ済みのURLを直接テストすることも、 ローカルのHTMLコードを貼り付けてデプロイ前に確認することもどちらも可能です。

2. Schema Markup Validator

`https://validator.schema.org/` はSchema.org公式の検証ツールです。 Google固有のルールではなくSchema.orgの語彙に対する構文チェックができるため、 Google以外の検索エンジン(BingやYandex)への対応も確認できます。 JSON-LDの書き方に迷ったときや、複数スキーマを組み合わせたときのチェックに役立ちます。

まとめ

  • JSON-LDは `<script type="application/ld+json">` タグにJSON形式で書くW3C標準の構造化データ形式で、Googleが推奨している
  • Schema.orgがFAQPage・Article・BreadcrumbListなど800種類以上の語彙を管理している
  • MicrodataやRDFaと異なりHTMLから完全分離できるため保守性が高く、フレームワークとの相性もよい
  • 主要スキーマ5種(FAQPage・Article・BreadcrumbList・LocalBusiness・SoftwareApplication)はそれぞれ異なるリッチリザルトに対応する
  • リッチリザルト表示には「必須プロパティが揃っている」「ページ本文との一致」「Googleによる評価」の3条件が必要
  • 設置後はリッチリザルトテストで必ず検証し、エラーがないことを確認してからデプロイする
  • JSON-LD構造化データ生成ツールを使えばフォーム入力だけでコードを生成でき、手書きミスを防げる

よくある質問

JSON-LDとは何ですか?

JSON-LD(JavaScript Object Notation for Linked Data)とは、Webページにセマンティックな意味情報を付加するための記述形式です。`<script type="application/ld+json">` タグの中にJSON形式でデータを書くW3C標準の仕様で、Googleが推奨する構造化データの主要フォーマットです。HTMLのマークアップを変えずに済むため導入しやすく、ページのどこに置いても機能します。

MicrodataやRDFaとの違いは何ですか?

3つはいずれも構造化データを記述する仕様ですが、アプローチが異なります。Microdataは既存のHTMLタグに `itemscope` / `itemprop` などの属性を追加する方式で、マークアップと意味情報が混在します。RDFaも同様に既存要素に属性を追記します。JSON-LDはHTMLから独立した `<script>` ブロックに書くためコンテンツとデータが分離でき、修正・テストがしやすい利点があります。Googleは公式ドキュメントでJSON-LDを推奨しています。

JSON-LDは `<head>` と `<body>` のどちらに書くべきですか?

技術的にはどちらでも動作しますが、`<head>` 内か `<body>` の末尾が一般的です。Googleのクローラーはページ全体を解析するため、位置による効果の差はほとんどありません。Next.jsなどのフレームワークでは `<head>` 内に `<script type="application/ld+json">` として出力するのが一般的です。1ページに複数の `<script type="application/ld+json">` タグを置いても問題ありません。

複数のスキーマを同一ページに入れてよいですか?

はい、複数のスキーマを同一ページに設置できます。方法は2通りあります。①複数の `<script type="application/ld+json">` タグをそれぞれ独立して置く、②1つの `<script>` タグ内に配列形式(`[{...}, {...}]`)で書く。例えばブログ記事ページにArticleスキーマとBreadcrumbListスキーマを併用するケースは一般的です。ただしFAQPageとHowToなど一部の組み合わせはGoogleのガイドラインで制限される場合があるため、リッチリザルトテストで確認することを推奨します。

構造化データの検証ツールは何を使えばよいですか?

Googleが提供する「リッチリザルトテスト(Rich Results Test)」が最も信頼できます。URLまたはHTMLコードを直接貼り付けて検証でき、エラーや警告の詳細も確認できます。また「Schema Markup Validator(schema.org公式)」はSchema.orgの語彙に対する構文チェックができ、Google以外の検索エンジンへの対応も確認できます。どちらも無料で使用でき、デプロイ前のローカル確認にも対応しています。ぱんだツールズのJSON-LD構造化データ生成ツール(/tools/json-ld-generator)でコードを生成したあと、そのままコピーしてテストに貼り付けられます。

設置したのにリッチリザルトが表示されない理由は何ですか?

主な原因は4つあります。①Googleへのインデックスに時間がかかっている(設置後1〜4週間かかることがある)、②構造化データに必須プロパティが不足している(例: FAQPageに `name` または `acceptedAnswer` がない)、③ページコンテンツと構造化データの内容が一致していない(ガイドライン違反)、④サイト全体の品質が低くリッチリザルト表示の優先度が下がっている。Search Consoleの「拡張」セクションでエラーや警告を確認し、リッチリザルトテストで構文を再検証することを推奨します。

ブラウザ完結ツールでJSON-LDを生成できますか?

はい、ぱんだツールズのJSON-LD構造化データ生成ツール(/tools/json-ld-generator)で生成できます。FAQPage・Article・BreadcrumbList・LocalBusiness・SoftwareApplicationの5種類のスキーマに対応しており、フォームに入力するだけでコピペ可能なコードが出力されます。すべての処理はブラウザ内で完結するためデータがサーバーに送信されることはなく、機密情報を含むサイト情報でも安心して入力できます。

この記事で紹介したツール