構造化データの実装ガイド|SEOとAI検索の両方に効くマークアップ方法

Webサイトの検索パフォーマンスを高める施策として、構造化データ(Structured Data)の実装が注目されています。従来はGoogleのリッチリザルト表示を目的としたSEO施策として語られることが多かった構造化データですが、ChatGPTやPerplexityといったAI検索が台頭する現在、その重要性はさらに増しています。
構造化データは、SEO(リッチリザルト獲得)とAI検索(LLMによる情報理解の精度向上)の両方に効く「一石二鳥」の施策です。本記事では、構造化データの基本から、業種別の優先実装スキーマ、JSON-LDでの具体的な実装コード、WordPressでの導入方法まで、Web担当者・ディレクターが実務で使える情報を網羅的に解説します。
なお、テクニカルSEOの全体像については「テクニカルSEO記事」もあわせてご参照ください。
この記事の目次
構造化データとは?

構造化データとは、Webページの内容を検索エンジンやAIが理解しやすい形式で記述するためのメタデータです。人間が読むHTMLとは別に、機械が読み取れる「意味情報」をページに付与する仕組みと考えるとわかりやすいでしょう。
Schema.orgの仕組み
構造化データの記述には、Google・Microsoft・Yahoo!などが共同で策定したSchema.orgというボキャブラリ(語彙体系)が使われます。Schema.orgでは、「Organization(組織)」「Product(商品)」「Article(記事)」など、Webで扱われるあらゆる概念を「タイプ」として定義し、それぞれに「name(名前)」「url(URL)」「description(説明)」などの「プロパティ」が紐づいています。
このSchema.orgに沿って情報を記述することで、検索エンジンやAIはページの内容を単なるテキストの羅列ではなく、「何についての情報か」「どんな属性を持つか」を構造的に把握できるようになります。
SEOにおける役割(リッチリザルト表示)
構造化データをSEOの文脈で語るとき、最も大きなメリットはリッチリザルト(リッチスニペット)の獲得です。リッチリザルトとは、Google検索結果において通常の青いリンク+説明文に加え、以下のような追加情報が表示される形式を指します。
- FAQ(よくある質問):質問と回答がアコーディオン形式で展開
- レビュー・評価:星マーク付きの評価点が表示
- 商品情報:価格・在庫状況が検索結果に直接表示
- パンくずリスト:URL欄がサイト階層のパンくず表示に変化
- ハウツー:手順がステップ形式で表示
リッチリザルトが表示されると、検索結果での占有面積が大きくなり、クリック率(CTR)の向上が期待できます。Searchmetricsの調査では、リッチリザルトが表示されたページはCTRが最大30%向上するというデータもあります。
AI検索における役割(LLMの情報理解の手助け)
構造化データのもう一つの重要な役割が、AI検索(LLM)による情報理解の精度向上です。ChatGPTのブラウジング機能やPerplexity、Google SGEなど、LLM(大規模言語モデル)がWebページの情報を取得・要約する場面が急増しています。
LLMがWebページをクロールする際、構造化データが実装されていると以下のメリットがあります。
- エンティティの明確化:「このページは〇〇という企業の情報である」とLLMが正確に認識
- 属性の正確な抽出:住所・電話番号・営業時間などが曖昧さなく取得される
- FAQ構造の認識:質問と回答の対応関係が明確になり、AIの回答精度が向上
AI検索への最適化(AEO)については「AEO(Answer Engine Optimization)記事」で詳しく解説しています。また、LLM最適化(LLMO)の観点からは「LLMO記事」もあわせてご確認ください。構造化データは、まさにSEOとAI検索の両方をカバーする基盤的な施策なのです。
優先的に実装すべき構造化データ
Schema.orgには数百種類のタイプが定義されていますが、すべてを実装する必要はありません。ここでは、業種・ビジネスモデル別に優先すべきスキーマタイプを整理します。
全業種共通:Organization、BreadcrumbList、Article
業種を問わず、まず最優先で実装すべき3つのスキーマタイプがあります。
Organization(組織)
企業・団体の公式情報を明示するスキーマです。会社名、ロゴ、公式URL、SNSアカウントなどを記述します。Googleのナレッジパネル表示にも影響するため、コーポレートサイトには必須といえます。
BreadcrumbList(パンくずリスト)
サイト内の階層構造を検索エンジンに伝えるスキーマです。検索結果のURLがパンくず表示になるため、ユーザーにもサイト構造がわかりやすくなります。実装コストが低く効果が高いため、最初に取り組むべき項目です。
Article(記事)
ブログやコラムなどのコンテンツに付与するスキーマです。記事タイトル、公開日、更新日、著者情報などを記述します。ニュース記事の場合はNewsArticle、ブログの場合はBlogPostingなど、サブタイプの使い分けも重要です。
EC・小売:Product、Review、FAQ
ECサイトや小売業では、商品に関連するスキーマが特に重要です。
- Product:商品名、価格、在庫状況、画像などを記述。検索結果に価格が表示されるため、購買意欲の高いユーザーのクリックを促進
- Review / AggregateRating:商品レビューや評価を構造化。星マーク表示でCTRが大幅に向上
- FAQ:商品に関するよくある質問を構造化。「サイズ感は?」「返品できる?」などの疑問に検索結果上で直接回答
地域ビジネス:LocalBusiness
飲食店、美容室、クリニック、士業事務所など、特定の地域で営業するビジネスにとって、LocalBusinessスキーマは最重要の構造化データです。
LocalBusinessでは以下の情報を記述します。
- 店舗名・事業所名
- 住所(postalAddress)
- 電話番号(telephone)
- 営業時間(openingHoursSpecification)
- 地理座標(geo:緯度・経度)
- 提供サービスのエリア(areaServed)
Googleマップやローカルパック(地図+3店舗表示)での表示にも好影響を与えるため、MEO(Map Engine Optimization)施策としても有効です。さらに、AI検索が「〇〇駅近くの△△」といったローカル検索に対応する際にも、このデータが参照される可能性があります。
BtoB・サービス業:FAQPage、HowTo
BtoB企業やサービス業では、サービス内容の理解促進と問い合わせ獲得が主目的となります。
- FAQPage:サービスに関するよくある質問を構造化。検索結果での占有面積拡大に加え、LLMがサービス概要を把握する際の情報源としても機能
- HowTo:サービスの利用手順や申込フローを構造化。ステップ形式で検索結果に表示されるため、ユーザーの理解と信頼を促進
BtoB領域では特に、FAQPageスキーマの効果が高い傾向があります。問い合わせ前の不安解消をSERP上で行えるため、リード獲得率の向上が期待できます。
JSON-LDでの実装方法
構造化データの記述フォーマットには「JSON-LD」「Microdata」「RDFa」の3種類がありますが、現在はJSON-LD(JavaScript Object Notation for Linked Data)が主流です。Googleも公式にJSON-LDを推奨しています。
JSON-LD形式の基本構文
JSON-LDは、HTMLの<head>内または<body>内に<script type="application/ld+json">タグで記述します。HTMLの構造とは独立して配置できるため、既存のマークアップを変更する必要がなく、実装・管理が容易という大きなメリットがあります。
基本構文は以下の通りです。
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "スキーマタイプ名",
"プロパティ名1": "値1",
"プロパティ名2": "値2"
}
</script>@contextでSchema.orgを指定し、@typeでスキーマタイプを宣言、その後にプロパティと値を列挙するシンプルな構造です。
実装例:FAQPageスキーマ(コード例付き)
FAQPageは、ページ内のQ&Aセクションを構造化するスキーマです。BtoB・サービス業のサイトでは特に効果が高く、実装も比較的簡単です。
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "構造化データとは何ですか?",
"acceptedAnswer": {
"@type": "Answer",
"text": "構造化データとは、Webページの内容を検索エンジンやAIが理解しやすい形式で記述するメタデータです。Schema.orgのボキャブラリに沿って記述することで、リッチリザルトの表示やAI検索での情報認識精度向上が期待できます。"
}
},
{
"@type": "Question",
"name": "構造化データの実装にはどのような形式がありますか?",
"acceptedAnswer": {
"@type": "Answer",
"text": "JSON-LD、Microdata、RDFaの3形式があります。現在はGoogleが公式に推奨するJSON-LD形式が主流で、HTMLの構造を変更せずにscriptタグで記述できるため、実装・管理が容易です。"
}
},
{
"@type": "Question",
"name": "構造化データを実装するとSEOにどのような効果がありますか?",
"acceptedAnswer": {
"@type": "Answer",
"text": "主な効果はリッチリザルト(リッチスニペット)の獲得です。検索結果にFAQ、星評価、価格情報などの追加要素が表示され、クリック率(CTR)の向上が期待できます。直接的な検索順位の上昇要因ではありませんが、CTR向上を通じた間接的なSEO効果があります。"
}
}
]
}
</script>実装のポイント:
mainEntity配列内に複数のQuestionオブジェクトを記述- 各Questionには
name(質問文)とacceptedAnswer(回答)を必ず含める - 回答テキストにはHTMLタグ(
<a>、<br>など)を含めることも可能 - ページ上に実際に表示されているQ&Aと内容を一致させること(不一致はガイドライン違反)
実装例:LocalBusinessスキーマ(コード例付き)
LocalBusinessは、地域ビジネスの店舗情報を構造化するスキーマです。以下は飲食店の例です。
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Restaurant",
"name": "サンプルレストラン 渋谷店",
"image": "https://example.com/images/restaurant.jpg",
"url": "https://example.com/shibuya",
"telephone": "+81-3-1234-5678",
"address": {
"@type": "PostalAddress",
"streetAddress": "渋谷区道玄坂1-2-3",
"addressLocality": "渋谷区",
"addressRegion": "東京都",
"postalCode": "150-0043",
"addressCountry": "JP"
},
"geo": {
"@type": "GeoCoordinates",
"latitude": 35.6598,
"longitude": 139.7006
},
"openingHoursSpecification": [
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": ["Monday","Tuesday","Wednesday","Thursday","Friday"],
"opens": "11:00",
"closes": "22:00"
},
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": ["Saturday","Sunday"],
"opens": "10:00",
"closes": "23:00"
}
],
"priceRange": "¥1,000〜¥3,000",
"servesCuisine": "和食"
}
</script>実装のポイント:
@typeはLocalBusinessの具体的なサブタイプ(Restaurant、Dentist、LegalServiceなど)を指定すると精度が向上geoで緯度・経度を記述すると、Googleマップとの連携精度が高まるopeningHoursSpecificationで曜日別の営業時間を細かく設定可能- 電話番号は国際形式(+81-…)で記述するのが推奨
WordPressでの構造化データ実装
WordPressサイトで構造化データを実装する方法は、大きく「プラグイン活用」と「テーマへの直接実装」の2つがあります。それぞれのメリット・デメリットを踏まえて、自社に適した方法を選びましょう。
プラグインを使う方法(Yoast SEO、Rank Math)
最も手軽な実装方法は、SEOプラグインの構造化データ機能を利用することです。
Yoast SEO
- Articleスキーマ、BreadcrumbListスキーマを自動出力
- Organization情報は管理画面の「SEO → 検索での見え方 → 一般」で設定
- FAQブロック(Gutenberg)を使うとFAQPageスキーマが自動生成
- 無料版でも基本的な構造化データは対応。Premium版ではさらにカスタマイズ可能
Rank Math
- 対応するスキーマタイプが豊富(Article、Product、LocalBusiness、FAQ、HowToなど16種類以上)
- 投稿編集画面の「Schema」タブから、記事ごとにスキーマタイプを選択・設定可能
- 無料版でもカスタムスキーマの追加が可能(Yoast SEOより柔軟)
- Schema Templates機能により、カテゴリや投稿タイプごとにデフォルトスキーマを設定できる
プラグインのメリット:コード不要・管理画面で完結・アップデートで最新仕様に追従
プラグインのデメリット:出力されるスキーマのカスタマイズに限界がある・プラグイン同士の競合リスク
テーマのfunctions.phpで直接実装する方法
プラグインでは対応できない独自のスキーマや、より細かい制御が必要な場合は、テーマのfunctions.phpにPHPコードを記述して実装します。
// functions.php に追加する例:Organization スキーマの出力
function add_organization_schema() {
if ( is_front_page() ) {
$schema = array(
'@context' => 'https://schema.org',
'@type' => 'Organization',
'name' => get_bloginfo('name'),
'url' => home_url('/'),
'logo' => 'https://example.com/logo.png',
'sameAs' => array(
'https://twitter.com/example',
'https://www.facebook.com/example'
)
);
echo '<script type="application/ld+json">' .
json_encode($schema, JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT) .
'</script>' . "\n";
}
}
add_action('wp_head', 'add_organization_schema');直接実装のメリット:
- 出力内容を完全にコントロールできる
- 条件分岐(投稿タイプ、カテゴリ、個別ページなど)による出し分けが自由自在
- プラグインの依存がないため、競合リスクなし
直接実装のデメリット:
- PHPの知識が必要
- Schema.orgの仕様変更やGoogleのガイドライン更新に自力で追従する必要がある
- 子テーマを使わないと、テーマ更新時にコードが消える
推奨アプローチ:基本的な構造化データ(Article、BreadcrumbList、Organization)はプラグインに任せ、業種固有のスキーマ(LocalBusiness、Productなど)やカスタム要件がある部分のみfunctions.phpで追加実装するハイブリッド方式が効率的です。
構造化データのテストと検証
構造化データを実装したら、必ずテストツールで正しく動作するか検証しましょう。記述ミスやガイドライン違反があると、リッチリザルトが表示されないだけでなく、手動対策(ペナルティ)の対象になる可能性もあります。
リッチリザルトテスト(Google公式)
URL:https://search.google.com/test/rich-results
- Googleが提供する公式テストツール
- URLを入力するか、HTMLコードを直接貼り付けてテスト可能
- リッチリザルトとして表示可能かどうかを判定し、エラー・警告を表示
- モバイル・デスクトップそれぞれのレンダリング結果を確認できる
- 実装後は必ずこのツールでチェックすることを推奨
Schema Markup Validator(Schema.org公式)
URL:https://validator.schema.org/
- Schema.orgが提供する検証ツール
- Google固有の要件ではなく、Schema.orgの仕様に沿った検証が可能
- Googleのリッチリザルトテストでは検出されないエラーを見つけられることがある
- AI検索エンジン向けの構造化データの正確性を確認する際にも有用
検証のベストプラクティス:
- 実装直後にリッチリザルトテストでエラーがないことを確認
- Schema Markup Validatorで仕様準拠を二重チェック
- Google Search Consoleの「拡張」レポートで、インデックス後の構造化データの認識状況を定期的に監視
- 新しいページを追加した際は、都度テストを実施する運用フローを確立
まとめ
構造化データの実装は、SEOにおけるリッチリザルト獲得と、AI検索におけるLLMの情報理解精度向上という二つの効果を同時に実現できる施策です。特に、AI検索の普及が加速する現在、構造化データは従来以上に重要な意味を持つようになっています。
本記事の要点を整理すると以下の通りです。
- 全業種共通で、Organization・BreadcrumbList・Articleの3つを最優先で実装
- 業種別に、EC(Product・Review)、地域ビジネス(LocalBusiness)、BtoB(FAQPage・HowTo)を追加
- 記述形式はJSON-LDが推奨。HTMLの構造変更不要で実装・管理が容易
- WordPressではプラグイン(Rank Math推奨)+functions.phpのハイブリッド実装が効率的
- 実装後はリッチリザルトテストとSchema Markup Validatorで必ず検証
構造化データは一度実装すれば長期にわたって効果を発揮する「資産型」の施策です。まだ取り組んでいない方は、まずOrganizationとBreadcrumbListの2つから始めてみてはいかがでしょうか。テクニカルSEOの基盤整備と合わせて進めることで、検索パフォーマンスの底上げが期待できます。
ヒトノテでは、構造化データの設計・実装から、テクニカルSEO全般のコンサルティング、さらにAEOやLLMOといったAI検索対策まで、総合的にご支援しています。構造化データの実装についてお悩みの方は、お気軽にご相談ください。













