ツバサのメモ帳
構造化データ(JSON-LD)の書き方

構造化データ(JSON-LD)の書き方
FAQPage・Articleの実装手順

こんにちは、ツバサです。

SEOやLLMO対策の記事を読むと「構造化データを実装しましょう」とよく書いてある。でも具体的なコードがない記事が多くて、初めての人は何をどう書けばいいかわからない。この記事では、実際にコピーして使えるJSON-LDのコード例を載せた。FAQPage、Article、BreadcrumbListの3つに絞って、書き方と確認方法を説明する。

構造化データ(JSON-LD)とは

Webページの内容を検索エンジンやAIに伝えるためのデータ形式だ。HTMLは人間が読むためのもの、JSON-LDは機械が読むためのもの。Schema.orgという国際的な語彙に基づいて、「このページは何について書かれているか」「著者は誰か」「FAQの内容は何か」を定義する。

HTMLの<head>内に<script type="application/ld+json">タグで埋め込む。ページの見た目には一切影響しないので、既存のデザインを崩す心配はない。

構造化データ自体はGoogleのランキング要因ではないとされている。ただし、検索結果にリッチリザルト(FAQ、パンくずリスト、著者情報など)が表示されることでクリック率が上がる。またAIが情報を正確に理解する手助けになるため、LLMO対策としても有効だ。

FAQPage JSON-LDの書き方

最も実装効果が高い構造化データ。ページ内の「よくある質問」をJSON-LDで記述すると、Google検索のリッチリザルトに表示される可能性がある。さらにAIが回答を生成するときのソースとしても使われやすい。

// FAQPage JSON-LD の例
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "質問文をここに書く",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "回答文をここに書く"
      }
    },
    {
      "@type": "Question",
      "name": "2つ目の質問文",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "2つ目の回答文"
      }
    }
  ]
}
</script>

注意点は以下の通り。

Article JSON-LDの書き方

記事ページに必須の構造化データ。記事のタイトル、著者、公開日、更新日をGoogleとAIに伝える。E-E-A-T(経験・専門性・権威性・信頼性)の評価にも関わる。

// Article JSON-LD の例
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Article",
  "headline": "記事のタイトル",
  "description": "記事の概要文",
  "url": "https://example.com/article.html",
  "image": "https://example.com/image.png",
  "author": {
    "@type": "Person",
    "name": "著者名"
  },
  "publisher": {
    "@type": "Organization",
    "name": "サイト名",
    "url": "https://example.com/"
  },
  "datePublished": "2026-05-15",
  "dateModified": "2026-05-15",
  "inLanguage": "ja"
}
</script>

authorのPersonに、sameAs(SNSプロフィールのURL)やjobTitle(肩書き)を追加すると、AIが著者の信頼性を評価する材料が増える。ただし最低限はnameだけで機能する。

BreadcrumbList JSON-LDの書き方

パンくずリスト(ホーム > カテゴリ > 記事タイトル)を構造化データで表現する。検索結果にパンくずが表示され、サイト構造がGoogleに正しく伝わる。

// BreadcrumbList JSON-LD の例
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "BreadcrumbList",
  "itemListElement": [
    {
      "@type": "ListItem",
      "position": 1,
      "name": "ホーム",
      "item": "https://example.com/"
    },
    {
      "@type": "ListItem",
      "position": 2,
      "name": "カテゴリ名",
      "item": "https://example.com/category/"
    },
    {
      "@type": "ListItem",
      "position": 3,
      "name": "記事タイトル"
    }
  ]
}
</script>

最後の階層(現在のページ)にはitemプロパティを付けない。これはSchema.orgの推奨仕様だ。

実装後の確認方法

JSON-LDを書いたら、必ず以下の2つで確認する。

Googleリッチリザルトテスト

URLを入力するか、コードを直接貼り付けてテストできる。エラーがあれば赤で表示され、どの行に問題があるかもわかる。公開前のコードもテストできるので、実装時には必ず使う。

G リッチリザルト テスト|Google search.google.com/test/rich-results

Google Search ConsoleのURL検査

公開済みのページの構造化データがGoogleに正しく認識されているかを確認する。URL検査で対象ページを検索し、結果の「拡張」セクションを見る。FAQPage、Article、BreadcrumbListがそれぞれ検出されていればOK。

コードがわからないときは

ChatGPTやClaudeに「以下のFAQをFAQPage JSON-LDにしてください」と頼めば、数秒でコードが生成される。生成されたコードをリッチリザルトテストに貼り付けてエラーチェックし、問題なければそのまま使える。ゼロからコードを書く必要はない。

よくある質問

Q. 構造化データ(JSON-LD)とは?

Webページの内容を検索エンジンやAIに伝えるためのデータ形式。Schema.orgの語彙に基づいて、ページの内容、著者、FAQなどを機械が読める形で記述する。HTMLのhead内にscriptタグで埋め込む。

Q. JSON-LDの書き方がわからない場合は?

ChatGPTやClaudeに「このページのFAQPage JSON-LDを作って」と依頼すればコードを出力してくれる。出力されたコードをGoogleのリッチリザルトテストでエラーチェックしてから実装する。

Q. 構造化データはSEOに効果がある?

構造化データ自体はランキング要因ではないが、検索結果にリッチリザルトが表示されることでクリック率が向上する。またAIが情報を正確に理解する手助けになるため、LLMO対策としても有効。

Q. WordPressで構造化データを実装するには?

Yoast SEOまたはRank Mathプラグインの無料版で基本的な構造化データが自動生成される。FAQPageは記事編集画面のFAQブロックから追加できる。プラグインを使わない場合はテーマのheader.phpに直接JSON-LDを記述する。

Q. 構造化データのエラーを確認する方法は?

Googleのリッチリザルトテスト(search.google.com/test/rich-results)にURLまたはコードを入力すればエラーの有無がわかる。公開済みのページはSearch ConsoleのURL検査でも確認できる。

ツバサ

ツバサ

EC関係の仕事をしています。このサイトは自分が調べたことの備忘録です。Photoshopは少し使えますが苦手で、ちょっとした画像補正はもっぱらスマホアプリ派。アプリで対応しきれない本格的なレタッチはプロに依頼しています。