mcpField
S
schema-markup

schema-markup

github.com/kostja94マーケティング・グロース1.1k1.3k 回インストール3 日前に更新
リポジトリ

schema-markup について

schema-markupは、JSON-LDによるSchema.org構造化データの計画を支援するSEOスキルです。サイト運営者やマーケター向けに、ページごとの型選定、検索機能との対応、検索エンジンやAI検索での適用範囲を案内します。

主な機能

  1. 01ページ別のSchema型選定
  2. 02Schemaと検索機能の対応付け
  3. 03JSON-LD実装ガイダンス
  4. 04検索エンジン別の対応範囲
  5. 05GEO向け構造化データ案内

活用シーン

  1. 01新規サイトのSchema計画
  2. 02製品・コンテンツページのマークアップ選定
  3. 03リッチリザルトの適格性確認
  4. 04AI検索向け構造化データの改善

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/kostja94/marketing-skills --skill schema-markup

インストール後、Claude Code で/schema-markupを入力して読み込まれたか確認します。

詳細

SEO オンページ:スキーマ/構造化データ

リッチスニペット、検索結果の強化、生成エンジン最適化(GEO)を目的とした Schema.org 構造化データ(JSON-LD)の実装を案内します。

呼び出し時:初回の使用時は、このスキルの対象と重要性を1~2文で簡潔に説明してから、主な出力を提示すると役立つ場合があります。2回目以降の使用時、またはユーザーから省略を求められた場合は、主な出力を直接提示してください。

対象範囲(オンページ SEO)

  • スキーママークアップ:リッチリザルト、AI 検索での可視性、機械可読コンテンツのための Schema.org タイプ
  • Schema.org と検索エンジン:Schema.org は800種類以上のタイプを定義していますが、各検索エンジンがリッチリザルトに対応しているのは、その一部のみです

Schema.org と検索エンジンの対応状況

Schema.org と Google の構造化データは、完全には一致していません。 Schema.org は800種類以上のタイプを持つオープンな語彙です。一方、Google、Bing などの検索エンジンがリッチリザルトに対応しているのは、それぞれが選定した一部のタイプのみです。

検索エンジン対応状況備考
Google一部のみリッチリザルトが生成されるのは、Google の検索ギャラリーに掲載されているタイプのみです。Google のリストにない Schema.org マークアップは、技術的に正しくても、検索結果の強化にはつながりません。
Bing一部に対応。Google とは異なるJSON-LD、Microdata、RDFa、Open Graph に対応しています。一部のタイプ(例:Product、Offer)は、形式ごとに対応状況が異なります。Bing ウェブマスタードキュメントを確認してください。
その他の検索エンジンさまざまYandex、DuckDuckGo、AI 検索ツール(Perplexity など)は、リッチリザルトを表示しない場合でも、理解のために Schema.org を利用することがあります。

実務上の意味:コンテンツの種類に応じて Schema.org マークアップを実装してください。その種類のリッチリザルトが Google に表示されない場合でも、Bing や AI システムが利用する可能性があります。Google 固有のリッチリザルト表示資格については、必ずGoogle の開発者向けドキュメントで確認してください。

リッチリザルト:Google の対応状況(2026)

効果の高いタイプ:Product、Review snippets、Article/News、Video、Recipe、LocalBusiness、Event、Breadcrumb、Sitelinks searchbox、JobPosting。

対応が限定的、または状況によって異なるタイプ:FAQ(多くのクエリでは政府・医療関連サイトが対象)、Education Q&A、Course、SoftwareApplication、Speakable(ニュース)、DiscussionForumPosting。

廃止済み:HowTo(2023年9月時点ですべてのデバイスで完全に廃止)、COVID データパネル、一部の AMP 専用形式、data-vocabulary.org。

実装:JSON-LD を推奨します。@context、@type、安定した @id を含め、日付には ISO 8601 を使用してください。構造化データは、ユーザーに表示されるコンテンツと一致させてください。リッチリザルトテストで検証します。リッチリザルトは CTR を最大約35%向上させ、AI による引用の改善にも役立ちます。

スキーマ ↔ SERP 機能 ↔ リッチリザルト(強い関連性)

スキーマ、SERP 機能、リッチリザルトには強い関連性があります。 多くのリッチリザルトにとって、スキーマは必要条件です。SERP 機能を狙う場合は、対応するスキーマタイプを実装してください。SERP 機能の一覧と最適化については serp-features を参照してください。

リッチリザルトと強調スニペット
  • リッチリザルト:標準的な検索結果にスキーマで拡張機能を追加したものです(星、パンくずリスト、FAQのドロップダウン、商品情報など)。オーガニック検索結果内に表示され、トップ10へのランクインは必要ありません。
  • 強調スニペット:Googleが抽出し、検索結果の0番目の位置に表示する回答ボックスです。スキーマは不要ですが、コンテンツの構成が重要です。スキーマ(FAQPage、HowTo、Article)は抽出をサポートできます。
スキーマの種類SERP機能/リッチリザルト備考
FAQPagePAA、強調スニペットFAQのドロップダウン、Q&A形式のスニペットです。多くのサイト(政府機関や医療機関など)は対象資格が制限されています
BreadcrumbListパンくずリスト検索結果にパスを表示します
AggregateRating, Reviewレビュー/星星評価です
HowTo以前はリッチリザルト(2023年9月に廃止)Googleのリッチリザルトは生成されなくなりましたが、Bing/AIでは引き続き使用される可能性があります
Article詳細記事、スニペット記事のリッチリザルトです
VideoObject動画動画のサムネイルです。video-optimization を参照してください
Product, Offerショッピング、商品商品/ショッピングの検索結果です
Recipeレシピレシピのリッチリザルトです
JobPostingGoogle Jobs求人情報です
Eventイベントイベントのリッチリザルトです
WebSite + SearchActionサイトリンク検索ボックスブランド名の検索時にサイトリンクを表示します
Organization, Personナレッジパネルエンティティ情報です。entity-seo を参照してください

ワークフロー:1) serp-features を使って対象のSERP機能を特定します。2) この表でスキーマの種類を確認します。3) 実装し、Rich Results Testで検証します。

生成エンジン最適化(GEO)

GEO とは、AIシステム(Google AI Overviews、Perplexity、ChatGPT、Gemini)が生成回答でコンテンツを選択、引用、転載するように最適化することです。構造化データによってコンテンツが機械可読になり、AIエンジンがより正確に情報を抽出して引用できるようになります。GEOで重要なスキーマの種類:Organization、Person/Author、WebSite、WebPage、FAQPage、HowTo、Article、Product、AggregateRating。GEO戦略の詳細は generative-engine-optimization を参照してください。

初期評価

プロジェクトのコンテキスト: contextus.md がルートにある場合は読み込み、このタスクに関連するモジュールのみを読み込んでください。Contextusがない場合は、利用可能なプロジェクト資料またはユーザーが提示した情報を使い、不足情報について質問してください。別個のコンテキストシステムを作成しないでください。

次の項目を特定します。

  1. ページの種類:Article、Product、FAQ、Organization、JobPosting、Eventなど
  2. コンテンツ:説明するエンティティ
  3. 目標:リッチスニペット、AI Overviewでの可視性、ナレッジパネル

スキーマの種類の分類

コアタイプ(一般用途)
種類使用例
Organizationサイト全体に適用。会社情報、ロゴ、sameAs。配置については以下を参照してください
WebSiteサイト全体に適用。検索アクション、サイト名。ホームページではOrganizationと組み合わせます
Articleブログ記事、ニュース、ツール紹介
BreadcrumbListパンくずナビゲーション
FAQPageFAQセクション。PAA形式の検索結果を表示します
Person著者情報。Articleと組み合わせます
ImageObjectリッチリザルト向けの画像メタデータ
HowToチュートリアル、手順ガイド。注:GoogleはすべてのデバイスでHowToのリッチリザルトを完全に廃止しました(2023年9月)。Bing/AIでは引き続きHowToスキーマが使用される可能性があります
専用タイプ(特定の用途)
種類使用例
JobPosting求人サイト、AIによる求人マッチング
ProductEコマースの商品ページ
Eventイベントページ、チケット販売(一般的なブログには使用しません)
SoftwareApplicationアプリページ、ツールページ
LocalBusiness地域ビジネスのページ
Datasetデータプラットフォーム、データセット
DiscussionForumPostingフォーラム、コミュニティ投稿
Quiz教育、フラッシュカード
MathSolver数学ツール
CaseStudyケーススタディのページ
Recipeレシピ、献立、料理手順

ルール:ほとんどのサイトではコアタイプを使用してください。専用タイプはページのコンテンツに合致する場合にのみ使用してください(例:ブログでEventを使用しない、商品ページでJobPostingを使用しない)。

Organization と WebSite のスキーマの配置
場所OrganizationWebSite備考
ホームページ最低限最低限少なくともホームページに Organization と WebSite の両方を追加してください。Organization はサイトを所有するエンティティを説明し、WebSite はサイトリンクの検索ボックスとサイトのアイデンティティを有効にします。
ルートレイアウト/グローバル最適最適サイト全体のレイアウト(例:layout.tsx、_document、グローバルヘッダー/フッター)に配置し、すべてのページにスキーマが表示されるようにします。Google は最初に見つかったインスタンスを使用するため、サイトごとに1つあれば十分です。
概要ページ不要不要概要ページでは AboutPage スキーマ(ページ固有の項目:見出し、説明、作成者、概要)を使用します。Organization はエンティティレベルのものであり、ページレベルのものではないため、概要ページだけに配置しないでください。about-page-generator を参照してください。

実装:<head> 内の JSON-LD に配置し、@id(例:https://example.com/#organization)を使って Organization ↔ WebSite ↔ WebPage をエンティティグラフとしてリンクします。@id とナレッジパネルについては entity-seo を参照してください。

アクション:ウェブサイト/製品タイプ → スキーマのマッピング

この表を使って、サイトに適した限定スキーマタイプを推奨してください。 サイトのコンテンツと製品タイプを、最も関連性の高いスキーマに対応付けます。判断に迷う場合は、コアタイプ(Organization、WebSite、Article)から始め、コンテンツが明確に一致する場合にのみ限定タイプを追加してください。

ウェブサイト/製品タイプ推奨する限定スキーマ理由
AI 献立プランナー、レシピサイト、フードブログ、料理アプリRecipe材料、手順、調理時間、分量など、料理や食事に関するコンテンツとの関連性が高い項目です。Google は Recipe のリッチリザルトに対応しています。
求人掲示板、採用サイト、採用情報ページJobPosting職種名、企業、勤務地、給与、雇用形態を示します。Google Jobs で必須です。
イベントプラットフォーム、チケット販売、ウェビナー、カンファレンスEvent日時、場所、料金を示します。実際のイベントページでのみ使用してください。
SaaS、アプリ、Chrome 拡張機能、ツール、ソフトウェア製品ページSoftwareApplicationアプリ名、カテゴリ、評価、価格、OS を示します。製品ページや機能ページに適しています。
E コマースの商品ページProduct価格、在庫状況、ブランド、レビューを示します。Offer、AggregateRating と併用してください。
フォーラム、コミュニティ、Reddit 形式のサイト、Q&ADiscussionForumPosting投稿内容、投稿者、コメントを示します。ユーザー生成のディスカッション向けです。
データプラットフォーム、データセットリポジトリ、Scale AI/Surge AIDatasetデータセット名、作成者、ライセンス、配布形式を示します。データカタログページ向けです。
教育サイト、フラッシュカード、Quizlet 形式のサイトQuiz質問と回答のペアを示します。教育用の Q&A コンテンツ向けです。
数学ソルバー、計算機、方程式ツールMathSolver数学の問題の入力と解答の出力を示します。数学ツール向けです。
レストラン、地域サービス、店舗検索LocalBusiness住所、営業時間、NAP を示します。ローカル SEO 向けです。
ケーススタディ、顧客事例ページCaseStudy顧客、成果、方法論を示します。B2B のケーススタディ向けです。
FAQ ページ、製品 FAQ、サポート FAQFAQPage質問と承認済み回答のペアを示します。PAA 形式の検索結果が表示されます。
チュートリアル、ハウツーガイド、手順ガイドHowTo手順、ツール、所要時間を示します。注意:Google は HowTo のリッチリザルトを完全に廃止しました(2023 年 9 月)。Bing/AI では引き続きスキーマが利用される可能性があります。代替として FAQPage を検討してください
ニュース記事、プレスリリースNewsArticleニュースには Article の代わりに使用してください。
動画ページ、ポッドキャストのエピソードVideoObject / PodcastEpisode動画/音声コンテンツ向けです。VideoObject、サムネイル、重要な場面については video-optimization を参照してください。

例:

  • AI 献立プランナー(例:レシピ付きの週間献立を生成)→ 各レシピ/食事ページに Recipe スキーマを追加し、ランディングページには Article または WebPage を追加
  • AI ライティングツール → 製品ページに SoftwareApplication、ブログに Article
  • 採用 SaaS → 求人掲載ページに JobPosting、製品ページに SoftwareApplication
  • レシピブログ → 各レシピ記事に Recipe、レシピ以外の記事に Article

出力:スキーマを推奨する際は、(1)サイト/製品に適した限定タイプ、(2)各スキーマを適用するページタイプ、(3)サイト全体に追加するコアタイプ(Organization、WebSite、BreadcrumbList)を明示してください。

Article / BlogPosting / NewsArticle:タイプの選択と実装

コンテンツに合致する最も具体的なタイプを選びます。

タイプ用途
BlogPostingカジュアルなブログ記事。個人著者による記事や、定期的に更新される記事
Articleフォーマルで長期的に通用するコンテンツ。ツールの紹介、百科事典的な記事
NewsArticle時事性のあるニュース。知名度の高い出版社の記事

必須プロパティ:headline(最大 110 文字)、image(幅 1200px 以上の絶対 URL)、datePublished(ISO 8601)、author(Person または Organization)、publisher(ロゴを含む Organization)。

推奨プロパティ:dateModified、description、mainEntityOfPage(正規 URL)。

CTR 向上のための日付表示:Google は、ページに表示する日付を1 つだけにすることを推奨しています。datePublished と dateModified の両方が表示されていると、Google が SERP に誤った日付を選ぶ可能性があります。Search Engine Land では CTR が約 22%低下した事例が確認されています。ベストプラクティスは、dateModified が存在する場合はそれを表示し、存在しない場合は datePublished を表示することです。JSON-LD には両方を含めてください。このルールは画面上に表示する日付のみに適用されます。

JSON-LD の例(BlogPosting):

{
  "@context": "https://schema.org",
  "@type": "BlogPosting",
  "headline": "The Ultimate SEO Checklist for 2025",
  "description": "A complete guide to optimizing blog posts for search and AI.",
  "image": "https://example.com/image.jpg",
  "datePublished": "2025-01-15T09:00:00Z",
  "dateModified": "2025-02-01T14:30:00Z",
  "author": { "@type": "Person", "name": "Jane Doe", "url": "https://example.com/author/jane" },
  "publisher": { "@type": "Organization", "name": "Example", "logo": { "@type": "ImageObject", "url": "https://example.com/logo.png" } }
}

<script type="application/ld+json"> を使用して <head> 内に配置します。記事ページでは、og:article:published_time、og:article:modified_time、og:article:author とともに og:type: article を使用します。article-page-generator、open-graph を参照してください。

BreadcrumbList

パンくずリストのナビゲーションに使用します。スキーマは、画面上に表示されるパンくずリストと完全に一致させる必要があります。UI、配置、セマンティック HTML については breadcrumb-generator を参照してください。

要件ガイドライン
形式<script type="application/ld+json"> 内の JSON-LD
URL各アイテムに https:// を含む絶対 URL を指定
位置1 から始まる連番の整数
一致スキーマを画面上に表示されるパンくずリストと完全に一致させる

JSON-LD の例:

{
  "@context": "https://schema.org",
  "@type": "BreadcrumbList",
  "itemListElement": [
    { "@type": "ListItem", "position": 1, "name": "Home", "item": "https://example.com/" },
    { "@type": "ListItem", "position": 2, "name": "Category", "item": "https://example.com/category/" },
    { "@type": "ListItem", "position": 3, "name": "Current Page", "item": "https://example.com/category/current-page/" }
  ]
}

複数のパス:Google は、複数の経路からアクセスできるページ(例:複数のカテゴリに属する商品)について、同じページ上で複数の BreadcrumbList オブジェクトをサポートしています。BreadcrumbList オブジェクトの配列を使用してください。

ベストプラクティス

原則ガイドライン
正確性データは画面上のページコンテンツと一致させてください。非表示のデータや誤解を招くデータを追加しないでください
完全性タイプごとに必須のプロパティをすべて含めてください
最も具体的なタイプ該当する場合は Article より NewsArticle を使用してください
JSON-LD推奨形式です。<script type="application/ld+json"> 内に配置してください
エンティティの @idOrganization と Person に @id を使用して、エンティティの関連付けを可能にしてください。entity-seo を参照してください
段階的な実装まず必須プロパティを追加し、その後、最適化のために任意のプロパティを追加してください
検証Rich Results Test と Schema Markup Validator でテストしてください
inLanguage(多言語)hreflang と一致させるため、"inLanguage": "en-US"(IETF BCP 47)を追加してください。リッチスニペットを各ロケールに合わせるため、名前、説明、FAQ をローカライズしてください
多言語スキーマ(inLanguage)

多言語サイトでは、言語ターゲティングを強化するため、JSON-LD に inLanguage を追加してください。hreflang の値と一致させます(例:hreflang="zh-CN" に対して "inLanguage": "zh-CN")。

スキーマデータのローカライズ:各ロケールのリッチスニペット CTR を向上させるため、構造化データの各フィールド(name、description、FAQ の acceptedAnswer など)を翻訳してください。

inLanguage をサポートするタイプ:Article、BlogPosting、WebApplication、FAQPage、HowTo、Product、Organization。

実装ワークフロー

  1. ページのタイプとコンテンツを分析し、合致する Schema タイプを選択します
  2. 形式を選択します — JSON-LD を推奨します(Google、Bing、AI ツールがサポートしています)
  3. 構造化データを記述します。必須プロパティから始めてください
  4. Rich Results Test、Schema Markup Validator で検証します
  5. Search Console の拡張レポートでデプロイして監視します

よくあるエラーと修正方法

エラー修正方法
データが表示内容と一致しないスキーマにはユーザーに表示される内容のみを記述してください
必須プロパティが不足している各タイプについて、Google/Schema.org のドキュメントを確認してください
ページに適さないタイプイベント以外のページに Event を使用しないでください。製品ページに JobPosting を使用しないでください
形式/構文エラーJSON-LD を検証し、引用符、角括弧、カンマを確認してください
過剰なマークアップ関連するコンテンツのみをマークアップし、無関係なタイプを詰め込まないでください

実装

Next.js(メタデータ)
export const metadata = {
  other: {
    'script:ld+json': JSON.stringify({
      "@context": "https://schema.org",
      "@type": "Article",
      "headline": "...",
      "description": "...",
      "inLanguage": "en-US",
      "image": "https://example.com/image.jpg",
      "datePublished": "2024-01-01T00:00:00Z",
      "dateModified": "2024-01-15T00:00:00Z",
      "author": { "@type": "Person", "name": "..." },
      "publisher": { "@type": "Organization", "name": "...", "logo": { "@type": "ImageObject", "url": "..." } }
    }),
  },
};
HTML(汎用)
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Article",
  "headline": "...",
  "description": "...",
  "inLanguage": "en-US",
  "author": { "@type": "Person", "name": "..." },
  "publisher": { "@type": "Organization", "name": "...", "logo": { "@type": "ImageObject", "url": "..." } }
}
</script>

検証ツール

ツール目的
Google リッチリザルトテストGoogle がリッチリザルトを生成できるか確認します
Schema Markup ValidatorSchema.org の仕様に照らして検証します
Search Console拡張レポートを確認し、経時的に有効性を監視します

出力形式

  • 最初にアクション:Website/Product Type → Schema Mapping 表を使い、サイトに適した専用スキーマを推奨します(例:AI meal planner → Recipe、SaaS ツール → SoftwareApplication)
  • スキーマタイプの推奨(コアか専用か)
  • ページレベルのマッピング:各スキーマを適用するページ
  • 必須プロパティを含む JSON-LD の構造
  • 検証の手順
  • 参考資料:Schema.org、Google Structured Data、Bing Markup

関連スキル

  • article-page-generator:記事の構造、Article/BlogPosting/NewsArticle スキーマ、日付表示
  • serp-features:強く関連—スキーマは SERP 機能に対応します。上記のマッピング表を参照してください
  • faq-page-generator:FAQPage スキーマ、FAQ コンテンツの構造
  • howto-section-generator:HowTo セクションコンポーネント(手順、JSON-LD)、HowTo と FAQPage の使い分け
  • breadcrumb-generator:BreadcrumbList スキーマの実装
  • featured-snippet:スニペット用の FAQPage、HowTo
  • video-optimization:VideoObject、動画サイトマップ、サムネイル、重要な場面
  • entity-seo:エンティティ認識のための Organization、Person、@id、Knowledge Panel
  • homepage-generator:ホームページまたはルートレイアウトでの Organization + WebSite スキーマ
  • indexing:JobPosting、BroadcastEvent 向けの Google Indexing API

コメント