2026年6月19日 · コラム

JSON-LD 構造化データの書き方入門

json-ld-intro の記事アイキャッチ画像

JSON-LD(JSON for Linked Data)は、Webページの内容を構造化された形で検索エンジンに伝える仕組みです。これを実装すると、Google 検索結果でリッチリザルト(評価の星・写真サムネイル・FAQ展開など)が表示されたり、クロールの精度が上がったりします。この記事では、JSON-LDの基本構文と、ブログ記事サイトでよく使う schema を実例とともに紹介します。

JSON-LD とは何か

JSON-LD は schema.org の語彙を使って、Webページの意味的なメタデータを JSON 形式で記述する標準です。HTML の <script type="application/ld+json"> タグ内に書きます。

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Article",
  "headline": "JSON-LD 構造化データの書き方入門",
  "author": {
    "@type": "Person",
    "name": "山田 太郎"
  },
  "datePublished": "2026-06-19"
}
</script>

これを HTML の <head><body> 末尾に置けば、検索エンジンが構造化データとして読み取ります。

なぜ JSON-LD を使うのか

1. リッチリザルトに採用される可能性

Google 検索結果で「タイトル + URL + スニペット」の通常表示ではなく、写真・評価星・FAQ折りたたみといった拡張表示が出ることがあります。これが「リッチリザルト」で、ユーザーのクリック率を大幅に上げます。

2. 検索エンジンの理解精度が上がる

「このページは記事である」「著者は誰」「公開日はいつ」を明示することで、検索エンジンはページの本質を正確に把握できます。

3. AI 検索・音声検索への対応

Google の AI Overview や ChatGPT の検索拡張など、生成AI 時代の検索では構造化データの重要性が増しています。

よく使う5つの schema 型

1. Article — ブログ記事・ニュース

{
  "@context": "https://schema.org",
  "@type": "Article",
  "headline": "記事タイトル(120字以内)",
  "description": "メタ説明文",
  "image": "https://example.com/images/article-cover.jpg",
  "author": {
    "@type": "Person",
    "name": "著者名",
    "url": "https://example.com/authors/yamada"
  },
  "publisher": {
    "@type": "Organization",
    "name": "サイト名",
    "logo": {
      "@type": "ImageObject",
      "url": "https://example.com/logo.png"
    }
  },
  "datePublished": "2026-06-19T13:00:00+09:00",
  "dateModified": "2026-06-19T13:00:00+09:00",
  "mainEntityOfPage": "https://example.com/posts/json-ld-intro"
}

2. BreadcrumbList — パンくずリスト

{
  "@context": "https://schema.org",
  "@type": "BreadcrumbList",
  "itemListElement": [
    { "@type": "ListItem", "position": 1, "name": "HOME", "item": "https://example.com/" },
    { "@type": "ListItem", "position": 2, "name": "ブログ", "item": "https://example.com/blog/" },
    { "@type": "ListItem", "position": 3, "name": "JSON-LD 入門", "item": "https://example.com/posts/json-ld-intro" }
  ]
}

3. FAQPage — よくある質問

{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "JSON-LD はどこに書けばいいですか?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "HTML の head タグ内、または body 末尾に script タグで挿入します。"
      }
    },
    {
      "@type": "Question",
      "name": "JSON-LD を使うとSEOは確実に上がりますか?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "ランキングに直接の効果は限定的ですが、リッチリザルト採用率が上がりCTR向上に繋がります。"
      }
    }
  ]
}

FAQPage schema を入れたページは、検索結果に「質問とその展開」が表示されることがあります。

4. Organization — 運営組織情報

{
  "@context": "https://schema.org",
  "@type": "Organization",
  "name": "Example Inc.",
  "url": "https://example.com/",
  "logo": "https://example.com/logo.png",
  "sameAs": [
    "https://twitter.com/example",
    "https://www.youtube.com/@example"
  ]
}

サイト全体(特に /about/ ページなど)で1つ持っておくと、知識パネル表示の候補にもなります。

5. WebSite — サイトナビゲーション

{
  "@context": "https://schema.org",
  "@type": "WebSite",
  "url": "https://example.com/",
  "name": "サイト名",
  "potentialAction": {
    "@type": "SearchAction",
    "target": "https://example.com/?s={search_term_string}",
    "format": "https://schema.org/Text",
    "query-input": "required name=search_term_string"
  }
}

これを入れると、Google 検索結果でサイト名直下に検索ボックスが表示されることがあります(「サイトリンク検索ボックス」)。

WordPress での実装方法

方法1: テーマで自前で出力

functions.phpwp_head アクションフックで出力します。投稿のタイトル・著者・日付などを取得して動的に生成します。

方法2: プラグインを使う

「Yoast SEO」「Rank Math」「SEO SIMPLE PACK」などのSEOプラグインは、JSON-LD を自動生成する機能を持っています。一括設定したい場合に便利です。

方法3: 投稿エディタで個別挿入

カスタムフィールドや カスタムHTMLブロックで個別投稿に挿入することもできます。FAQ や特殊な構造化データに向きます。

テスト方法

JSON-LD を実装したら、必ず以下のツールで検証しましょう:

  • Google リッチリザルトテスト: 構造化データが正しく解釈されているかチェック
  • Schema Markup Validator: schema.org 公式のバリデータ
  • Google Search Console: 「拡張」セクションで、サイト全体のエラーや警告を確認

よくあるエラー

1. image が無い・URL が間違っている

Article schema では image プロパティが必須に近い扱いです。フルパスURLで、できれば 1200×630 以上の解像度のものを指定します。

2. datePublished の日付フォーマット不正

ISO 8601 形式(2026-06-19T13:00:00+09:00)が推奨。日付だけ 2026-06-19 でも動きますが、時刻まで含めるのが安全です。

3. publisher が無い

個人ブログでも publisher は必要です。Organization 型で「サイト名」を指定すれば OK。

4. ページに表示されないコンテンツを構造化データに入れる

ガイドライン違反です。例えば FAQ schema を入れるなら、そのFAQはページに実際に表示されている必要があります。

注意点

  • JSON-LD はランキングを直接上げるわけではない(コンテンツの質が前提)
  • 過剰な記述(複数の Article を1ページに入れる等)はペナルティ対象
  • HTML の内容と矛盾する記述は厳禁(Google ガイドライン違反)

まとめ

JSON-LD は「サイトを検索エンジンに正確に理解してもらう」ための投資です。1記事につき Article + BreadcrumbList の2つを最低限入れておくだけでも、検索結果での見え方が変わります。SEO の中で「効果が分かりやすく、設定コストが小さい」ベストプラクティスのひとつです。