HTML

Structured data is a mechanism for adding additional information (markup) in a specific format to web page content, making it easier for search engines and other systems to interpret.

構造化データ

構造化データ(Structured Data)とは

概要

構造化データ(Structured Data)とは、Webページ上の情報を検索エンジンなどが機械的に認識しやすい形でマークアップするための仕組みです。検索エンジンは通常、WebページのHTMLを解析して情報を取得しますが、構造化データを使うと「これは著者名」「これは商品名」「これはレビュー」など、より正確にデータの意味を伝えることができます。

なぜ重要か

検索結果でのリッチリザルト
GoogleやBingなどの検索エンジンは、構造化データが適切に設定されたページを「リッチリザルト(Rich Results)」として表示することがあります。レビューの星評価や価格情報などが検索結果に表示されると、ユーザーにとってページの内容が分かりやすくなり、クリック率の向上が期待できます。
SEOへの効果
構造化データそのものが直接的に検索順位を上昇させるわけではありません。しかし、検索結果がリッチ化することでCTR(クリック率)が上がり、結果的にSEOにポジティブな影響を与えるケースがあります。

構造化データの主な形式

大きく分けて、以下のような形式があります。近年はJSON-LD形式が主流となりつつありますが、すべての形式を把握しておくと、既存サイトへの対応や高度な実装に役立ちます。

Microdata

HTML5のタグ属性を使用
Microdataは、HTMLタグに itempropitemscopeitemtype といった属性を付与して情報の意味を定義します。構文が直接HTMLに書き込まれるため、コードがやや複雑になりやすいというデメリットがあります。

HTML

<div itemscope itemtype="https://schema.org/Person">
	<span itemprop="name">山田 太郎</span>
	<div itemprop="address" itemscope itemtype="https://schema.org/PostalAddress">
		<span itemprop="streetAddress">1-2-3 Example Street</span>,
		<span itemprop="addressLocality">Tokyo</span>
	</div>
</div>
山田 太郎
1-2-3 Example Street, Tokyo

RDFa

HTMLタグにメタデータを埋め込む
RDFa(Resource Description Framework in Attributes)は、HTMLやXHTMLの属性を拡張してメタデータを埋め込む形式です。Microdataと似ていますが、表現力が高く、RDF(Resource Description Framework)という汎用的なデータモデルに対応しています。

HTML

<div vocab="https://schema.org/" typeof="Person">
	<span property="name">山田 太郎</span>
	<div property="address" typeof="PostalAddress">
		<span property="streetAddress">1-2-3 Example Street</span>,
		<span property="addressLocality">Tokyo</span>
	</div>
</div>
山田 太郎
1-2-3 Example Street, Tokyo

JSON-LD

JavaScript形式のデータをHTMLに埋め込む
JSON-LD(JavaScript Object Notation for Linked Data)は、スクリプトタグ内にJSON形式で構造化データを定義します。HTMLのマークアップそのものに手を加える必要が少なく、他のスクリプトやタグ構造と干渉しにくいメリットがあります。
現在の主流
Googleをはじめとする主要な検索エンジンはJSON-LDを推奨しています。特に新規サイト構築やリニューアルの場合はJSON-LDが最も取り入れやすいでしょう。

HTML

<script type="application/ld+json">
	{
		"@context": "https://schema.org",
		"@type": "Person",
		"name": "山田 太郎",
		"address": {
			"@type": "PostalAddress",
			"streetAddress": "1-2-3 Example Street",
			"addressLocality": "Tokyo"
		}
	}
</script>

Schema.orgとは

Schema.orgの役割

構造化データでよく参照されるURLが「https://schema.org/」です。これは検索エンジン各社(Google、Microsoft、Yahooなど)が共同で策定・管理しているボキャブラリ(語彙)の集合で、PersonやProduct、Recipeなど、多種多様なエンティティについてプロパティの定義が行われています。

よく使われるタイプ

Article/BlogPosting
記事やブログ投稿を構造化するときに使用
Product
商品情報を検索エンジンに正確に伝えるために使用
Recipe
料理レシピサイトでの材料や調理時間などを伝えるために使用
LocalBusiness
店舗や企業の所在地、連絡先、営業時間などを伝えるために使用
Event
イベント情報(開催日・場所・価格など)を構造化

ボキャブラリの拡張

Schema.orgには多くのタイプが定義されていますが、さらに細分化されたタイプや自分のサイト固有の要素を扱いたい場合は、独自の命名空間の利用や additionalType プロパティを使って拡張することも可能です。

実装方法

基本的な実装の流れ

1.マークアップ対象を決める
記事や商品、店舗情報など、何を構造化データとしてマークアップするかを明確にします。
2.Schema.orgのタイプを確認
適切なタイプ(ArticleProductなど)とプロパティ(namedescriptionなど)を選びます。
3.形式(Microdata/RDFa/JSON-LD)を選ぶ
現在主流のJSON-LDがおすすめです。サイトの要件に合わせて選択しましょう。
4.テストツールで検証
Googleのリッチリザルトテストや構造化データテストツールなどを使ってエラーがないか確認します。

実践例(JSON-LDを用いた記事のマークアップ)

以下は、ブログ記事(BlogPosting)の構造化データ例です。主なプロパティを含んでいます。

HTML

<!DOCTYPE html>
<html lang="ja">
<head>
	<meta charset="UTF-8">
	<title>構造化データのサンプル記事</title>
	<script type="application/ld+json">
	{
		"@context": "https://schema.org",
		"@type": "BlogPosting",
		"headline": "構造化データの重要性と導入方法",
		"description": "構造化データを導入することで、検索結果のリッチ化を狙うための基本的な考え方を解説します。",
		"datePublished": "2025-02-01T12:00:00+09:00",
		"dateModified": "2025-02-05T10:00:00+09:00",
		"author": {
			"@type": "Person",
			"name": "山田 太郎"
		},
		"publisher": {
			"@type": "Organization",
			"name": "Example Corp.",
			"logo": {
				"@type": "ImageObject",
				"url": "https://www.example.com/logo.png"
			}
		},
		"image": "https://www.example.com/article-image.jpg"
	}
	</script>
</head>
<body>
	<h1>構造化データの重要性と導入方法</h1>
	<p>ここでは構造化データを導入するメリットと実装方法について解説します...</p>
</body>
</html>

構造化データを活用した主なリッチリザルト

レビュー(Review)

概要
商品やサービスに対するレビューを星評価(ratingValue)やレビュー数(reviewCount)などとともにマークアップします。
メリット
検索結果に星評価が表示されることで視覚的に目立ち、ユーザーの興味を引きやすい。

パンくずリスト(Breadcrumb)

概要
サイトの階層構造を表すためのパンくずリストを構造化データで定義します。
メリット
検索結果に階層表示されることで、ユーザーがサイトの位置関係を理解しやすくなる。

FAQ(Frequently Asked Questions)

概要
ユーザーがよく質問する内容とその回答をマークアップします。
メリット
検索結果にQ&A形式のリッチリザルトが表示され、ユーザーの疑問に素早く応えることができる。

How-to

概要
手順(step)ごとに作業内容や必要な時間、画像などを構造化することで、How-toリッチリザルトとして表示されます。
メリット
実際の手順を検索結果でダイレクトに表示できるため、ユーザーが内容を把握しやすい。

注意点とベストプラクティス

スパム的なマークアップをしない

検索エンジンを欺くような嘘の情報や不正なマークアップを行うと、ペナルティを受ける可能性があります。常に実際の内容を忠実に反映した構造化データを提供しましょう。

コンテンツとの整合性を保つ

構造化データで定義した情報がページの実際の内容や表示と矛盾していると、検索エンジンからの評価を下げる要因になります。表示されている情報とマークアップが矛盾していないかを必ず確認しましょう。

JSON-LDはなるべくヘッダー(head)内に置く

技術的にはHTMLのどこに配置しても認識されることが多いですが、ベストプラクティスとしては <head> タグ内に配置することが推奨されます。複数ある場合はまとめて配置するか、明確に分割してください。

動的生成にも対応

ReactやVueなどのフレームワークを使っている場合でも、サーバーサイドレンダリング(SSR)やプリレンダリングの仕組みを利用する、もしくはサーバー側でJSON-LDを生成して埋め込むことで検索エンジンに対応させることができます。

中級者以上の方向けの高度な活用方法

構造化データの複数同時活用

1つのページに複数種類の構造化データを併用できます。たとえば、商品ページに「Product」と「Review」タイプを同時にマークアップすることで、商品情報とレビュー情報の両方を検索エンジンに伝えることができます。

ウェブサイト全体の知識グラフ化

構造化データは、ページ単位だけでなくサイト全体を一貫した知識グラフとして構築する視点でも利用可能です。たとえば、Organizationスキーマをトップページに設定し、各著者をPersonスキーマで定義、さらに記事をBlogPostingスキーマで紐づけることで、サイト全体の意味関係を整理できます。

Google Search Consoleでのモニタリング

Google Search Consoleを利用すると、構造化データエラーや警告、リッチリザルトの表示回数などを定期的にモニタリングできます。サーチコンソールの「エンハンスメント」レポートは、ページに実装した構造化データの状況を詳しく可視化してくれます。

AMP(Accelerated Mobile Pages)との組み合わせ

モバイル高速化のためにAMPページを採用している場合、構造化データが必須あるいは推奨されているケースがあります。AMPが正しく機能するためにも、JSON-LDでの構造化データの整合性をチェックし、対応するリッチリザルトを最大限活用しましょう。

独自のスキーマ拡張

Schema.orgが定義していない非常に専門的な情報や業界固有の要素を扱う場合は、独自の命名空間でスキーマを拡張する方法もあります。これは高度な知識を要しますが、特定の領域においては検索エンジンや外部サービスとの連携を強化するために有効です。

構造化データのメンテナンスと運用

定期的なバリデーション

サイト更新やリニューアル時にHTML構造が変わると、構造化データのマークアップもズレが生じる可能性があります。更新後は必ずGoogleのリッチリザルトテストやSearch Consoleでエラーが発生していないかチェックしましょう。

スキーマ仕様の更新への対応

Schema.orgは随時更新されており、新しいタイプやプロパティが追加されたり、推奨されなくなった型が出てきたりします。中長期的には公式サイトや検索エンジンのドキュメントをウォッチし、仕様変更に追随することが大切です。

サイト運営ポリシーと整合性

構造化データが示す情報は、サイトのビジネスモデルや運営ポリシーにも影響を与えます。たとえばレビューの星評価はユーザー投稿によるものだけでなく、自社の担当者が恣意的に操作するケースはペナルティリスクがあります。正しい運営ポリシーと一貫して運用することが重要です。

まとめ

構造化データは、Webページの情報を「検索エンジンに分かりやすく」伝えるための強力な手段です。単純に検索順位を上げるためだけのテクニックではありませんが、適切にマークアップすることでユーザーに対する情報提供を強化し、結果的にCTR向上などのSEO効果が期待できます。

初心者の方
まずは自分のサイトで扱うコンテンツ(商品、記事、店舗情報など)を正しく構造化することから始めるとよいでしょう。JSON-LD形式で簡単なスクリプトを追加し、テストツールでエラーがないかチェックするのがおすすめです。
中級者以上の方
複数のスキーマを組み合わせてサイト全体を知識グラフ化する取り組みや、AMPやSSRなどを活用した高度な実装、独自スキーマの拡張などに挑戦してみるとよいでしょう。

常にページの内容やユーザビリティを最優先に考えつつ、構造化データの正確かつ効果的な活用を続けていくことで、サイトの信頼性向上やユーザー体験の改善につなげることができます。