株式会社課題解決プラットフォーム
AIO対策2026-04-14最終更新: 2026-04-144分で読めます

構造化データJSON-LDの書き方【実装コード例付き】

JSON-LD構造化データSchema.orgJSON-LD 書き方構造化データ 実装AIO対策FAQPageArticle スキーマ
上田拓哉

上田拓哉

監修

株式会社課題解決プラットフォーム 代表取締役

複数事業の経営経験を持つ実践者。SEO対策をベースに、AI検索(ChatGPT・Perplexity・Google AI Overview)で「選ばれる情報源」になるためのAIO対策を研究・実践中。

著者プロフィール →

JSON-LD(JavaScript Object Notation for Linked Data)は、AI検索時代における最重要のSEO施策の1つです。Googleが2015年から推奨する形式で、2026年現在、Google AI Overview・ChatGPT Search・Perplexityなどの生成AI検索で引用される記事の78%が構造化データを実装しています。

JSON-LDとは何か

JSON-LDは、ウェブページの内容をJSON形式で構造化してAI・検索エンジンに伝えるための技術です。従来のSEOに加えて、AI検索時代においては必須の実装となっています。

JSON-LDの基本構造

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Article",
  "headline": "記事タイトル",
  "author": {
    "@type": "Person",
    "name": "著者名"
  },
  "datePublished": "2026-04-14"
}
</script>

JSON-LDの要素解説

要素説明必須
@contextスキーマの文脈を指定必須
@typeスキーマのタイプ必須
プロパティ各タイプ固有のデータ推奨

主要スキーマの実装例

Article スキーマ(ブログ記事・ニュース記事)

ブログ記事やニュース記事に使用するArticleスキーマです。

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Article",
  "headline": "構造化データJSON-LDの書き方【実装コード例付き】",
  "description": "構造化データJSON-LDの書き方を完全解説。主要スキーマの実装コード例を完全網羅。",
  "image": "https://0120.co.jp/blog/aio-50/cover.jpg",
  "datePublished": "2026-04-14T10:00:00+09:00",
  "dateModified": "2026-04-14T10:00:00+09:00",
  "author": {
    "@type": "Person",
    "name": "上田 拓哉",
    "url": "https://0120.co.jp/company/",
    "jobTitle": "代表取締役",
    "worksFor": {
      "@type": "Organization",
      "name": "株式会社課題解決プラットフォーム"
    }
  },
  "publisher": {
    "@type": "Organization",
    "name": "株式会社課題解決プラットフォーム",
    "logo": {
      "@type": "ImageObject",
      "url": "https://0120.co.jp/logo.png"
    }
  },
  "mainEntityOfPage": {
    "@type": "WebPage",
    "@id": "https://0120.co.jp/blog/aio-50/"
  }
}
</script>

Article スキーマの主要プロパティ

プロパティ必須説明
headline必須記事タイトル(110文字以内)
description推奨記事の説明文
image必須アイキャッチ画像URL
datePublished必須公開日(ISO 8601形式)
dateModified推奨最終更新日
author必須著者情報
publisher必須発行元組織
mainEntityOfPage推奨メインとなるURL

FAQPage スキーマ(よくある質問)

FAQセクションに使用するFAQPageスキーマは、AI検索で最も引用されやすい形式です。

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "JSON-LDとは何ですか?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "JSON-LDは、JSON形式で構造化データを記述する方式です。Googleが2015年から推奨している形式で、現在では最も普及している構造化データの実装方法です。"
      }
    },
    {
      "@type": "Question",
      "name": "JSON-LDはどこに配置すればいいですか?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "HTMLのheadタグ内またはbodyタグ内に<script type=\"application/ld+json\">で囲んで配置します。headタグ内が推奨されます。"
      }
    },
    {
      "@type": "Question",
      "name": "複数のFAQを記述できますか?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "はい、mainEntity配列内に複数のQuestionオブジェクトを記述できます。上限はありませんが、10〜20問程度が実用的です。"
      }
    }
  ]
}
</script>

LocalBusiness スキーマ(店舗・地域ビジネス)

実店舗を持つ企業・店舗ページに使用するスキーマです。

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "LocalBusiness",
  "name": "株式会社課題解決プラットフォーム",
  "image": "https://0120.co.jp/office.jpg",
  "@id": "https://0120.co.jp/",
  "url": "https://0120.co.jp/",
  "telephone": "+81-42-445-5602",
  "priceRange": "¥¥",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "谷戸町3-27-24 ひばりが丘プラザ2階",
    "addressLocality": "西東京市",
    "addressRegion": "東京都",
    "postalCode": "188-0001",
    "addressCountry": "JP"
  },
  "geo": {
    "@type": "GeoCoordinates",
    "latitude": 35.750037,
    "longitude": 139.541217
  },
  "openingHoursSpecification": [
    {
      "@type": "OpeningHoursSpecification",
      "dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"],
      "opens": "09:00",
      "closes": "18:00"
    }
  ],
  "sameAs": [
    "https://www.instagram.com/kadai_kaiketu/",
    "https://www.youtube.com/@kadaikaiketsu"
  ]
}
</script>

HowTo スキーマ(手順解説)

手順を解説する記事に使用するHowToスキーマです。

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "HowTo",
  "name": "llms.txtの設定手順",
  "description": "サイトのルートディレクトリにllms.txtを設置する手順を解説",
  "totalTime": "PT30M",
  "estimatedCost": {
    "@type": "MonetaryAmount",
    "currency": "JPY",
    "value": "0"
  },
  "supply": [
    {
      "@type": "HowToSupply",
      "name": "テキストエディタ"
    }
  ],
  "step": [
    {
      "@type": "HowToStep",
      "position": 1,
      "name": "サイト情報の整理",
      "text": "会社情報・主要サービス・専門コンテンツを整理します。",
      "url": "https://0120.co.jp/blog/aio-47/#step1"
    },
    {
      "@type": "HowToStep",
      "position": 2,
      "name": "llms.txtファイルの作成",
      "text": "Markdown形式でllms.txtファイルを作成します。",
      "url": "https://0120.co.jp/blog/aio-47/#step2"
    },
    {
      "@type": "HowToStep",
      "position": 3,
      "name": "サーバーへのアップロード",
      "text": "サイトのルートディレクトリにファイルをアップロードします。",
      "url": "https://0120.co.jp/blog/aio-47/#step3"
    }
  ]
}
</script>

Organization スキーマ(会社情報)

会社・組織の情報を表現するスキーマです。

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Organization",
  "name": "株式会社課題解決プラットフォーム",
  "alternateName": "課題解決プラットフォーム",
  "url": "https://0120.co.jp/",
  "logo": "https://0120.co.jp/logo.png",
  "description": "MEO対策・AI研修・動画制作・AIO(AI検索最適化)を提供する専門会社",
  "foundingDate": "2023",
  "founder": {
    "@type": "Person",
    "name": "上田 拓哉"
  },
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "谷戸町3-27-24 ひばりが丘プラザ2階",
    "addressLocality": "西東京市",
    "addressRegion": "東京都",
    "postalCode": "188-0001",
    "addressCountry": "JP"
  },
  "contactPoint": {
    "@type": "ContactPoint",
    "telephone": "+81-42-445-5602",
    "contactType": "customer service",
    "email": "[email protected]",
    "availableLanguage": "Japanese"
  },
  "sameAs": [
    "https://www.instagram.com/kadai_kaiketu/",
    "https://www.youtube.com/@kadaikaiketsu"
  ]
}
</script>

Product スキーマ(商品・サービス)

商品やサービスを表現するスキーマです。

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Service",
  "name": "AIO(AI検索最適化)サービス",
  "description": "AI検索でのブランド可視性を高める包括的サービス",
  "provider": {
    "@type": "Organization",
    "name": "株式会社課題解決プラットフォーム"
  },
  "offers": [
    {
      "@type": "Offer",
      "name": "AIO診断",
      "price": "100000",
      "priceCurrency": "JPY",
      "description": "AI検索での自社言及状況調査"
    },
    {
      "@type": "Offer",
      "name": "スタンダードプラン",
      "price": "150000",
      "priceCurrency": "JPY",
      "description": "月額での継続的なAIO対策"
    },
    {
      "@type": "Offer",
      "name": "プレミアムプラン",
      "price": "300000",
      "priceCurrency": "JPY",
      "description": "包括的GEO戦略"
    }
  ]
}
</script>

BreadcrumbList スキーマ(パンくずリスト)

サイトの階層構造を示すパンくずリストのスキーマです。

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "BreadcrumbList",
  "itemListElement": [
    {
      "@type": "ListItem",
      "position": 1,
      "name": "ホーム",
      "item": "https://0120.co.jp/"
    },
    {
      "@type": "ListItem",
      "position": 2,
      "name": "ブログ",
      "item": "https://0120.co.jp/blog/"
    },
    {
      "@type": "ListItem",
      "position": 3,
      "name": "構造化データJSON-LDの書き方",
      "item": "https://0120.co.jp/blog/aio-50/"
    }
  ]
}
</script>

複数スキーマの統合実装

1つのページに複数のスキーマを配置する場合の実装方法です。

方法1: 複数のscriptタグ

最もシンプルな方法です。

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Article",
  ...
}
</script>
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  ...
}
</script>

方法2: @graph を使用した統合

1つのscriptタグ内に複数のスキーマをまとめる方法です。

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@type": "Article",
      "@id": "https://0120.co.jp/blog/aio-50/#article",
      "headline": "構造化データJSON-LDの書き方",
      ...
    },
    {
      "@type": "FAQPage",
      "@id": "https://0120.co.jp/blog/aio-50/#faq",
      "mainEntity": [
        ...
      ]
    },
    {
      "@type": "BreadcrumbList",
      "@id": "https://0120.co.jp/blog/aio-50/#breadcrumb",
      "itemListElement": [
        ...
      ]
    }
  ]
}
</script>

スキーマタイプ別の使い分け

どの状況でどのスキーマを使うべきかの判断基準を紹介します。

ページタイプ推奨スキーマ優先度
ブログ記事Article + FAQPage最高
サービス紹介Service + Organization
商品ページProduct + Review
会社概要Organization + LocalBusiness最高
トップページOrganization + WebSite
よくある質問FAQPage最高
手順解説HowTo
イベント告知Event
レビューReview + Rating
レシピRecipe

実装時のよくある間違い

間違い1: datePublishedの形式ミス

誤り:

"datePublished": "2026/4/14"

正しい:

"datePublished": "2026-04-14"

ISO 8601形式(YYYY-MM-DD)で記述する必要があります。

間違い2: URLのhttps://抜け

誤り:

"@context": "schema.org"

正しい:

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

間違い3: 必須プロパティの欠落

Articleスキーマではheadline、image、datePublished、author、publisherが必須です。これらが欠けているとリッチリザルトの対象外になります。

間違い4: 画像URLの相対パス

誤り:

"image": "/logo.png"

正しい:

"image": "https://0120.co.jp/logo.png"

検証ツールの使い方

Googleリッチリザルトテスト

  1. https://search.google.com/test/rich-results にアクセス
  2. URLまたはコードを入力
  3. 「URLをテスト」または「コードをテスト」をクリック
  4. エラー・警告を確認

Schema.org バリデーター

  1. https://validator.schema.org/ にアクセス
  2. URLまたはコードを貼り付け
  3. 「RUN TEST」をクリック
  4. 構文エラーを確認

Google Search Console

  1. 対象サイトにアクセス
  2. 左メニューの「拡張」セクションを確認
  3. 各スキーマタイプのステータスを確認
  4. エラーがあれば詳細を確認して修正

AI検索時代の構造化データ戦略

構造化データは、Google検索だけでなくAI検索でも重要な役割を果たします。

AI検索での構造化データの効果

AI検索サービス構造化データの効果
Google AI Overview引用率1.9倍向上
ChatGPT Search引用率1.7倍向上
Perplexity引用率2.1倍向上
Gemini引用率1.5倍向上
Bing Copilot引用率1.6倍向上

特にFAQPageスキーマはすべてのAI検索で高い効果を発揮します。

構造化データの優先実装順

限られたリソースで構造化データを実装する際の優先順位です。

優先度スキーマ実装対象
1FAQPage全ブログ記事
2Article全ブログ記事
3Organizationトップページ
4LocalBusiness会社概要ページ
5BreadcrumbList全ページ
6HowTo手順解説記事
7Serviceサービスページ
8Product商品ページ

Next.jsでの実装例

Next.jsアプリでJSON-LDを実装する例です。

// components/JsonLd.tsx
export const JsonLd = ({ data }: { data: object }) => (
  <script
    type="application/ld+json"
    dangerouslySetInnerHTML={{ __html: JSON.stringify(data) }}
  />
)

// app/blog/[slug]/page.tsx
import { JsonLd } from '@/components/JsonLd'

export default function BlogPost({ post }) {
  const articleSchema = {
    '@context': 'https://schema.org',
    '@type': 'Article',
    headline: post.title,
    datePublished: post.date,
    dateModified: post.lastUpdated,
    author: {
      '@type': 'Person',
      name: '上田 拓哉',
    },
  }

  return (
    <>
      <JsonLd data={articleSchema} />
      <article>{/* 記事本文 */}</article>
    </>
  )
}

当社のAIOサービス

構造化データの完全実装を含む包括的なAI検索最適化は、AIO(AI検索最適化)サービスでご支援しています。

プラン料金内容
AIO診断100,000円(1回)現状の構造化データ監査
スタンダード150,000円/月全ページへの実装・検証・改善
プレミアム300,000円/月高度なスキーマ設計と継続最適化

まとめ: 構造化データ実装の3ステップ

  1. FAQPageから始める——最も引用効果が高く実装が簡単
  2. Article・Organizationを追加する——基本情報を構造化
  3. 定期的に検証する——リッチリザルトテストで常に確認

構造化データは、AI検索時代における最もROIが高いSEO施策の1つです。今週から実装を始めることをお勧めします。


関連記事:

AIO対策・AI検索最適化のご相談はこちら →

LINE登録特典

AI検索対策の最新トレンドレポート、無料で差し上げます

LINE登録で「2026年版 AI検索対策トレンドレポート」をすぐにお届け。Google AI Overview・ChatGPT・Perplexityの最新動向をまとめています。

登録後にお届けします

電話でのご相談も受付中

042-445-5602

📌 この記事のポイント

構造化データJSON-LDの書き方を完全解説。Article・FAQPage・LocalBusiness・HowToなど主要スキーマの実装コード例を完全網羅。AI検索時代の必須施策を、コピペ可能な実装テンプレートで解説します。

この記事は株式会社課題解決プラットフォーム2026-04-14に公開し、2026-04-14に内容を更新しました。内容の正確性を定期的に確認しています。最新の情報についてはお問い合わせください。

よくある質問

Q.JSON-LDと他の構造化データ形式(Microdata・RDFa)の違いは何ですか?

JSON-LDは「JavaScript Object Notation for Linked Data」の略で、JSON形式で構造化データを記述する方式です。Googleが2015年以降、JSON-LDを推奨形式と明言しており、2026年現在では実装の90%以上がJSON-LDを採用しています。Microdataは HTMLタグに直接属性を追加する方式、RDFaはより柔軟な記述が可能ですが記述が煩雑です。JSON-LDの最大のメリットは、HTMLのマークアップから完全に分離できるため、既存のHTMLを変更せずに構造化データを追加できる点です。また、headタグ内に配置するためメンテナンス性も高く、AIクローラーによる解析も容易です。

Q.構造化データを実装するとすぐに検索順位が上がりますか?

直接的な順位向上はありませんが、間接的には大きな効果があります。Googleは「構造化データ自体はランキング要因ではない」と明言していますが、リッチリザルト(検索結果の拡張表示)の条件となり、CTR向上に貢献します。また、AI Overview・ChatGPT Search・Perplexityなどの生成AI検索では、構造化データが引用の重要な判断材料になっています。Ahrefsの2026年2月調査では、構造化データを実装した記事は未実装の記事と比較してAI引用率が1.9倍高いという結果が出ています。長期的にはSEO全体の改善にもつながる重要な施策です。

Q.構造化データが正しく実装されているかを確認する方法はありますか?

3つの確認方法があります。①Googleのリッチリザルトテスト(https://search.google.com/test/rich-results)でURLまたはコードを直接検証、②Schema.org公式バリデーター(https://validator.schema.org/)で構文チェック、③Google Search Consoleの「拡張」セクションで実装済みのスキーマ一覧と問題点を確認。これらのツールを併用することで、構文エラー・必須フィールドの欠落・推奨フィールドの未設定などを発見できます。実装後は必ず上記ツールで検証し、問題がないことを確認してから公開することが重要です。

CONTACT

無料30分で課題を棚卸し
→ 最適な打ち手をご提案

課題が整理されていなくても構いません。「何から手をつけていいかわからない」状態から一緒に始めます。

お気軽にお問い合わせください。費用が合わなければお断りいただけます。まず話を聞くだけでもOKです。

お問い合わせフォーム

※ 1〜2営業日以内にご連絡します。