Toolypet
ブログに戻る
SEO

構造化データ完全ガイド2026 - JSON-LDでリッチリザルトを獲得する方法

Schema.orgとJSON-LDでGoogleリッチスニペットを獲得する方法。FAQ、How-to、Productスキーマの実装ガイドと実践例。

Toolypet Team

Toolypet Team

Development Team

5 分で読めます

構造化データ完全ガイド2026

検索結果で星評価、FAQ、レシピカードを見たことはありますか?それが**リッチリザルト(Rich Results)**です。

2026年現在、リッチリザルトのあるページはCTRが平均58%高いです。構造化データであなたのコンテンツも目立たせましょう。


構造化データとは?

構造化データは、検索エンジンがページコンテンツを理解するのを助ける標準化された形式です。

主要な概念

用語説明
Schema.orgGoogle、Microsoft、Yahooが共同開発した語彙
JSON-LDJavaScriptベースのデータフォーマット(Google推奨)
Rich Results構造化データに基づく強化された検索結果
Rich Snippetリッチリザルトの旧称

なぜJSON-LDなのか?

フォーマットメリットデメリット
JSON-LDHTMLと分離、メンテナンスが容易JavaScript依存
MicrodataHTMLに直接埋め込みコードが複雑
RDFa柔軟性がある学習コストが高い

Google公式推奨: JSON-LD


リッチリザルトの種類

Googleがサポートする主な種類

種類表示形式用途
Articleニュースカードブログ、ニュース
FAQ質問/回答の展開FAQページ
How-toステップバイステップガイドチュートリアル
Product価格、在庫、評価商品ページ
Review星評価表示レビューコンテンツ
Recipe調理時間、カロリーレシピ
Event日付、場所イベント
LocalBusiness営業時間、所在地ローカルビジネス
BreadcrumbListパス表示すべてのページ

JSON-LDの基本構造

テンプレート

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "スキーマタイプ",
  "プロパティ1": "値1",
  "プロパティ2": "値2"
}
</script>

必須要素

要素説明
@context常に"https://schema.org"
@typeスキーマタイプ(Article、FAQなど)
必須プロパティタイプによって異なる

実践的な実装例

1. Article(ブログ/ニュース)

{
  "@context": "https://schema.org",
  "@type": "Article",
  "headline": "構造化データ完全ガイド2026",
  "description": "JSON-LDでリッチリザルトを獲得する方法",
  "image": "https://example.com/article-image.jpg",
  "author": {
    "@type": "Person",
    "name": "Sam Rank",
    "url": "https://example.com/author/sam-rank"
  },
  "publisher": {
    "@type": "Organization",
    "name": "Toolypet",
    "logo": {
      "@type": "ImageObject",
      "url": "https://toolypet.com/logo.png"
    }
  },
  "datePublished": "2026-02-22",
  "dateModified": "2026-02-22"
}

2. FAQ(よくある質問)

{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "構造化データとは何ですか?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "構造化データは、検索エンジンがページコンテンツを理解するのを助ける標準化された形式です。"
      }
    },
    {
      "@type": "Question",
      "name": "JSON-LDはどこに配置すべきですか?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "HTMLの<head>または<body>内のどこにでも配置できますが、<head>に配置することが推奨されます。"
      }
    }
  ]
}

3. How-to(ステップバイステップガイド)

{
  "@context": "https://schema.org",
  "@type": "HowTo",
  "name": "JSON-LD構造化データの追加方法",
  "description": "Webページにjson-ldを追加する方法",
  "totalTime": "PT10M",
  "step": [
    {
      "@type": "HowToStep",
      "name": "スキーマタイプを選択",
      "text": "ページコンテンツに合ったSchema.orgタイプを選択します。"
    },
    {
      "@type": "HowToStep",
      "name": "JSON-LDコードを作成",
      "text": "選択したスキーマに従ってJSON-LDコードを作成します。"
    },
    {
      "@type": "HowToStep",
      "name": "HTMLに挿入",
      "text": "<script type='application/ld+json'>タグでコードを囲み、HTMLに挿入します。"
    },
    {
      "@type": "HowToStep",
      "name": "テスト",
      "text": "Google Rich Results Testで有効性を検証します。"
    }
  ]
}

4. Product(商品)

{
  "@context": "https://schema.org",
  "@type": "Product",
  "name": "SEOガイドブック2026",
  "description": "最新のSEO戦略を網羅した実践ガイド",
  "image": "https://example.com/product.jpg",
  "brand": {
    "@type": "Brand",
    "name": "Toolypet"
  },
  "offers": {
    "@type": "Offer",
    "price": "2990",
    "priceCurrency": "JPY",
    "availability": "https://schema.org/InStock",
    "url": "https://example.com/product"
  },
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "4.8",
    "reviewCount": "124"
  }
}

5. BreadcrumbList(パンくずリスト)

{
  "@context": "https://schema.org",
  "@type": "BreadcrumbList",
  "itemListElement": [
    {
      "@type": "ListItem",
      "position": 1,
      "name": "ホーム",
      "item": "https://example.com"
    },
    {
      "@type": "ListItem",
      "position": 2,
      "name": "SEO",
      "item": "https://example.com/seo"
    },
    {
      "@type": "ListItem",
      "position": 3,
      "name": "構造化データガイド",
      "item": "https://example.com/seo/structured-data"
    }
  ]
}

6. LocalBusiness(ローカルビジネス)

{
  "@context": "https://schema.org",
  "@type": "LocalBusiness",
  "name": "カフェ モーニンググローリー",
  "image": "https://example.com/cafe.jpg",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "渋谷1-2-3",
    "addressLocality": "東京都",
    "addressRegion": "渋谷区",
    "postalCode": "150-0002",
    "addressCountry": "JP"
  },
  "telephone": "+81-3-1234-5678",
  "openingHoursSpecification": [
    {
      "@type": "OpeningHoursSpecification",
      "dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"],
      "opens": "09:00",
      "closes": "22:00"
    }
  ],
  "priceRange": "$$"
}

フレームワーク別の実装

Next.js

// app/layout.tsx または pages/_document.tsx
import Script from 'next/script';

export default function Layout({ children }) {
  const jsonLd = {
    "@context": "https://schema.org",
    "@type": "WebSite",
    "name": "Toolypet",
    "url": "https://toolypet.com"
  };

  return (
    <html>
      <head>
        <Script
          id="json-ld"
          type="application/ld+json"
          dangerouslySetInnerHTML={{ __html: JSON.stringify(jsonLd) }}
        />
      </head>
      <body>{children}</body>
    </html>
  );
}

React(Helmet)

import { Helmet } from 'react-helmet';

function ArticlePage({ article }) {
  const jsonLd = {
    "@context": "https://schema.org",
    "@type": "Article",
    "headline": article.title,
    "author": { "@type": "Person", "name": article.author }
  };

  return (
    <>
      <Helmet>
        <script type="application/ld+json">
          {JSON.stringify(jsonLd)}
        </script>
      </Helmet>
      <article>{/* コンテンツ */}</article>
    </>
  );
}

WordPress

// functions.php
function add_json_ld_schema() {
  if (is_single()) {
    $schema = array(
      "@context" => "https://schema.org",
      "@type" => "Article",
      "headline" => get_the_title(),
      "datePublished" => get_the_date('c')
    );
    echo '<script type="application/ld+json">' . json_encode($schema) . '</script>';
  }
}
add_action('wp_head', 'add_json_ld_schema');

検証とテスト

Google公式ツール

ツールURL用途
Rich Results Testsearch.google.com/test/rich-resultsリッチリザルト適格性テスト
Schema Markup Validatorvalidator.schema.orgスキーマ構文の検証
Search Consolesearch.google.com/search-console実際のインデックス状態確認

テストチェックリスト

  • JSON構文エラーなし
  • 必須プロパティをすべて含む
  • 実際のページコンテンツと一致
  • 有効な画像URL
  • Rich Results Test合格

よくあるミスと解決策

1. JSON構文エラー

// ❌ 間違い:末尾のカンマ
{
  "name": "テスト",
  "url": "https://example.com",  // ここ!
}

// ✅ 正しい
{
  "name": "テスト",
  "url": "https://example.com"
}

2. 必須プロパティの欠落

// ❌ Articleでauthorが欠落
{
  "@type": "Article",
  "headline": "タイトルのみ"
}

// ✅ 必須プロパティを含む
{
  "@type": "Article",
  "headline": "完全な記事",
  "author": { "@type": "Person", "name": "著者" },
  "datePublished": "2026-02-22"
}

3. コンテンツの不一致

// ❌ ページと異なる内容
{
  "@type": "Product",
  "price": "10000"  // 実際のページでは15000円
}

// Googleガイドライン違反 = 手動対策のリスク

4. 過剰なマークアップ

❌ すべてのテキストを構造化データとしてマークアップ
❌ 非表示コンテンツにスキーマを適用
❌ ユーザーに見えない情報を含める

✅ 実際に表示されているコンテンツのみをマークアップ
✅ 主要な情報のみを構造化

SEO効果

期待される効果

指標改善
CTR(クリック率)+20-58%
インプレッションリッチリザルト適格
信頼性星評価、レビュー表示
音声検索回答候補

注意点

  • 構造化データ ≠ ランキング上昇の保証
  • リッチリザルトの表示はGoogleの裁量
  • ガイドライン違反で手動対策

ベストプラクティスチェックリスト

実装

  • ページタイプに適したスキーマを選択
  • すべての必須プロパティを含む
  • JSON-LD形式を使用
  • <head>内に配置

コンテンツ

  • 実際のページコンテンツと一致
  • ユーザーに表示される情報のみを含む
  • 情報を最新の状態に保つ

テスト

  • Rich Results Test合格
  • Schema Markup Validator合格
  • Search Consoleでエラーなし

FAQ

Q1: 構造化データはランキングに直接影響しますか?

A: 直接的なランキング要因ではありません。ただし、CTR増加、音声検索の回答など間接的な効果があります。

Q2: 1つのページに複数のスキーマを入れても良いですか?

A: はい!Article + FAQ + BreadcrumbListを一緒に使うのが一般的です。それぞれ別の<script>タグで追加してください。

Q3: リッチリザルトが表示されない理由は?

A: 考えられる原因:

  • 必須プロパティの欠落
  • ページがインデックスされていない
  • Googleの裁量(保証ではない)
  • 競合ページの方が適している

Q4: MicrodataとJSON-LD、どちらを選ぶべき?

A: JSON-LDを推奨します。Google公式推奨であり、HTMLと分離されているためメンテナンスが容易です。

Q5: 動的コンテンツにも構造化データを適用できますか?

A: はい!JavaScriptで生成されたJSON-LDもGoogleは読み取れます。ただし、サーバーサイドレンダリングの方が安定しています。


まとめ

構造化データの要点:

  1. JSON-LDを使用: Google推奨形式
  2. 適切なスキーマを選択: コンテンツタイプに合わせて
  3. 必須プロパティを含む: タイプ別の必須要素を確認
  4. コンテンツと一致: 表示されている情報のみ
  5. テスト必須: Rich Results Testに合格

関連ツール

ツール用途
構造化データジェネレーターJSON-LD自動生成
メタタグジェネレーターメタタグ生成
SERPプレビュー検索結果プレビュー
構造化データJSON-LDSchema.orgリッチスニペットSEO検索最適化

著者について

Toolypet Team

Toolypet Team

Development Team

The Toolypet Team creates free, privacy-focused web tools for developers and designers. All tools run entirely in your browser with no data sent to servers.

Web DevelopmentCSS ToolsDeveloper ToolsSEOSecurity