seo-schema について
seo-schemaは、ページの構造化データを改善する担当者向けに、Schemaマークアップの検出、検証、生成を行うSEOスキルです。JSON-LD、Microdata、RDFaを確認し、実装用のJSON-LDを出力します。
主な機能
- 01JSON-LD、Microdata、RDFaの検出
- 02スキーマタイプごとの必須プロパティ確認
- 03Google対応リッチリザルトタイプの検証
- 04非推奨・終了タイプの識別
- 05JSON-LDマークアップテンプレートの生成
- 06検出レポートと実装案の提示
活用シーン
- 01ページ上の構造化データの監査
- 02JSON-LDのプロパティや構文の修正
- 03ページ向けSchemaマークアップの生成
- 04既存マークアップの対応状況の確認
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ agricidaniel/ claude-seo --skill seo-schemaインストール後、Claude Code で/seo-schemaを入力して読み込まれたか確認します。
同梱ファイルLICENSE.txtreferences/deprecated-types-2024-2026.md
詳細
スキーママークアップの分析と生成
検出
"${CLAUDE_PLUGIN_ROOT}/scripts/claude-seo" run parse_html.py --url <url> --jsonを使って JSON-LD を抽出します (または、ページのソースで<script type="application/ld+json">を検索します)。@contextまたは@typeがないブロックにはフラグを付けます。そのようなブロックは Google がエンティティに関連付けられないためです(そのブロック内の評価は Product に反映されません)。- Microdata(
itemscope、itemprop)を確認します - RDFa(
typeof、property)を確認します - 常に JSON-LD を主要な形式として推奨します(Google が明示している推奨形式です)
検証
- スキーマの種類ごとに必須プロパティを確認します
- Google がサポートするリッチリザルトの種類に照らして検証します
- よくあるエラーを確認します:
@contextがない@typeが無効- データ型が誤っている
- プレースホルダーテキスト
- 相対 URL(絶対 URL にする必要があります)
- 日付形式が無効
- 非推奨の種類にフラグを付けます(以下を参照)
スキーマの種類のステータス(2026 年 6 月時点)
全種類の一覧は ../seo/references/schema-types.md を参照してください。主なルール:
有効(自由に推奨できます):
Organization、LocalBusiness、SoftwareApplication、WebApplication、Product(2025 年 4 月時点で Certification マークアップに対応)、ProductGroup、Offer、Service、Article、BlogPosting、NewsArticle、Review、AggregateRating、BreadcrumbList、WebSite、WebPage、Person、ProfilePage、ContactPage、VideoObject、ImageObject、Event、JobPosting、Course、DiscussionForumPosting
動画および専門用途(自由に推奨できます):
BroadcastEvent、Clip、SeekToAction、SoftwareSourceCode
これらの種類ですぐに使える JSON-LD テンプレートは schema/templates.json を参照してください。
JSON-LD と JavaScript によるレンダリング: Google は JavaScript で生成された構造化データをサポートしていますが、「Generate structured data with JavaScript」ガイド(最終更新日:2025-12-10)では、動的に生成された Product マークアップによって、価格や在庫状況が頻繁に変わる場合、Shopping のクロール頻度が下がり、信頼性も低下する可能性があると警告しています。時間に左右されるマークアップ(特に Product、Offer)では、サーバー側で初期レンダリングされる HTML に JSON-LD を含めてください。
リッチリザルトには非対応、役立つ場合は維持:
- FAQPage:Google は 2026 年 5 月 7 日に、すべてのサイトで FAQ リッチリザルトを廃止しました(2023 年 8 月の政府・医療関連サイトへの制限に優先します)。Google の SERP でリッチリザルトとして表示されるメリットはありません。既存の FAQPage は削除ではなく、重大ではない情報レベルの指摘としてフラグを付けてください。ユーザー同士の質疑応答を目的とするページには、QAPage を使用してください。
非推奨(決して推奨しないでください):
- HowTo:リッチリザルトは 2023 年 9 月に廃止されました
- SpecialAnnouncement:2025 年 7 月 31 日に非推奨になりました
- CourseInfo、EstimatedSalary、LearningVideo:2025 年 6 月に廃止されました
- ClaimReview:2025 年 6 月以降、Search のリッチリザルトには対応していません。Google の Fact Check Explorer は引き続きこのマークアップを使用するため、ファクトチェックを行うパブリッシャーは維持できます。SERP の機能を目的として推奨することは決してありません
- VehicleListing:2025 年 6 月にリッチリザルトから廃止されました
- Practice Problem:2025-11-05 に非推奨の通知が出され、ツールのサポートは 2026 年 1 月から削除され、ドキュメントは 2026-01-06 に削除されました
- Search Console/Rich Results Test/検索結果の表示フィルターでの CourseInfo、ClaimReview、EstimatedSalary、LearningVideo、SpecialAnnouncement、VehicleListing のサポートは 2025-09-09 に削除されました(Search Console API は 2025 年 12 月まで)。
引き続きサポート対象(以前の段階的廃止通知にかかわらず):
- Book Actions:非推奨ではありません。検索機能の一つで引き続きマークアップが使用されているため、2025 年 6 月に表示された段階的廃止のバナーは 2025-11-05 に削除されました。
Dataset Search のみでサポート:
- Dataset:廃止されていません。Google Dataset Search で使用されていますが、Google Search のリッチリザルトとしては表示されません。廃止されたかのように削除を勧めないでください。
引き続きサポート対象(フラグを付けない):
- QAPage(コメントスレッドのプロパティが 2026-03-24 に拡張)、DiscussionForumPosting、Education Q&A(Quiz/
eduQuestionType=Flashcard)。eコマースでは、アダルト商品に hasAdultConsideration(2026-05-20 に追加、値はhttps://schema.org/SexualContentConsideration)が必須です。Product.categoryはText、CategoryCode、または両者を混在させた配列を受け付けます。
生成
ページのスキーマを生成する場合:
- コンテンツ分析からページタイプを特定します
- 適切なスキーマタイプを選択します
- 必須および推奨プロパティをすべて含む、有効な JSON-LD を生成します
- 真実で検証可能なデータのみを含めます。ユーザーが入力する箇所には、明確にプレースホルダーを使用します
- 提示する前に出力を検証します
- レビューマークアップについては、偽のレビューや、インセンティブの提供が開示されていないレビューを拒否します。 インセンティブは、ページ上で明確かつ目立つように開示する必要があります。
一般的なスキーマテンプレート
Organization
{
"@context": "https://schema.org",
"@type": "Organization",
"name": "[Company Name]",
"url": "[Website URL]",
"logo": "[Logo URL]",
"contactPoint": {
"@type": "ContactPoint",
"telephone": "[Phone]",
"contactType": "customer service"
},
"sameAs": [
"[Facebook URL]",
"[LinkedIn URL]",
"[Twitter URL]"
]
}
LocalBusiness
{
"@context": "https://schema.org",
"@type": "LocalBusiness",
"name": "[Business Name]",
"address": {
"@type": "PostalAddress",
"streetAddress": "[Street]",
"addressLocality": "[City]",
"addressRegion": "[State]",
"postalCode": "[ZIP]",
"addressCountry": "US"
},
"telephone": "[Phone]",
"openingHours": "Mo-Fr 09:00-17:00",
"geo": {
"@type": "GeoCoordinates",
"latitude": "[Lat]",
"longitude": "[Long]"
}
}
Article/BlogPosting
{
"@context": "https://schema.org",
"@type": "Article",
"headline": "[Title]",
"author": {
"@type": "Person",
"name": "[Author Name]"
},
"datePublished": "[YYYY-MM-DD]",
"dateModified": "[YYYY-MM-DD]",
"image": "[Image URL]",
"publisher": {
"@type": "Organization",
"name": "[Publisher]",
"logo": {
"@type": "ImageObject",
"url": "[Logo URL]"
}
}
}
出力
SCHEMA-REPORT.md:検出および検証結果generated-schema.json:すぐに使える JSON-LD スニペット
検証結果
| スキーマ | タイプ | ステータス | 問題 |
|---|---|---|---|
| ... | ... | ✅/⚠️/❌ | ... |
推奨事項
- 不足しているスキーマの候補
- 必要な検証修正
- 実装用に生成されたコード
エラー処理
| シナリオ | 対応 |
|---|---|
| URL にアクセスできない | ステータスコードとともに接続エラーを報告します。URL を確認し、ページへのアクセスに認証が必要かどうかを確認するよう提案します。 |
| スキーママークアップが見つからない | JSON-LD、Microdata、RDFa が検出されなかったことを報告します。ページのコンテンツ分析に基づき、適切なスキーマタイプを推奨します。 |
| JSON-LD の構文が無効 | 構文上の具体的なエラー(括弧の不足、末尾のカンマ、キーが引用符で囲まれていないなど)を解析して報告します。修正済みの JSON-LD 出力を提示します。 |
| 非推奨のスキーマタイプが検出された | 非推奨のタイプと廃止日を明示します。現在の代替タイプを推奨するか、代替タイプがない場合は削除を提案します。 |