seo-sitemap について
SEO担当者向けに、既存の XML サイトマップの分析や、サイト構造に基づく新規作成を支援するワークフローです。検出、検証、分割、エラー処理の基準を定めています。
主な機能
- 01既存サイトマップの検出と検証
- 02XML、URL 状態、正規 URL の確認
- 03クロール済みページと照合して漏れを発見
- 04サイトマップとインデックスの生成
- 05構造ドキュメントと問題レポートの作成
活用シーン
- 01サイトマップ内のリンク切れやリダイレクトの確認
- 02サイトマップにないページの特定
- 03サイト用サイトマップの計画と生成
- 04URL 数やファイルサイズに応じた分割
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ agricidaniel/ claude-seo --skill seo-sitemapインストール後、Claude Code で/seo-sitemapを入力して読み込まれたか確認します。
同梱ファイルLICENSE.txt
詳細
サイトマップの分析と生成
モード 1:既存のサイトマップを分析
サイトマップが見つからないと報告する前に、候補を検出します。
"${CLAUDE_PLUGIN_ROOT}/scripts/claude-seo" run sitemap_discovery.py <url> --json
このヘルパーは、robots.txt 内の長さ制限内にあるすべての Sitemap: 宣言を読み取り、共有の SSRF 対策済みフェッチ層を通じてホストをまたぐターゲットを検証します。また、宣言されたサイトマップが古い、または無効な場合でも、一般的なパスを引き続き調査します。found 内のエントリーのみを使用し、robots.txt の行だけをサイトマップが機能している証拠とみなすのではなく、宣言されたサイトマップの取得失敗は検出結果として保持してください。
検証項目
- XML 形式が有効であること
- ファイルごとの上限:URL 数 50,000 件以下、かつ非圧縮サイズ 50MB 以下(いずれかに先に達した時点で上限)
- すべての URL が HTTP 200 を返すこと
<lastmod>が正確であること:有効な W3C Datetime 形式であり、最後に行われた重要なコンテンツ変更(メインコンテンツ、構造化データ、リンクであり、著作権表示や定型文の変更ではありません)を反映している必要があります。Google が<lastmod>を評価するのは、一貫して正確さを検証できる場合に限られます。そのため、値が不自然に一様な場合や、ページの実際のコンテンツより新しい場合は警告してください。- 非推奨タグがないこと:
<priority>と<changefreq>は Google に無視されます - サイトマップが robots.txt で参照されていること
- クロール済みのページとサイトマップを比較し、欠落しているページを指摘すること
品質に関する指標
- URL 数が 50,000 件を超える場合はサイトマップインデックスファイルを使用する
- コンテンツの種類(ページ、投稿、画像、動画)ごとに分割する
- サイトマップに正規 URL 以外を含めない
- サイトマップに noindex の URL を含めない
- サイトマップにリダイレクトされる URL を含めない
- HTTPS の URL のみを使用する(HTTP は使用しない)
よくある問題
| 問題 | 重大度 | 修正方法 |
|---|---|---|
| 1 ファイルに 50k 件を超える URL が含まれている | Critical | サイトマップインデックスで分割する |
| 1 ファイルの非圧縮サイズが 50MB を超えている | Critical | サイトマップインデックスで分割する |
| HTTP 200 以外の URL がある | High | URL を削除するか、リンク切れを修正する |
| noindex の URL が含まれている | High | サイトマップから削除する |
| リダイレクトされる URL が含まれている | Medium | 最終的な URL に更新する |
| lastmod がすべて同一 | Low | 実際の更新日を使用する |
| priority/changefreq が使用されている | Info | 削除できます(Google は無視します) |
拡張サイトマップ(画像/動画/ニュース)
Google はそれぞれ独自のルールを持つ 3 種類のサブタイプを説明しています。サブタイプごとに検証してください。
- 画像(
http://www.google.com/schemas/sitemap-image/1.1):有効なタグとして残っているのは<image:image>と<image:loc>の 2 つのみです(<url>ごとに<image:image>は最大 1,000 件)。<image:caption>/<image:geo_location>/<image:title>/<image:license>は非推奨(2022 年)です。情報レベルの削除可能項目として指摘してください。 - 動画:
<video:thumbnail_loc>、<video:title>、<video:description>を含む<video:video>が必須であり、さらに<video:content_loc>または<video:player_loc>が必要です。mRSS もサポートされています。非推奨または削除済みのタグ(<video:category>、<video:gallery_loc>、<video:price>、<video:tvshow>、プレーヤーの自動再生/allow_embed)は、情報レベルの削除可能項目として指摘してください。削除日を示す前に、Google のドキュメントを再確認してください。 - ニュース:1 ファイルあたり最大 1,000 件の
<news:news>を含めます(50,000 件ではありません)。直近 2 日間の記事のみを含めます。<news:publication>/<news:name>/<news:language>/<news:publication_date>/<news:title>が必須です。Search Console または robots.txt/サイトマップインデックスを通じて送信/検出します。該当する場合、Publisher Center は出版物の管理にのみ使用してください。news:名前空間が検出された場合は、一般的な 50k 件のチェックを上書きし、1,000 件の上限を適用します。
モード 2:新しいサイトマップを生成
手順
- ビジネスの種類を尋ねます(既存のサイトから自動検出することもできます)
../seo-plan/assets/ディレクトリから業界テンプレートを読み込みます- ユーザーと対話しながら構成を計画します
- 品質基準を適用します:
- ⚠️ 30 件以上の地域ページで警告(固有コンテンツが 60% 以上必要)
- 🛑 50 件以上の地域ページで強制停止(正当な理由が必要)
- 有効な XML 出力を生成します
- 50,000 件の URL または非圧縮サイズ 50MB のうち、先に達した方で分割し、サイトマップインデックスを作成します
- STRUCTURE.md ドキュメントを生成します
安全なプログラム生成ページ(大規模でも問題なし)
✅ インテグレーションページ(実際のセットアップドキュメント付き) ✅ テンプレート/ツールページ(ダウンロード可能なコンテンツ付き) ✅ 用語集ページ(200 語以上の定義) ✅ 製品ページ(固有の仕様、レビュー付き) ✅ ユーザープロフィールページ(ユーザー生成コンテンツ付き)
ペナルティのリスク(大規模に行う場合は避けてください)
❌ 都市名だけを置き換えたロケーションページ ❌ 業界固有の価値がない「[業界]向けの最高の[ツール]」 ❌ 実際の比較データがない「[競合他社]の代替」 ❌ 人によるレビューや独自の価値を伴わないAI生成ページ
サイトマップの形式
標準サイトマップ
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://example.com/page</loc>
<lastmod>2026-02-07</lastmod>
</url>
</urlset>
サイトマップインデックス(URLが5万件を超える場合)
<?xml version="1.0" encoding="UTF-8"?>
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<sitemap>
<loc>https://example.com/sitemap-pages.xml</loc>
<lastmod>2026-02-07</lastmod>
</sitemap>
<sitemap>
<loc>https://example.com/sitemap-posts.xml</loc>
<lastmod>2026-02-07</lastmod>
</sitemap>
</sitemapindex>
エラー処理
- URLにアクセスできない場合:HTTPステータスコードを報告し、サイトが稼働中か確認するよう提案します
- サイトマップが見つからない場合:
sitemap_discovery.pyを実行し、宣言済みおよび一般的な候補を確認した後もfoundリストが空の場合にのみ「見つかりません」と報告します - XML形式が無効な場合:行番号を含め、具体的な解析エラーを報告します
- レート制限が検出された場合:処理を一時停止し、再試行のタイミングに関する注記を添えて部分的な結果を報告します
出力
分析の場合
VALIDATION-REPORT.md:分析結果- 重大度を含む問題の一覧
- 推奨事項
生成の場合
sitemap.xml(またはインデックス付きの分割ファイル)STRUCTURE.md:サイトアーキテクチャのドキュメント- URL数と構成の概要
コメント
Markdown 対応