sitemapの検証を簡単にするツールを開発しました
2026年09月25日
ライター:西村 彰悟
SEO

※ 本記事の画面・機能は執筆時点(2026-09、Sitemap Validator v1.16)のものです。拡張機能は継続的にアップデートしているため、表示や検証項目は変わる場合があります。

サイトマップ(sitemap.xml)の検証は、地味に確認項目が多い作業です。XMLの構文は正しいか、URLは50,000件以内か、 <lastmod> の形式は正しいか、記載したURLが実際に200を返すか、正規URL(canonical)と一致しているか、noindexが付いていないか……。Search Consoleに送信すれば一部は分かりますが、送信前に手元でざっと確かめたいときに、毎回ファイルを開いて確認するのは大変です。

そこで、ブラウザ上でサイトマップを開くだけでこれらをまとめて確認できるChrome拡張機能「Sitemap Validator」を開発しました。開発にはClaude(Anthropic社のAI)の助けを借りており、仕様の整理からコードの実装、テストまで対話しながら進めています。本記事では、このツールのインストール方法と、実務での使い方を紹介します。


Chrome ウェブストア

[画像]Chrome ウェブストア

https://chromewebstore.google.com/detail/sitemap-validator/mfhioikekgfikgghajmfhncimopnmlci

検証はすべてブラウザ内で完結し、サイトマップの内容や結果が弊社など外部サーバーに送信されることはありません。無料で利用できます。

目次

  1. 使い方
    1. インストール方法
    2. 検証方法(3つの入力方法)
  2. 機能紹介
    1. Issues タブ:サイトマップの要件チェック
    2. URL Sample タブ:記載URLの実測チェック
    3. Viewer タブ:整形されたサイトマップの確認
    4. 画像・動画・多言語サイトマップ向けの確認機能
    5. robots.txt からのサイトマップ自動検出
  3. ツール利用時の注意
  4. おわりに

使い方

インストール方法

Chrome拡張機能なので、Chromeのほか、ChromiumベースのMicrosoft Edgeでも動作します。

1. Chrome ウェブストアのページを開き、「Chrome に追加」をクリックします(Edgeの場合は「他のストアからの拡張機能を許可します」を有効にした上で追加します)

2. 追加後は、アドレスバー右隣の拡張機能アイコン(パズルピースのマーク)をクリックすると一覧に「Sitemap Validator」が表示されます

3. 頻繁に使う場合は、一覧の中の「ピン留め」アイコンをクリックしてツールバーに常時表示しておくと便利です

ピン留めの操作画面

検証方法(3つの入力方法)

検証したいサイトマップの状況に応じて、次の3つの方法があります。

状況 方法
公開済みのサイトマップを検証したい ブラウザでサイトマップのURLを開いた状態で拡張機能を開く
公開前のファイルを検証したい ローカルのファイルをアップロードする
サイトマップのURLが分からない サイト上の任意のページで拡張機能を開く
(robots.txt から自動検出)

(a) ブラウザでサイトマップを開いた状態で拡張機能を開く

もっとも基本的な使い方です。

1. https://example.com/sitemap.xml のようなサイトマップのURLをブラウザで開きます

2. ツールバーの Sitemap Validator アイコンをクリックします

3. 開いているURLがサイトマップらしいURL(.xml / .txt / .xml.gz などで終わるもの)であれば、拡張機能のURL欄に自動で入力され、そのまま検証が始まります。それ以外のURLの場合は、URL欄にサイトマップのURLを入力して「検証」ボタンを押してください

数秒でヘルススコアと、エラー・警告・合格した項目の一覧が表示されます。

Issues タブの検証結果(ヘルススコアのリング表示)

(b) ローカルからファイルをアップロードする

まだ本番に置いていないサイトマップを、リリース前に確かめたいケースです。

1. 検証対象のサイト(例:https://example.com/)の任意のページを開きます

2. 拡張機能を開き、URL欄の右にある「📂」ボタンからファイルを選択します

このとき「現在開いているタブのドメイン」を基準にドメインの整合性を判定します。ローカルファイルにはURLがないため、どのサイトのサイトマップとして評価するかをタブから借りている、という仕組みです。別サイトを開いたまま検証すると「別ドメインのURLが含まれている」と警告されるので、必ず対象サイトのページを開いた状態で使ってください。

なお、HTTPレスポンスが無いため Content-Type のチェックだけは「検査できなかった項目」として別枠に表示されます。スコアには影響しません。

(c) サイト上で拡張機能を開く(robots.txt から参照されている場合)

サイトマップのURLを覚えていなくても、robots.txt の Sitemap: ディレクティブから sitemap が参照されていれば拡張機能側で自動的に検出します。

1. 対象サイトの任意のページを開きます

2. 拡張機能を開くと、URL欄の下の『サイトマップ』セクションの「📋 robots.txt」セクションに、robots.txt に記載されたサイトマップが一覧表示されます

3. 各行の「検証」ボタンで個別に、または「一括検証」ボタンでまとめて検証できます

サイトマップインデックスを検証した場合も同様に、子サイトマップが一覧表示され、一括で検証できます。子サイトマップが数十本あるサイトでも、1本ずつURLを開き直す必要はありません。

robots.txt から検出されたサイトマップ一覧と一括検証

機能紹介

Issues タブ:サイトマップの要件チェック

検証直後に表示される「Issues」タブでは、サイトマップの静的な要件を「エラー(修正が必要)」「警告(改善の余地あり)」「合格」の3区分で表示します。上部のヘルススコアは、この結果とURLサンプル検証の結果を合わせて0〜100%で算出したものです。

判定基準は sitemaps.org のプロトコル仕様 と Google Search Central のサイトマップに関するドキュメント に基づいています。各項目の横にある「ℹ」アイコンから、判定の根拠となった仕様の該当箇所を確認できるようにしてあるので、「なぜこれが問題なのか」を関係者に説明するときにも使えます。

確認している項目の例

項目 区分 補足
XML 構文・ルートタグ・名前空間 エラー 文法エラーや、xmlns が https:// になっているケースなど
(正しくは http://www.sitemaps.org/schemas/sitemap/0.9)
URL 数(50,000件)・ファイルサイズ(50MB) エラー gzip の場合は展開後のサイズで判定します
URL のスキーム・文字数(2,048文字) エラー
<lastmod> の形式・未来日付 エラー W3C Datetime 形式かどうか
<lastmod> の集中 警告 80%以上が同じ日付だと、生成時刻を毎回書き出しているだけの可能性ありと考えて警告を出します(Google は信頼できない lastmod を無視します)
<priority> / <changefreq> の使用 警告 Google はこれらのタグを無視します(あっても害はないので、スコアの減点はありません)
別ドメイン・別サブドメインの URL 警告 / 合格 対象ホストの robots.txt でクロス送信が確認できれば合格になります
robots.txt の Disallow との整合性 警告 サイトマップに載せたURLが robots.txt でブロックされていないかを簡易チェックします

URL Sample タブ:記載URLの実測チェック

サイトマップのファイル自体は正しくても、記載されているURLに問題があるケースは少なくありません。たとえば次のようなURLです。

  • 404 や 5xx を返すページ
  • リダイレクトが発生するURL(最終URLを載せるべき)
  • canonical が別のURLを指しているページ(正規URLでないページ)
  • noindex が付いているページ

こうしたURLは Search Console でも「送信されたURLに noindex タグが追加されています」などとして報告されますが、反映まで時間がかかります。そこで「URL Sample」タブでは、検証後にサイトマップ内の全URLからランダムに30件を自動で抽出し、実際にアクセスして次の項目を確認します。

列 内容
Status HTTP ステータスコード(200 / 301 / 404 / ERR など)
Redirect リダイレクトの有無(ホバーでリダイレクト先を表示)
Canonical ページの canonical とサイトマップのURLが一致しているか(✓ / ✗)
noindex <meta name="robots"> または X-Robots-Tag による noindex の有無
robots robots.txt の Disallow に該当するか
Lastmod diff サイトマップの <lastmod> とページ側の更新日のズレ(+N日 / -N日)

※ サーバーが返した生のHTMLの情報を元に判定するので、CSR(クライアントサイドレンダリング)で canonical タグなどを出力している場合は正確な情報が取得できません。

URL Sample タブ

30件で足りない場合は、「追加でURLを確認する」ボタンから追加で確認できます。結果は「#」列(サイトマップ内の位置)順に並びます。フィルタとURLの部分一致検索も付いているので、問題のある行だけを絞り込んでCSVにエクスポートすることができます。

チェック中は処理待ち件数やエラー状況に応じてリクエスト間隔を調整し、応答が極端に遅くなった場合は自動で中断するように設計していますが、大量のURLをチェックするとサイトに負荷を与える可能性があります。サイト管理者に断りなしでの大量のページのチェックは控えるなど、常識的な範囲でご利用ください。

なお、設定画面(拡張機能右上の歯車アイコン)から「Cookie / 認証情報を送信する」を有効化することにより、ブラウザに保存された Cookie やBasic認証の情報を利用して、Basic認証で保護されたステージング環境のサイトマップも検証できます。

設定画面から"Cookie / 認証情報を送信する"を有効化

Viewer タブ:整形されたサイトマップの確認

「Viewer」タブでは、取得したサイトマップの生テキストを確認できます。1行に詰め込まれたXMLが返ってくるサイトも多いので、「Format」ボタンでインデントを付けて読める形にし、「Copy」ボタンでそのままクリップボードに取り込めます。

Issues タブでエラーが出た箇所を、実際のXMLで確かめたいときに使います。

Viewer タブ

画像・動画・多言語サイトマップ向けの確認機能

サイトマップに拡張名前空間が含まれている場合、それぞれ専用のタブが自動で表示されます。

サイトマップの種類 表示されるタブ 主な確認内容
画像サイトマップ(image:) Images image:loc の欠落・スキーム、1URLあたりの画像数(1,000件)
動画サイトマップ(video:) Videos 必須フィールド(thumbnail_loc / title / description / content_loc または player_loc)の欠落、duration の範囲(1〜28,800秒)
ニュースサイトマップ(news:) News 必須フィールド(name / language / publication_date / title)の欠落、日付形式
多言語サイトマップ(xhtml:link hreflang) hreflang 自己参照の欠落、相互参照の不足、言語コードの重複、BCP 47 形式、非公式な地域コード(UK → GB)、x-default

Images / Videos / News の各タブは、1行ごとに ✅ / ⚠️ / ❌ のステータスを表示し、行の「i」ボタンから Google が推奨する全フィールドを確認できる詳細カードを開けます。動画サイトマップのように必須フィールドが多い形式では、どのURLの何が欠けているかを一覧で追えるのが便利です。

Videos タブの詳細カード

hreflang タブでは、URL × 言語のマトリクスで「どのURLにどの言語の hreflang が張られているか」を一覧できます。hreflang は「A → B があれば B → A も必要」という相互参照のルールがあり、これをファイルの目視で確認するのは困難なので、個人的にお気に入りの機能です。

hreflang マトリクス

robots.txt からのサイトマップ自動検出

検証方法 (c) の “サイト上で拡張機能を開く(robots.txt から参照されている場合)” で触れたとおり、サイト上で拡張機能を開くとそのサイトの robots.txt を読み、記載されたサイトマップを一覧表示します。サイトマップインデックスを検証した場合は子サイトマップも一覧に加わります。

各行の「URLチェック」ボタンを押すと、そのサイトマップに対して URL Sample タブと同じランダム30件のチェックが個別に実行さます。

ツール利用時の注意

URL Sample タブからのURL検査について、Screaming Frog のようなSEOツールと同様に、サイト管理者の許可なく、大量のURLへの処理を実施することはお控えください。応答が遅くなったときに自動的に処理を中断するなど、なるべくサイトに影響を与えないように設計していますが、中小規模のサイトでは、裏側の設計やキャパシティによっては最悪サイトがダウンして、サイト運営者に迷惑をかけるだけでなく、責任を問われる可能性もあります。

その他のツール利用時のご注意点として、本ツールはあくまで簡易確認ツールなので、最終的な確認は Search Console の「サイトマップ」レポートと「ページのインデックス登録」レポートで行ってください。

たとえば、本番公開している サイトマップファイルにうっかりアクセス制限がかかっていたらGoogleから見ることができませんが、この問題は本ツールでは検知できません。

また、URLがサイトマップに正しく載っていても、Googleがそのページをインデックスするかどうかは別の話です。

おわりに

サイトマップファイルを中途半端に作成したり、過去に作ったものをメンテナンスせずに放置すると却ってクローラーの正常な動作を邪魔してしまうことがあります。しかしサイトマップには細かい要件が多い上、サイトリニューアル時には大量のファイルを確認しないといけない場合もあり、チェック作業にはそれなりに工数を必要とすることがありました。

そんな作業に時間と体力を取られたくない、そう思っている人はきっと自分だけではないという思いから、この拡張機能を作りました。ご活用いただけますと幸いです。

余談ですが、このような定型業務が発生する度に自分は簡易的な作業効率化ツールを開発してきましたが、ほとんどの場合自分専用か少数のチーム向けに作っていました。自作ツールを幅広く配布しようとすると、使いやすいUIを用意したり、ドキュメントを整備したり、誤解を招く挙動や例外ケースへの対応など、やらなければいけないことが何倍にも増えるためです。しかし今回は AI の力を借りて少ない工数で、代わりに愛とこだわりは何倍も詰め込んだ良い作品ができました。

「欲しい!」と思ったものを諦めず、すぐカタチにできる良い時代になったと思います。

不具合や「こういう項目も見てほしい」といった要望があれば、Chrome ウェブストアのレビューからお知らせいただけると嬉しいです。

アユダンテでは月1でニュースレターの配信を始めました

この記事を書いた人
$uname
西村 彰悟
デジタルマーケティングエンジニア
2020年に福岡の広告代理店からアユダンテに参加。タグマネ、Google Analytics, BQ、Tableau、SEOの技術支援などなど幅広く活躍中。キャンプ、コーヒー。休日は東京散策を楽しんでいる。
著書 [PR]