主要JSON-LDスキーマ 実装テンプレート集:WebSite・Organization・Article・BreadcrumbList
各章へクイックジャンプ:
JSON-LDの理論を理解したら、次は実装です。本章では、実務で最も使われる4つのスキーマをすぐにコピペして使えるテンプレート形式 で提供します。 各プロパティがなぜ必要か、何を記述すべきかの解説付きです。 これらの4スキーマを正しく実装するだけで、ほとんどのWebサイトはリッチリザルト対応の基盤が整います。
- WebSite:サイト全体の主体定義 + 他スキーマの基点づくり
- Organization:会社・ブランドの権威性証明 + E-E-A-T対応
- Article / BlogPosting:記事の著者・公開日・更新日の機械的証明
- BreadcrumbList:サイト階層構造の明示 + 検索結果UI改善
1. WebSite スキーマ:サイト全体の基点エンティティを定義する
WebSite スキーマ はサイトのルートURL(トップページ)に配置し、 「このドメイン全体が何者か」を検索エンジンとAIに伝えるための基点になります。Organization、WebPage、BreadcrumbList などの参照先として 一貫した @id を持たせることが主目的です。
📌 2026年4月13日時点の注意
かつて使われていた SearchAction による サイトリンク検索ボックス は、 Googleが 2024年11月21日 に表示終了を発表しています。 そのため現在の WebSite スキーマは、「検索ボックスを出すため」ではなく、 サイト全体の主体を定義するために実装する、と理解するのが正確です。
{
"@context": "https://schema.org",
"@type": "WebSite",
"@id": "https://example.com/#website",
"url": "https://example.com",
"name": "サイト名(ブランド名)",
"description": "このサイトが提供するサービス・コンテンツの簡潔な説明(160文字以内推奨)",
"inLanguage": "ja",
"publisher": {
"@id": "https://example.com/#organization"
}
}@id — https://example.com/#website
フラグメント識別子(#website)を使ってこのエンティティに固有IDを付与します。 他のスキーマ(OrganizationなどでWebSiteを参照する場合)から {"@id": "..."} で参照できるようになります。
publisher — Organizationへの参照
{"@id": "https://example.com/#organization"} と記述することで、 下で定義するOrganizationスキーマと連携します。直接書かず参照にすることで Google Knowledge Graphへの登録効率が上がります。
name / description — サイトの主題を簡潔に固定する
WebSite の役割は「このドメインは何のサイトか」を定義することです。 ブランド名だけでなく、事業内容やコンテンツ領域が読み取れる説明を添えると、 Organization や Article とつながったときの意味解釈が安定します。
2. Organization スキーマ:E-E-A-T対応の権威性証明
Organization スキーマ は、あなたの会社・ブランドの「機械向け名刺」です。 Google Knowledge Panel への表示、E-E-A-T評価の向上、ChatGPT/Perplexityへの組織情報提供に直結します。 サービス業・SaaS・メディアサイトを問わず、ほぼすべてのビジネスサイトで必須の実装 です。
{
"@context": "https://schema.org",
"@type": "Organization",
"@id": "https://example.com/#organization",
"name": "株式会社サンプル",
"legalName": "株式会社サンプル",
"url": "https://example.com",
"logo": {
"@type": "ImageObject",
"url": "https://example.com/logo.png",
"width": 512,
"height": 512
},
"description": "組織の事業内容・提供価値の説明(200文字程度)",
"foundingDate": "2020",
"numberOfEmployees": {
"@type": "QuantitativeValue",
"value": 50
},
"address": {
"@type": "PostalAddress",
"streetAddress": "〇〇区〇〇1-2-3",
"addressLocality": "東京都",
"postalCode": "100-0001",
"addressCountry": "JP"
},
"contactPoint": {
"@type": "ContactPoint",
"contactType": "customer support",
"email": "info@example.com",
"availableLanguage": "Japanese"
},
"sameAs": [
"https://www.facebook.com/example",
"https://twitter.com/example",
"https://www.linkedin.com/company/example",
"https://ja.wikipedia.org/wiki/example"
],
"knowsAbout": [
"SEO",
"AI検索最適化",
"構造化データ",
"Next.js"
]
}sameAs は「外部から認証されたURL」を記述するsameAs に列挙するURLは、実際に組織の情報が掲載されている信頼性の高い外部サービス のみにしてください。 Twitterアカウントが存在しないのに記述する、WikipediaページのURLを捏造するなどは Googleのスパムポリシー違反になります。実在するものだけを記述してください。LocalBusiness への拡張(店舗・オフィスがある場合)
実店舗や対面サービスを提供する場合は @type を "LocalBusiness" に変更(または Organization と LocalBusiness の配列指定)し、openingHoursSpecification と geo を追加します。
{
"@context": "https://schema.org",
"@type": ["Organization", "LocalBusiness"],
// ... 上記の Organization プロパティに加えて以下を追加
"geo": {
"@type": "GeoCoordinates",
"latitude": 35.6812,
"longitude": 139.7671
},
"openingHoursSpecification": [
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"],
"opens": "09:00",
"closes": "18:00"
}
],
"priceRange": "¥¥"
}3. Article / BlogPosting スキーマ:著者情報とE-E-A-Tの記事実装
記事・ブログ投稿には Article(またはBlogPosting・TechArticle)スキーマ を実装します。 著者情報・公開日・更新日・パブリッシャー情報がGoogleに伝わり、 検索結果でのリッチリザルト表示と E-E-A-T 評価に直結します。
汎用的な記事。ニュース記事・企業ブログ・コラムなどに使用。 Google News への対応も含む最も広い用途。
Articleのサブタイプ。ブログ形式の投稿に特化。 個人・企業ブログで最もよく使われる型。
技術系記事・開発者ドキュメントに特化したサブタイプ。proficiencyLevel(初心者向け/上級者向け)プロパティが使用可能。
{
"@context": "https://schema.org",
"@type": "Article",
"@id": "https://example.com/blog/json-ld-guide#article",
"headline": "記事タイトル(110文字以内を推奨)",
"description": "記事の概要・ディスクリプション(160文字以内を推奨)",
"image": [
"https://example.com/blog/json-ld-guide/ogp-1x1.jpg",
"https://example.com/blog/json-ld-guide/ogp-4x3.jpg",
"https://example.com/blog/json-ld-guide/ogp-16x9.jpg"
],
"datePublished": "2026-04-12T09:00:00+09:00",
"dateModified": "2026-04-12T09:00:00+09:00",
"author": {
"@type": "Person",
"@id": "https://example.com/author/yamada#person",
"name": "山田 太郎",
"url": "https://example.com/author/yamada",
"jobTitle": "SEOエンジニア",
"knowsAbout": ["SEO", "JSON-LD", "構造化データ", "Next.js"],
"sameAs": [
"https://twitter.com/yamada_example",
"https://www.linkedin.com/in/yamada-example"
]
},
"publisher": {
"@id": "https://example.com/#organization"
},
"mainEntityOfPage": {
"@type": "WebPage",
"@id": "https://example.com/blog/json-ld-guide"
},
"inLanguage": "ja",
"keywords": ["JSON-LD", "構造化データ", "SEO", "schema.org"],
"articleSection": "SEO / 技術解説",
"wordCount": 3000
}image は複数サイズを提供するとリッチリザルト採用率が上がるGoogleは 1:1、4:3、16:9 の3アスペクト比の画像を提供することを推奨しています。 最低でも1200px幅以上、60万ピクセル以上の画像が必要です。 画像が足りない場合はOGP画像を流用するのが現実的ですが、サイズ要件は満たしてください。
4. BreadcrumbList スキーマ:検索結果URLをパンくずに変える
BreadcrumbList スキーマ を実装すると、Google検索結果に表示される URL(example.com/blog/json-ld-guide)が パンくずリスト形式(ホーム > ブログ > JSON-LDガイド)に変わります。 サイト構造が一目で伝わり、ユーザーの信頼性とCTRが向上します。
{
"@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/blog"
},
{
"@type": "ListItem",
"position": 3,
"name": "JSON-LDガイド",
"item": "https://example.com/blog/json-ld-guide"
}
]
}item URLは省略可能パンくずリストの最終アイテム(現在のページ)は
item プロパティを省略できます。 ただし省略した場合でも position と name は必須です。 Next.jsなどで動的に生成する場合は、現在のURLを usePathname() などから 取得して各 item に設定することで完全な実装が可能です。5. 実務での組み合わせ:トップページ・記事ページの完全実装例
実際のWebサイトでは、複数のスキーマを同一ページに実装します。 JSON-LDは <script> タグを複数書いてもよく、 または1つの <script> タグにJSONの配列形式で複数スキーマをまとめることもできます。
// app/layout.tsx または app/page.tsx
export default function RootLayout({ children }) {
const jsonLd = [
{
"@context": "https://schema.org",
"@type": "WebSite",
"@id": "https://example.com/#website",
"url": "https://example.com",
"name": "サイト名",
"inLanguage": "ja",
"publisher": { "@id": "https://example.com/#organization" }
},
{
"@context": "https://schema.org",
"@type": "Organization",
"@id": "https://example.com/#organization",
"name": "株式会社サンプル",
"url": "https://example.com",
"logo": { "@type": "ImageObject", "url": "https://example.com/logo.png" },
"sameAs": ["https://twitter.com/example"]
}
];
return (
<html lang="ja">
<head>
<script
type="application/ld+json"
dangerouslySetInnerHTML={{ __html: JSON.stringify(jsonLd) }}
/>
</head>
<body>{children}</body>
</html>
);
}// app/blog/[slug]/page.tsx
export default function BlogPost({ params }) {
const article = getArticleBySlug(params.slug);
const jsonLd = [
{
"@context": "https://schema.org",
"@type": "Article",
"headline": article.title,
"description": article.description,
"datePublished": article.publishedAt,
"dateModified": article.updatedAt,
"author": {
"@type": "Person",
"name": article.author.name,
"url": `https://example.com/author/${article.author.slug}`
},
"publisher": { "@id": "https://example.com/#organization" },
"image": article.ogpImage,
"mainEntityOfPage": {
"@type": "WebPage",
"@id": `https://example.com/blog/${params.slug}`
}
},
{
"@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/blog" },
{ "@type": "ListItem", "position": 3, "name": article.title, "item": `https://example.com/blog/${params.slug}` }
]
}
];
return (
<>
<script
type="application/ld+json"
dangerouslySetInnerHTML={{ __html: JSON.stringify(jsonLd) }}
/>
<article>
{/* 記事コンテンツ */}
</article>
</>
);
}6. 実装チェックリスト
@id のフラグメント識別子(#website、#organization)が一貫していることを確認。sameAs に実在するSNS・WikipediaのURLを記述存在しないURL、または誤ったURLを記述するとGoogleのナレッジグラフが混乱します。 実際にアクセスできるURLのみ記述してください。image が1200px幅以上・60万ピクセル以上を満たしているGoogle Rich Results Testで警告が出る最頻出ミスが画像サイズ不足です。 OGP画像を転用する場合も、サイズ要件を確認してください。全5章を通して、AI時代に構造化データを使いこなす技術を学びましょう。
実装後のエラーは
AIOGeoScanで一括検出できます
Organization・Article・BreadcrumbList の必須プロパティ漏れや スキーマの不整合をURLを入力するだけで自動検出。 手動テストの工数を削減し、継続的な品質維持を実現します。
今すぐ自社サイトを無料診断する