この記事の対象読者
- Google 検索結果でリッチリザルトを表示させたい人
- JSON-LD の書き方を知りたい人
- ブログに構造化データを実装したい人
目次
構造化データとは
構造化データは、Web ページの内容を 検索エンジンが機械的に理解できる形式 で記述したものです。Google はこのデータを使って、検索結果にリッチリザルト(パンくずリスト、公開日、著者情報など)を表示します。
リッチリザルトの効果
- 検索結果の表示面積が大きくなり目立つ
- クリック率(CTR)が向上する
- Google がコンテンツの内容を正確に理解できる
記述形式の比較
| 形式 | 特徴 | 推奨度 |
|---|---|---|
| JSON-LD | scriptタグ内にJSONで記述。HTMLと分離できる | Google推奨 |
| Microdata | HTML属性(itemprop等)で記述 | 利用可 |
| RDFa | HTML属性で記述(Microdataに類似) | 利用可 |
JSON-LD が Google 公式推奨 です。HTMLの構造に影響を与えず、メンテナンスも容易です。
JSON-LD の基本構文
JSON-LD は <script type="application/ld+json"> タグ内に記述します。
HTML
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "タイプ名",
"プロパティ名": "値"
}
</script>
| キー | 意味 |
|---|---|
@context | 語彙の定義元(常に https://schema.org) |
@type | データの種類(Article, WebSite 等) |
WebSite(サイト情報)
トップページに設置します。サイト名と検索機能を Google に伝えます。
トップページ
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "WebSite",
"name": "サイト名",
"url": "https://example.com/",
"description": "サイトの説明文",
"inLanguage": "ja",
"potentialAction": {
"@type": "SearchAction",
"target": {
"@type": "EntryPoint",
"urlTemplate": "https://example.com/search/?q={search_term_string}"
},
"query-input": "required name=search_term_string"
}
}
</script>
SearchAction の効果
SearchAction を設定すると、Google 検索結果にサイト内検索ボックスが表示される可能性があります。ユーザーが Google から直接サイト内検索できるようになります。
Article(記事情報)
ブログの記事ページに設置する最も重要な構造化データです。
記事詳細ページ
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Article",
"headline": "記事タイトル",
"description": "記事の要約",
"url": "https://example.com/article/slug/",
"datePublished": "2026-01-15T09:00:00+09:00",
"dateModified": "2026-02-01T10:30:00+09:00",
"wordCount": 3500,
"image": "https://example.com/images/thumbnail.png",
"author": {
"@type": "Person",
"name": "著者名"
},
"publisher": {
"@type": "Organization",
"name": "サイト名"
},
"mainEntityOfPage": {
"@type": "WebPage",
"@id": "https://example.com/article/slug/"
},
"articleSection": "Python",
"keywords": ["Python", "プログラミング"]
}
</script>
Article の主要プロパティ
| プロパティ | 内容 | 必須 |
|---|---|---|
headline | 記事タイトル | 必須 |
datePublished | 公開日時(ISO 8601形式) | 推奨 |
dateModified | 更新日時 | 推奨 |
author | 著者情報 | 推奨 |
image | 記事のサムネイル画像 | 推奨 |
wordCount | 記事の文字数 | 任意 |
articleSection | 記事のカテゴリ | 任意 |
keywords | 記事のキーワード | 任意 |
BreadcrumbList(パンくず)
パンくずリストの構造化データを設定すると、検索結果に階層構造が表示されます。
HTML(Microdata方式)
<nav aria-label="パンくずリスト">
<ol itemscope itemtype="https://schema.org/BreadcrumbList">
<li itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
<a href="/" itemprop="item">
<span itemprop="name">トップ</span>
</a>
<meta itemprop="position" content="1">
</li>
<li itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
<a href="/category/python/" itemprop="item">
<span itemprop="name">Python</span>
</a>
<meta itemprop="position" content="2">
</li>
</ol>
</nav>
ItemList(記事一覧)
トップページやカテゴリページに設置し、記事一覧をリスト形式で Google に伝えます。
トップページ / カテゴリページ
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "CollectionPage",
"name": "最新記事",
"mainEntity": {
"@type": "ItemList",
"itemListElement": [
{
"@type": "ListItem",
"position": 1,
"url": "https://example.com/article/python/variables/",
"name": "Python変数の使い方"
},
{
"@type": "ListItem",
"position": 2,
"url": "https://example.com/article/python/functions/",
"name": "Python関数入門"
}
]
}
}
</script>
構造化データのテスト
実装後は、Google のテストツールで正しく認識されるか確認します。
| ツール | URL | 用途 |
|---|---|---|
| リッチリザルトテスト | search.google.com/test/rich-results | リッチリザルトの対応確認 |
| スキーママークアップ検証 | validator.schema.org | 構造化データの文法チェック |
まとめ
- 構造化データは検索結果のリッチリザルト表示に必要
- JSON-LD が Google 推奨の記述形式
- ブログに必要な構造化データは WebSite・Article・BreadcrumbList・ItemList
- 実装後は Google のリッチリザルトテストで動作確認