schema-markup について
ウェブページの構造化データを監査、作成、修正するスキルです。Schemaの選定、JSON-LDの実装、検証、リッチリザルト要件、CMSへの導入を扱います。
主な機能
- 01既存マークアップの監査
- 02ページ別JSON-LDの生成
- 03検証エラーの修正
- 04Schemaタイプと組み合わせの選定
- 05CMS導入方法の案内
活用シーン
- 01ページの構造化データの監査
- 02商品ページや記事ページへのSchema追加
- 03Search Consoleのマークアップエラー修正
- 04AIによるコンテンツ理解を考慮したマークアップ計画
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ borghei/ claude-skills --skill schema-markupインストール後、Claude Code で/schema-markupを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
scripts/schema_auditor.pyschema_generator.pyschema_validator.py詳細
スキーママークアップの実装
20 種類以上のスキーマタイプ、リッチリザルトの適格性ルール、AI 検索の最適化、CMS 固有のデプロイパターンを網羅した、本番環境向けの構造化データ実装です。既存のマークアップの監査、新しいスキーマの実装、検証エラーの修正に対応します。
目次
- 動作モード
- スキーマタイプ選択マトリックス
- 実装パターン
- リッチリザルトの適格性ルール
- AI 検索の最適化
- ナレッジグラフ戦略
- CMS デプロイガイド
- 検証とテスト
- よくあるエラーと修正方法
- 監査フレームワーク
- 成果物
- 関連スキル
最初に確認すること
スキーマを生成する前に、以下の情報を確認してください。不明または曖昧な項目があれば、推測せずに質問してください。
- ページタイプと動作モード — 既存の監査、新規実装、エラー修正のいずれか。また、対象のページタイプ(Article、Product、FAQPage、LocalBusiness など) — スキーマタイプとワークフローを決定します
- 目標とするリッチリザルトまたは AI 検索の目標 — 獲得したいリッチリザルトまたは引用 — 必須フィールドのチェックリストと適格性ルールを決定します
- CMS/デプロイプラットフォーム — WordPress、Webflow、Shopify、Next.js、または静的サイト — デプロイ方法と既知の警告(例:GTM による挿入)を決定します
- ページのコンテンツソース — 実際の見出し/著者/価格/Q&A を入力します — スキーマは表示されているコンテンツと一致していなければならず、そうでない場合、Google によるペナルティの対象になります
停止ルール:出力に最も大きく影響する 2~3 項目だけを質問してください。ユーザーが「とりあえず下書きを作って」と言った場合は、そのまま進め、成果物の冒頭に前提条件を記載してください。
動作モード
モード 1:既存のマークアップを監査する
- ページソースからすべての JSON-LD ブロックを抽出します
- スキーマタイプごとに必須フィールドと推奨フィールドを検証します
- Google の最新のリッチリザルト要件と照合します
- スキーマブロックごとに完全性を 0~100 で評価します
- 修正した JSON-LD を添えて、優先順位付きの修正リストを提示します
モード 2:新しいスキーマを実装する
- ページタイプと、対応するスキーマタイプを特定します
- 主要スキーマと補助スキーマの組み合わせを選択します
- ページのコンテンツを反映した、完成済みでそのままコピーして貼り付けられる JSON-LD を生成します
- 配置方法(head 内へのインライン配置、CMS プラグイン、サーバーサイドレンダリング)を案内します
- デプロイ前にテストします
モード 3:検証エラーを修正する
- Google Search Console のエラーを特定のフィールドに対応付けます
- 根本原因(フィールドの欠落、形式の誤り、コンテンツの不一致)を特定します
- 変更履歴を添えて、修正済みの JSON-LD を提示します
- 再発防止のため、修正内容を説明します
スキーマタイプ選択マトリックス
ページタイプ別の主要スキーマ
| ページタイプ | 主要スキーマ | 補足スキーマ | リッチリザルトの種類 |
|---|---|---|---|
| ホームページ | Organization | WebSite(サイト名) | サイト名、ロゴ/ナレッジパネルのシグナル(サイトリンク検索ボックスは2024年11月に廃止) |
| ブログ記事 | Article | BreadcrumbList、Person(著者)、ImageObject | 記事カード |
| ハウツーガイド | Article | BreadcrumbList、ImageObject(HowTo は任意) | Article(HowTo のリッチリザルトは2023年9月に削除) |
| FAQ ページ | WebPage / Article | BreadcrumbList(FAQPage は任意) | --(FAQ のリッチリザルトは2026年5月に削除) |
| 商品ページ | Product | Offer、AggregateRating、Review、BreadcrumbList | 商品カード |
| ローカルビジネス | LocalBusiness | OpeningHoursSpecification、GeoCoordinates、PostalAddress | ローカルパック |
| 動画ページ | VideoObject | Article(埋め込みがある場合) | 動画カード |
| カテゴリページ | CollectionPage | BreadcrumbList、ItemList | -- |
| イベントページ | Event | Organization、Place、Offer | イベント一覧 |
| レシピ | Recipe | NutritionInformation、AggregateRating | レシピカード |
| コース | Course | Organization、Offer | コース一覧 |
| ソフトウェア/アプリ | SoftwareApplication | Offer、AggregateRating | ソフトウェアカード |
| 求人情報 | JobPosting | Organization、Place | 求人一覧 |
| レビューページ | Review | Product または LocalBusiness、Rating | レビューのスニペット |
| ポッドキャストのエピソード | PodcastEpisode | PodcastSeries、Person | ポッドキャストカード |
| 著者ページ | Person | sameAs リンク | ナレッジパネル |
| 会社ページ | Organization | sameAs リンク、ContactPoint | ナレッジパネル |
| パンくずリスト | BreadcrumbList | -- | パンくずのリッチリザルト |
| サイトナビゲーション | SiteNavigationElement | -- | -- |
| データセット | Dataset | DataCatalog | データセット検索 |
スタッキングのルール
必ず追加する項目:
- パンくずリストがページにある場合は、ホームページ以外のすべてのページに BreadcrumbList を追加する
- ホームページに Organization を追加する(サイト全体の識別情報)
一般的に有効な組み合わせ:
- Article + BreadcrumbList + Person + ImageObject(ブログ記事)
- Product + Offer + AggregateRating + BreadcrumbList(商品ページ)
- LocalBusiness + OpeningHoursSpecification + GeoCoordinates + Review(ローカルページ)
- Article + BreadcrumbList + ImageObject(ガイド。HowTo マークアップは任意で、リッチリザルトはなし)
組み合わせない項目:
- 商品を販売していないページでの Product(誤用すると Google のペナルティ対象になります)
- 同じエンティティに対する複数の Organization ブロック(1つにまとめる)
- Q&A がユーザーに表示されないページでの FAQPage
実装パターン
JSON-LD 形式(常に使用)
実装する価値がある形式は JSON-LD だけです。Google が推奨しており、<head> 内に配置でき、HTML マークアップに変更を加える必要がありません。Microdata と RDFa はレガシー形式です。新規実装では使用しないでください。
配置
<head>
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Article",
"headline": "Your Article Title",
"author": {
"@type": "Person",
"name": "Author Name",
"url": "https://example.com/authors/name",
"sameAs": ["https://linkedin.com/in/name", "https://twitter.com/name"]
},
"datePublished": "2026-01-15",
"dateModified": "2026-03-01",
"image": "https://example.com/images/article-hero.jpg",
"publisher": {
"@type": "Organization",
"name": "Company Name",
"logo": {
"@type": "ImageObject",
"url": "https://example.com/logo.png"
}
}
}
</script>
</head>
1ページに複数の <script type="application/ld+json"> ブロックを配置しても問題ありません。関連のないスキーマタイプには別々のブロックを使用します。関連するタイプは1つのブロック内にネストします。
スコープのルール
| スコープ | スキーマ | 配置 |
|---|---|---|
| サイト全体 | Organization、WebSite | ホームページテンプレートのヘッダー |
| ページごと | Article、Product、VideoObject、Event | ページ固有の head への挿入 |
| 要素ごと | BreadcrumbList | ホームページ以外のすべてのページ |
| 条件付き | Event、JobPosting | 該当するコンテンツタイプのページのみ |
リッチリザルトの対象となる条件
Google は、有効なスキーマをすべてリッチリザルトとして表示するわけではありません。以下は、2026 年 9 月時点での要件です。リッチリザルトが表示されると案内する前に、最新の検索ギャラリーを確認してください。対象の種類は廃止されることがあります。
廃止された Google リッチリザルト(マークアップは引き続き有効な schema.org ですが、Google 検索の機能としては表示されません):
| 機能 | 状況 | 参照元 |
|---|---|---|
| HowTo リッチリザルト | 2023 年 8 月に制限。2023 年 9 月 13 日以降、すべてのデバイスで表示されなくなりました | Search Central ブログ |
| FAQ リッチリザルト | 2023 年 8 月に政府機関・医療機関などの権威あるサイトに限定。2026 年 5 月 7 日に Google 検索から削除 | FAQPage ドキュメントの変更履歴 |
| サイトリンク検索ボックス(WebSite + SearchAction) | 2024 年 11 月 21 日に削除。マークアップを残しても問題はありません | Search Central ブログ |
Article リッチリザルト
| フィールド | 必須 | 備考 |
|---|---|---|
| headline | はい | ページに表示されるタイトルと一致させる必要があります |
| image | はい | クロール可能で、幅が 1200px 以上である必要があります |
| datePublished | はい | ISO 8601 形式 |
| dateModified | 推奨 | datePublished 以上である必要があります |
| author.name | はい | 実在する人物または組織と一致させる必要があります |
| author.url | 推奨 | 著者のページへのリンク |
| publisher.name | はい | |
| publisher.logo | はい | 最大 600x60px |
Product リッチリザルト
| フィールド | 必須 | 備考 |
|---|---|---|
| name | はい | 商品名 |
| image | はい | 商品の写真 |
| offers.price | はい | 数値 |
| offers.priceCurrency | はい | ISO 4217 コード |
| offers.availability | 推奨 | schema.org/InStock などを使用 |
| aggregateRating.ratingValue | 推奨 | 数値 |
| aggregateRating.reviewCount | 推奨 | 整数 |
| review | 推奨 | 1 件以上のレビュー |
FAQPage と HowTo(Google リッチリザルトなし)
ほかの利用者向けに FAQPage または HowTo を出力する場合は、有効かつ正確な状態を保ってください。mainEntity は Question アイテムの配列とし、acceptedAnswer.text(FAQPage)を含めます。step は HowToStep アイテムの配列とし(HowTo)、Q&A の各ペアや各ステップをページ上に表示します。これらをリッチリザルトの成果として報告しないでください。
AI 検索最適化
AI 検索システム(Google AI Overviews、Perplexity、ChatGPT Search、Bing Copilot)は、コンテンツの理解やエンティティの認識に構造化データを利用することがあります。Google によると、AI Overviews または AI Mode に表示されるために、特別な schema.org マークアップは必要ありません(2026 年 9 月時点のAI 機能とウェブサイト)。スキーマは理解を助けるものであり、AI の引用を切り替えるものではありません。
AI 検索でスキーマが重要な理由
- コンテンツタイプの分類 -- AI システムは
@typeを使って、コンテンツがハウツー、商品リスト、FAQ、意見記事のいずれかを判定します - 抽出可能な構造はページ上にあります -- AI システムは、ページ上に表示される Q&A や段階的な手順を抽出します。FAQPage/HowTo のマークアップは任意であり、Google 側から引用の増加を示す証拠はありません
- 鮮度のシグナル --
datePublishedとdateModifiedは、AI システムが公開時期に基づいて絞り込む際に役立ちます - 権威性のシグナル -- 既知のプロフィールへの
sameAsリンクを含むauthorは、エンティティの認識を高めます - エンティティの関連付け -- Wikidata、LinkedIn、ソーシャルプロフィールへの
sameAsリンクを含むOrganizationは、エンティティの識別精度を高めます
AI 検索スキーマの実践ガイド
| アクション | 優先度 | 効果 |
|---|---|---|
| author Person スキーマを追加し、LinkedIn、Twitter、Google Scholar への sameAs を設定する | 高 | 著者エンティティの認識 |
| Organization を追加し、Wikidata、LinkedIn、Crunchbase への sameAs を設定する | 高 | ブランドエンティティの認識 |
| コンテンツを更新するたびに dateModified を正確に保つ | 中 | 鮮度によるフィルタリング |
| Article、Product、BreadcrumbList スキーマを正確に保ち、表示されているコンテンツと一致させる | 中 | リッチリザルト+コンテンツ種別の明確化 |
| Q&A またはチュートリアルのコンテンツに FAQPage / HowTo マークアップを追加する | 低 | 任意。Google のリッチリザルトは表示されず、AI 機能で特別な扱いもありません |
| ツールや製品のページに SoftwareApplication スキーマを追加する | 中 | AI の回答で製品として認識される |
ナレッジグラフ戦略
Google のナレッジグラフに登録されると、エンティティ(人物、企業、製品)が認識され、パネルや AI の回答、相互参照検索に表示されます。
ナレッジグラフへの登録要件
- Wikidata エントリー -- Wikidata.org でエンティティを作成するか、既存のエンティティを申請します
- Wikipedia への掲載 -- Wikipedia の記事があると、ナレッジグラフへの登録確率が大幅に高まります
- NAP の一貫性 -- すべての引用元で、名前、住所、電話番号を完全に一致させる必要があります
- sameAs ネットワーク -- Organization スキーマからすべての公式プロフィールにリンクする必要があります
sameAs のベストプラクティス
{
"@type": "Organization",
"name": "Your Company",
"url": "https://yourcompany.com",
"sameAs": [
"https://www.wikidata.org/wiki/Q12345678",
"https://en.wikipedia.org/wiki/Your_Company",
"https://www.linkedin.com/company/yourcompany",
"https://twitter.com/yourcompany",
"https://www.crunchbase.com/organization/yourcompany",
"https://github.com/yourcompany"
]
}
sameAs リンクの重要度順:
- Wikidata(最も強いエンティティシグナル)
- Wikipedia
- 公式ソーシャルプロフィール
- 業界ディレクトリ(Crunchbase、G2、Capterra)
CMS デプロイガイド
WordPress
- Yoast SEO / Rank Math:Article、Organization、BreadcrumbList を自動生成します。FAQ/HowTo ブロックもマークアップを出力しますが、Google のリッチリザルトには表示されなくなりました。
- カスタムスキーマ:
wp_headアクションフックまたはカスタムプラグインを通じて追加します。 - 避けるべき方法:JavaScript 経由でスキーマを挿入するプラグイン(Google がレンダリングしない場合があります)。
Webflow
- ページごとの設定:ページ設定 > Custom Code > Head でカスタムコードを追加します
- CMS による生成:Webflow CMS を使用し、CMS フィールド参照を含む埋め込みコードブロックから動的な JSON-LD を生成します
- サイト全体への設定:Project Settings > Custom Code > Head で Organization スキーマを追加します
Shopify
- Product スキーマ:ほとんどのテーマで自動生成されます。Offer と AggregateRating が含まれていることを確認してください。
- Article/Blog スキーマ:通常は設定されていないため、theme.liquid またはスキーマアプリを使用して手動で追加します。
- Organization:theme.liquid の
<head>セクションに追加します。
Next.js / Custom React
- サーバーサイドレンダリング:ページコンポーネントで JSON-LD を生成し、
<Head>内にレンダリングします。 - next-seo ライブラリ:一般的なタイプのスキーマコンポーネントを提供します。
- 動的ページ:ハードコードせず、データレイヤーからスキーマを生成します。
静的サイト(Hugo、Jekyll、Gatsby)
- テンプレートレベル:テンプレート変数を使用して、レイアウトテンプレートに JSON-LD を追加します。
- ページごとの設定:フロントマターのデータを使用して、スキーマフィールドに動的に値を設定します。
Google Tag Manager (GTM)
- 警告:GTM で挿入したスキーマは、JavaScript の実行後にクライアント側でレンダリングされるため、Google にインデックス登録されないことがよくあります。
- 次の場合にのみ使用:ほかに選択肢がない場合(CMS にアクセスできない、開発リソースがない)。
- より良い代替策:CMS またはテンプレートエンジンを通じたサーバーサイドでの挿入。
検証とテスト
3 層の検証
デプロイ前に、すべてのスキーマ実装を次の 3 つのツールすべてでテストしてください。
| ツール | URL | チェック内容 |
|---|---|---|
| Google Rich Results Test | search.google.com/test/rich-results | Google のパーサー、リッチリザルトの対象可否 |
| Schema.org Validator | validator.schema.org | 仕様全体への準拠(Google より広範囲) |
| Google Search Console | Enhancements section | 実際の環境での大規模なエラー、デプロイ後の確認 |
検証ワークフロー
- デプロイ前:レンダリング済みHTMLに対して、リッチリザルトテストとSchema.org Validatorを実行します
- デプロイ後(1日目):GSCのURL検査ツールでページがクロールされていることを確認します
- デプロイ後(2~4週目):GSCの拡張機能セクションで、大量のエラーがないか確認します
- 継続的な確認(月次):コンテンツ更新による新たなエラーがないか、GSCの拡張機能を監視します
よくあるエラーと修正方法
| エラー | 根本原因 | 修正方法 |
|---|---|---|
@context がない | スキーマブロックにコンテキスト宣言がありません | "@context": "https://schema.org" を追加します |
| 必須フィールドがない | 必須プロパティがありません | ページの実際のコンテンツを使ってフィールドを追加します |
image のURLが相対パス | 絶対URLではなく /image.jpg を指定しています | https://example.com/image.jpg を使います |
dateModified < datePublished | 日付の関係が不正です | dateModified >= datePublished であることを確認します |
| マークアップとページのコンテンツが一致しない | スキーマがユーザーに表示されていないコンテンツを示しています | ページ上に実際にあるコンテンツに対してのみスキーマを追加します |
| 非推奨のプロパティ | 古いschema.orgのプロパティ名を使っています | schema.orgで現在の仕様を確認します |
| ネストされた型の競合 | Article内にProductを誤って配置しています | 型をフラットに保つか、適切な@graphネストを使います |
| 日付形式が正しくない | ISO 8601形式ではありません | "2026-01-15" または "2026-01-15T10:30:00Z" を使います |
| 空文字列の値 | "name": "" は構文上は有効でも、意味的には不適切です | 実際の値を使い、空文字列は使いません |
| 配列が必要なのに単一の値を指定 | FAQPageでは mainEntity に配列が必要です | [] の配列角括弧で囲みます |
| ロゴが大きすぎる | パブリッシャーのロゴが600x60pxを超えています | サイズを変更するか、別のロゴ形式を使います |
| GTMによる挿入がインデックスされない | クライアントサイドレンダリングです | サーバーサイドの<head>への挿入に切り替えます |
監査フレームワーク
監査スコアカード(0~100)
| 項目 | 重み | 採点方法 |
|---|---|---|
| 必須フィールドの有無 | 40% | 必須フィールドが1つ欠けるごとに-10 |
| 推奨フィールドの有無 | 15% | 推奨フィールドが1つ欠けるごとに-3 |
| リッチリザルトの対象条件 | 20% | 二択:対象か対象外 |
| コンテンツとマークアップの一致 | 15% | スキーマと表示コンテンツの不一致1件ごとに-5 |
| sameAsとエンティティシグナル | 10% | 主要プラットフォームへのリンクが1つ欠けるごとに-5 |
優先度の分類
| 優先度 | 基準 | 対応 |
|---|---|---|
| P0 重大 | 必須フィールドが欠けており、リッチリザルトが表示されない | 直ちに修正します |
| P1 高 | 推奨フィールドが欠けており、対象となる可能性が低下します | 今週中に修正します |
| P2 中 | コンテンツの不一致、非推奨プロパティ | 今月中に修正します |
| P3 低 | sameAsリンクがない、任意の拡張 | 都合のよいときに追加します |
成果物
| 成果物 | 形式 | 説明 |
|---|---|---|
| スキーマ監査レポート | スコア付き表 | ページごとのスキーマ一覧、完全性スコア、優先度の高い修正項目 |
| JSON-LDの実装 | コピーして貼り付けられるコードブロック | 各ページタイプの完全なスキーマ。プレースホルダー値は明確に示されています |
| エラー修正ログ | 修正前/修正後のJSON-LD | 各修正について、根本原因と再発防止策を説明します |
| AI検索のギャップ分析 | 推奨事項の表 | 不足しているエンティティマークアップ、sameAsの不足、コンテンツタイプの不一致 |
| CMS実装ガイド | 手順書 | プラットフォーム固有のデプロイ手順 |
| リッチリザルト対象条件マトリクス | ページタイプ x スキーマ x 対象条件 | どのページがどのリッチリザルトタイプの対象となるか |
関連スキル
- seo-audit -- 構造化データにとどまらない、技術SEOとコンテンツSEOの全般的な監査に使用します。問題がスキーマより広範囲に及ぶ場合に利用します。
- site-architecture -- URL構造とナビゲーションに使用します。根本原因がスキーマではなくアーキテクチャにある場合に利用します。
- programmatic-seo -- 大量のページに対してスキーマが必要なサイトに使用します。スキーマパターンはpSEOテンプレートの設計に活用されます。
- content-creator -- コンテンツ作成に使用します。Articleスキーマを実装する前に利用して、コンテンツの品質を確保します。
トラブルシューティング
| 問題 | 考えられる原因 | 解決策 |
|---|---|---|
| スキーマは検証に合格するが、リッチリザルトが表示されない | リッチリザルトの対象となるための必須フィールドが不足している、またはGoogleがまだ再クロールしていない | Googleリッチリザルトテストで検証します(schema.orgバリデーターだけでは不十分です)。GSCから再インデックスをリクエストします |
| FAQPageスキーマを設定してもFAQのドロップダウンが生成されない | FAQリッチリザルトは2026年5月にGoogle検索から削除されました(HowToは2023年9月) | 想定どおりの動作です。修正する必要はありません。マークアップを有効な状態に保つか削除し、リッチリザルトのKPIとして追跡するのをやめます |
| ProductスキーマについてGSCに「必須フィールドがありません」という警告が表示される | 必須フィールド(価格、在庫状況、レビュー)が存在しない、または形式が正しくない | 必須のProductおよびOfferフィールドをすべて追加します。通貨にはISO 4217、在庫状況にはschema.org/InStockを使用します |
| GTMで挿入したスキーマがインデックスに登録されない | クライアントサイドレンダリングのため、Googleがスキーマ用のGTM JavaScriptを実行しない可能性がある | スキーマをGTMからサーバーサイドの<head>挿入に移します。GTMによるスキーマ挿入はインデックス登録において信頼性がありません |
| dateModifiedがdatePublishedより古い | データ入力の誤り、またはCMSによる自動入力の不具合 | dateModified >= datePublishedであることを確認し、CMSの日付フィールドのロジックを監査します |
| Organizationブロックが複数あり、内容が競合する | 異なるプラグインやテンプレートがそれぞれ別のOrganizationスキーマを挿入している | ホームページのOrganizationブロックを1つに統合し、重複を削除します |
| スキーマの検証には合格するが、Googleに「コンテンツの不一致」と表示される | スキーマがページ上でユーザーに実際には表示されていないコンテンツを示している | ページ上に実際に存在するコンテンツにのみスキーマを追加します。偽装したコンテンツや非表示のコンテンツは決して追加しないでください |
成功基準
- リッチリザルトの対象適格性:適切なスキーマタイプを持つコンテンツページの100%が、Googleリッチリザルトテストでリッチリザルトの対象となる
- 検証合格率:すべてのスキーマタイプについて、Google Search Consoleの拡張レポートでエラーがゼロである
- リッチリザルトによるCTR向上:構造化データを含むページのCTRが、構造化データを含まないページより20~35%高い(SearchPilotのテストに基づく2026年のベンチマーク)
- AI対応:すべての情報ページにエンティティマークアップ(Organization、sameAsを含むPerson)と正確なArticleの日付を設定し、抽出できるよう回答をHTML上に表示する
- エンティティ認識:5つ以上のsameAsリンクを含むOrganizationスキーマをサイト全体に導入し、ブランドがナレッジグラフに表示される
- 適用範囲:インデックス可能なページの95%以上にスキーマを実装する(最低限BreadcrumbListを設定し、関連ページにはコンテンツ固有のタイプを設定する)
- 鮮度の正確性:すべてのArticleスキーマで、コンテンツが変更されるたびに24時間以内にdateModifiedを更新する
対象範囲と制限事項
対象範囲:
- 20種類以上のスキーマタイプの選定とJSON-LDの実装
- リッチリザルトの対象適格性の確認と最適化
- 構造化データによるAI検索での可視性向上
- ナレッジグラフのエンティティ最適化
- スキーマの検証、テスト、エラー解決
- CMS固有の導入ガイダンス(WordPress、Webflow、Shopify、Next.js)
対象範囲外:
- スキーマの対象となるページのコンテンツ作成(Content Productionを使用)
- 構造化データ以外のテクニカルSEO(SEO Auditを使用)
- MicrodataまたはRDFaの実装(JSON-LDのみ — Googleの推奨方式)
- カスタムschema.org拡張や語彙の提案
- サーバーサイドレンダリングの実装
- CMSプラグインの開発
既知の制限事項:
- 有効なスキーマを設定していても、Googleはリッチリザルトを保証しません。権威性とコンテンツの品質も影響します
- GTMで挿入したスキーマはインデックスに登録されないことが多く、確実にするにはサーバーサイドでの導入が必要です
- schema.orgの仕様はGoogleのサポートよりも速く更新されるため、有効なタイプがすべてリッチリザルトを生成するわけではありません
- リッチリザルトのタイプは、ほとんど告知されないまま廃止されることがあります(例:HowToは2023年、サイトリンク検索ボックスは2024年、FAQは2026年に削除)
- 構造化データがCTRに与える影響は、業界や検索結果ページに表示される機能によって異なります
スクリプト
# Validate JSON-LD schema from a file or URL
python scripts/schema_validator.py --file schema.json --json
# Audit a page for schema coverage and completeness
python scripts/schema_validator.py --html page.html --verbose
# Generate JSON-LD templates for common page types
python scripts/schema_generator.py --type Article --title "My Post" --author "Jane" --json