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)とは、Webページ上の情報を検索エンジンなどが機械的に認識しやすい形でマークアップするための仕組みです。検索エンジンは通常、WebページのHTMLを解析して情報を取得しますが、構造化データを使うと「これは著者名」「これは商品名」「これはレビュー」など、より正確にデータの意味を伝えることができます。
大きく分けて、以下のような形式があります。近年はJSON-LD形式が主流となりつつありますが、すべての形式を把握しておくと、既存サイトへの対応や高度な実装に役立ちます。
itemprop
、itemscope
、itemtype
といった属性を付与して情報の意味を定義します。構文が直接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>
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>
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>
構造化データでよく参照されるURLが「https://schema.org/
」です。これは検索エンジン各社(Google、Microsoft、Yahooなど)が共同で策定・管理しているボキャブラリ(語彙)の集合で、PersonやProduct、Recipeなど、多種多様なエンティティについてプロパティの定義が行われています。
https://schema.org/Person
には、name
、address
、birthDate
、jobTitle
などのプロパティが定義されている。https://schema.org/Product
には、name
、image
、description
、sku
、brand
、offers
などの商品を説明するプロパティが定義されている。Schema.orgには多くのタイプが定義されていますが、さらに細分化されたタイプや自分のサイト固有の要素を扱いたい場合は、独自の命名空間の利用や additionalType
プロパティを使って拡張することも可能です。
Article
やProduct
など)とプロパティ(name
やdescription
など)を選びます。以下は、ブログ記事(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>
検索エンジンを欺くような嘘の情報や不正なマークアップを行うと、ペナルティを受ける可能性があります。常に実際の内容を忠実に反映した構造化データを提供しましょう。
構造化データで定義した情報がページの実際の内容や表示と矛盾していると、検索エンジンからの評価を下げる要因になります。表示されている情報とマークアップが矛盾していないかを必ず確認しましょう。
技術的にはHTMLのどこに配置しても認識されることが多いですが、ベストプラクティスとしては <head>
タグ内に配置することが推奨されます。複数ある場合はまとめて配置するか、明確に分割してください。
ReactやVueなどのフレームワークを使っている場合でも、サーバーサイドレンダリング(SSR)やプリレンダリングの仕組みを利用する、もしくはサーバー側でJSON-LDを生成して埋め込むことで検索エンジンに対応させることができます。
1つのページに複数種類の構造化データを併用できます。たとえば、商品ページに「Product」と「Review」タイプを同時にマークアップすることで、商品情報とレビュー情報の両方を検索エンジンに伝えることができます。
構造化データは、ページ単位だけでなくサイト全体を一貫した知識グラフとして構築する視点でも利用可能です。たとえば、Organizationスキーマをトップページに設定し、各著者をPersonスキーマで定義、さらに記事をBlogPostingスキーマで紐づけることで、サイト全体の意味関係を整理できます。
Google Search Consoleを利用すると、構造化データエラーや警告、リッチリザルトの表示回数などを定期的にモニタリングできます。サーチコンソールの「エンハンスメント」レポートは、ページに実装した構造化データの状況を詳しく可視化してくれます。
モバイル高速化のためにAMPページを採用している場合、構造化データが必須あるいは推奨されているケースがあります。AMPが正しく機能するためにも、JSON-LDでの構造化データの整合性をチェックし、対応するリッチリザルトを最大限活用しましょう。
Schema.orgが定義していない非常に専門的な情報や業界固有の要素を扱う場合は、独自の命名空間でスキーマを拡張する方法もあります。これは高度な知識を要しますが、特定の領域においては検索エンジンや外部サービスとの連携を強化するために有効です。
サイト更新やリニューアル時にHTML構造が変わると、構造化データのマークアップもズレが生じる可能性があります。更新後は必ずGoogleのリッチリザルトテストやSearch Consoleでエラーが発生していないかチェックしましょう。
Schema.orgは随時更新されており、新しいタイプやプロパティが追加されたり、推奨されなくなった型が出てきたりします。中長期的には公式サイトや検索エンジンのドキュメントをウォッチし、仕様変更に追随することが大切です。
構造化データが示す情報は、サイトのビジネスモデルや運営ポリシーにも影響を与えます。たとえばレビューの星評価はユーザー投稿によるものだけでなく、自社の担当者が恣意的に操作するケースはペナルティリスクがあります。正しい運営ポリシーと一貫して運用することが重要です。
構造化データは、Webページの情報を「検索エンジンに分かりやすく」伝えるための強力な手段です。単純に検索順位を上げるためだけのテクニックではありませんが、適切にマークアップすることでユーザーに対する情報提供を強化し、結果的にCTR向上などのSEO効果が期待できます。
常にページの内容やユーザビリティを最優先に考えつつ、構造化データの正確かつ効果的な活用を続けていくことで、サイトの信頼性向上やユーザー体験の改善につなげることができます。