スキーママークアップ(構造化データ)実装ガイド|中小企業WordPressサイトの9種JSON-LD完全実装【2026年版】
「スキーママークアップを実装すべきと聞くけど、何種類あって何から手を付ければいいか分からない」――そんな中小企業 Web 担当者向けに、本記事では WordPress サイトで実装すべき 9 種類の JSON-LD 構造化データ を、実コード付きで解説します。
ドットアンドノードでは、自社サイト(dot-node.com)に9種類の JSON-LD を実装し、Google リッチリザルト・AI検索エンジンの引用率・検索順位 の3つを同時に改善しました。本記事では実コードの一部を公開します。
なぜ中小企業サイトに構造化データが必須なのか
構造化データ(Structured Data / Schema Markup)は、ページ内容を 検索エンジン・AI が機械的に理解できる形 で記述する仕組みです。Google・Bing・ChatGPT・Claude・Gemini など、ほぼすべての検索・AIシステムが活用します。
具体的なメリット:
- リッチリザルト表示:FAQ・パンくず・レビュー星評価が検索結果に表示される
- AI検索での引用率向上:ChatGPT/Claude が情報を抜き取りやすくなる
- E-E-A-T 強化:著者・組織情報が機械的に伝わる
- クリック率向上:通常のスニペットより目立つ表示で CTR が 1.5〜3 倍
中小企業サイトでは「お金をかけずに大手と差別化できる施策」として、まず手を付けるべき領域です。
実装すべき9種類の JSON-LD
WordPress サイトに実装すべき構造化データを優先順位順に並べると:
| 優先 | スキーマ種類 | 対象ページ | 主な効果 |
|---|---|---|---|
| 1 | Organization | トップページ | 会社情報の機械可読化(必須) |
| 2 | LocalBusiness | トップページ | MEO・Google マップ表示 |
| 3 | WebSite | トップページ | サイト内検索ボックスの表示 |
| 4 | BreadcrumbList | 全ページ | パンくずリスト表示 |
| 5 | Article | 投稿記事 | 著者・公開日の機械可読化 |
| 6 | Service | サービスページ | サービス内容の構造化 |
| 7 | WebPage | 固定ページ | ページタイプの明示 |
| 8 | FAQPage | FAQ ページ | FAQ リッチリザルト |
| 9 | Review | お客様の声 | 星評価のリッチリザルト |
中小企業サイトでは、まず上記 1〜4 を実装するだけで、3 ヶ月以内に検索結果の見え方が変わる ケースが多いです。
1. Organization スキーマ(必須)
まず最も基本となる 会社情報 を構造化します。トップページの に で出力します。
add_action('wp_head', 'dan_output_organization_jsonld', 5);
function dan_output_organization_jsonld() {
if (!is_front_page()) return;
$home_url = trailingslashit(home_url('/'));
$logo_url = home_url('/wp-content/uploads/logo.png');
$schema = array(
'@context' => 'https://schema.org',
'@type' => 'Organization',
'@id' => $home_url . '#organization',
'name' => '株式会社○○',
'alternateName' => 'Maru Maru Inc.',
'url' => $home_url,
'logo' => array(
'@type' => 'ImageObject',
'url' => $logo_url,
'width' => 512, 'height' => 512,
),
'foundingDate' => '2023-12',
'founder' => array('@type' => 'Person', 'name' => '代表者氏名'),
'address' => array(
'@type' => 'PostalAddress',
'streetAddress' => '○○町1-2-3',
'addressLocality' => '○○市',
'addressRegion' => '○○県',
'postalCode' => '420-0033',
'addressCountry' => 'JP',
),
'telephone' => '+81-XX-XXXX-XXXX',
'sameAs' => array(
'https://twitter.com/your_account',
'https://www.facebook.com/your_account',
'https://www.instagram.com/your_account',
),
);
echo '<script type="application/ld+json">';
echo wp_json_encode($schema, JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE);
echo '</script>';
}
sameAs は SNS 公式アカウントのURLを並べることで、Google が「同一組織の別アカウント」として認識します。これが Google ナレッジパネル表示の重要な手がかりになります。
2. LocalBusiness スキーマ(地域ビジネス必須)
実店舗・オフィスがある地域ビジネスは、LocalBusiness を追加します。Google マップ表示・MEO 対策 に直結します。
$local_business = array(
'@type' => 'LocalBusiness',
'@id' => $home_url . '#localbusiness',
'name' => '株式会社○○',
'image' => $logo_url,
'url' => $home_url,
'telephone' => '+81-XX-XXXX-XXXX',
'priceRange' => '¥¥',
'address' => array(/* 同上 */),
'geo' => array(
'@type' => 'GeoCoordinates',
'latitude' => 34.971071,
'longitude' => 138.384507,
),
'openingHoursSpecification' => array(array(
'@type' => 'OpeningHoursSpecification',
'dayOfWeek' => array('Monday','Tuesday','Wednesday','Thursday','Friday'),
'opens' => '09:00',
'closes' => '17:00',
)),
'aggregateRating' => array(
'@type' => 'AggregateRating',
'ratingValue' => '5.0',
'reviewCount' => '8',
'bestRating' => '5',
),
'areaServed' => array(
array('@type' => 'AdministrativeArea', 'name' => '○○県'),
array('@type' => 'Country', 'name' => '日本'),
),
);
aggregateRating は Google Business Profile のクチコミ件数を反映させます。areaServed は商圏(都道府県・国)を明示します。
3. WebSite スキーマ(サイト内検索ボックス)
サイト全体のメタデータを記述します。実装すると、Google 検索結果にサイト内検索ボックスが追加される 可能性があります。
$website = array(
'@type' => 'WebSite',
'@id' => $home_url . '#website',
'url' => $home_url,
'name' => '株式会社○○',
'publisher' => array('@id' => $home_url . '#organization'),
'inLanguage' => 'ja',
'potentialAction' => array(
'@type' => 'SearchAction',
'target' => array(
'@type' => 'EntryPoint',
'urlTemplate' => $home_url . '?s={search_term_string}',
),
'query-input' => 'required name=search_term_string',
),
);
@id で Organization を参照することで、検索エンジンに「このサイトを運営しているのは Organization です」と機械可読で伝えられます。
4. BreadcrumbList スキーマ(全ページ)
すべての投稿・固定ページに パンくずリスト を出力します。検索結果に「ホーム > カテゴリ > 記事タイトル」というナビゲーションが表示されます。
function dan_build_breadcrumb_jsonld() {
$items = array();
$position = 1;
$items[] = array(
'@type' => 'ListItem',
'position' => $position++,
'name' => 'ホーム',
'item' => home_url('/'),
);
if (is_singular('post')) {
$cats = get_the_category();
if (!empty($cats)) {
$items[] = array(
'@type' => 'ListItem',
'position' => $position++,
'name' => $cats[0]->name,
'item' => get_category_link($cats[0]->term_id),
);
}
$items[] = array(
'@type' => 'ListItem',
'position' => $position++,
'name' => get_the_title(),
'item' => get_permalink(),
);
}
return array(
'@context' => 'https://schema.org',
'@type' => 'BreadcrumbList',
'itemListElement' => $items,
);
}
これだけでも、検索結果の見え方が大きく改善します。
5. Article スキーマ(投稿記事)
投稿記事には Article を出力。著者・公開日・更新日 が検索エンジンに正しく伝わります。
$article = array(
'@type' => 'Article',
'headline' => get_the_title($post_id),
'description' => wp_strip_all_tags(get_the_excerpt($post_id)),
'image' => get_the_post_thumbnail_url($post_id, 'full'),
'datePublished' => get_the_date('c', $post_id),
'dateModified' => get_the_modified_date('c', $post_id),
'author' => array(
'@type' => 'Person',
'name' => get_the_author_meta('display_name'),
),
'publisher' => array('@id' => $home_url . '#organization'),
'mainEntityOfPage' => array(
'@type' => 'WebPage',
'@id' => get_permalink($post_id),
),
);
E-E-A-T の A(権威性) に直結する重要スキーマです。
6. Service スキーマ(サービスページ)
サービス内容を構造化することで、「○○サービス」を提供する事業者として検索エンジンに認識されます。
$service = array(
'@type' => 'Service',
'name' => 'SEOコンサルティング',
'description' => '中小企業向けのSEOコンサルティング・伴走支援サービス',
'url' => get_permalink(),
'provider' => array('@id' => $home_url . '#organization'),
'areaServed' => array(
array('@type' => 'AdministrativeArea', 'name' => '○○県'),
),
'audience' => array(
'@type' => 'BusinessAudience',
'audienceType' => '中小企業・士業',
),
);
audienceType で 想定顧客を明示 することで、検索エンジンが「誰向けのサービスか」を理解します。
7. WebPage スキーマ(固定ページ)
会社概要・お問い合わせ・プライバシーポリシー等の固定ページには WebPage を出力します。
$webpage = array(
'@type' => 'WebPage',
'name' => get_the_title(),
'url' => get_permalink(),
'isPartOf' => array('@id' => $home_url . '#website'),
'about' => array('@id' => $home_url . '#organization'),
'inLanguage' => 'ja',
);
8. FAQPage スキーマ(FAQ リッチリザルト対応)
FAQ ページに FAQPage を実装すると、検索結果に FAQ がアコーディオン展開 された形で表示されます。CTR が劇的に向上します。
$faqs = array(
array(
'question' => '料金はいくらですか?',
'answer' => '月額○万円から、3ヶ月パッケージでご提供しています。',
),
array(
'question' => '契約期間の縛りはありますか?',
'answer' => '基本3ヶ月、最短1ヶ月から契約可能です。',
),
);
$main_entity = array();
foreach ($faqs as $faq) {
$main_entity[] = array(
'@type' => 'Question',
'name' => $faq['question'],
'acceptedAnswer' => array(
'@type' => 'Answer',
'text' => $faq['answer'],
),
);
}
$faqpage = array(
'@type' => 'FAQPage',
'mainEntity' => $main_entity,
);
FAQ は そのままの形で AI 検索エンジンが引用しやすい ため、AIO 対策としても極めて重要です。
9. Review スキーマ(お客様の声)
お客様の声・導入事例ページには Review を実装します。星評価が検索結果に表示 され、信頼性のシグナルになります。
$review = array(
'@type' => 'Review',
'itemReviewed' => array('@id' => $home_url . '#organization'),
'author' => array(
'@type' => 'Organization',
'name' => '株式会社△△',
),
'reviewRating' => array(
'@type' => 'Rating',
'ratingValue' => '5',
'bestRating' => '5',
'worstRating' => '1',
),
'reviewBody' => 'SEO対策を依頼して半年で問い合わせが2倍になりました。専門知識に基づいた的確な提案に感謝しています。',
'datePublished' => '2025-06-15',
);
ただし、Google は 自社サイトでの「自分の組織への Review」表示 には注意が必要です。ステマ・自作自演と判定されないよう、必ず実在のお客様の許可を取った上で実装してください。
@graph 構造で複数スキーマをまとめる
複数のスキーマを 1 つの にまとめる場合、@graph を使います:
$graph = array(
'@context' => 'https://schema.org',
'@graph' => array(
$organization,
$local_business,
$website,
$breadcrumb,
$article,
),
);
echo '<script type="application/ld+json">';
echo wp_json_encode($graph, JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE);
echo '</script>';
このように @graph で並べることで、スキーマ間の参照関係(@id)が正しく機能 します。
実装後の検証方法
実装したら、必ず以下のツールで検証してください:
1. Google リッチリザルトテスト
https://search.google.com/test/rich-results
URL を入力 → 検出されたスキーマと、エラーがないか確認します。
2. Schema Markup Validator
https://validator.schema.org/
JSON-LD の構文が schema.org の仕様に準拠しているかチェックします。
3. Google Search Console の「拡張」レポート
実装後 1〜2 週間で Search Console の「拡張」セクションに反映されます。
よくある実装ミス3つ
ミス1:@context の URL ミス
"@context": "http://schema.org" // ← http
"@context": "https://schema.org" // ← 正しい(https)
ミス2:日付フォーマットの誤り
"datePublished": "2026-05-01" // ← 不完全
"datePublished": "2026-05-01T10:00:00+09:00" // ← ISO 8601 完全形
WordPress の get_the_date('c', $post_id) は ISO 8601 完全形を出力します。
ミス3:画像URLのプロトコルミス
"image": "//example.com/logo.png" // ← プロトコル相対は不可
"image": "https://example.com/logo.png" // ← 完全URL必須
まとめ
WordPress サイトに実装すべき 9 種類の JSON-LD は以下:
- Organization(必須・トップページ)
- LocalBusiness(地域ビジネス必須)
- WebSite(必須・サイト内検索)
- BreadcrumbList(全ページ)
- Article(投稿記事)
- Service(サービスページ)
- WebPage(固定ページ)
- FAQPage(FAQ ページ/高CTR効果大)
- Review(お客様の声/要注意)
最初は 1〜4 だけで十分です。実装後にリッチリザルトテストで検証 → 1〜2 週間で Search Console に反映されます。プラグインを使わず子テーマの functions.php に直書きする のが、保守性・パフォーマンスの観点でおすすめです。
関連するPillar記事
- 🛠️ 中小企業WebサイトのSEO改善実例60項目 — スキーマ実装も含めた60項目の実装ガイド
- 🤖 AI検索時代の SEO/AIO/GEO/LLMO 対策 — AI 検索対応戦略全体像
- 🎯 中小企業のSEO対策 完全ガイド — SEO戦略全般の体系的解説
無料診断のお申込み
「自社サイトに構造化データを実装したいが、何から始めればいいか分からない」「リッチリザルトテストでエラーが出ている」という方は、ドットアンドノードの 無料 AIO&SEO 診断 をご活用ください。30 項目のチェックポイントを 3 営業日でレポート いたします。





