sitemap.xml から全 URL を抽出する方法 — SEO監査ガイド(2026)
サイトマップに 2,000 の URL があるとします。テキストエディタで sitemap.xml を開くと、<loc> タグの壁が現れ、ひたすらスクロールが始まります。20分後、URL の143番目で目は疲れ、手応えはゼロ。SEO 監査が挫折する典型的な瞬間です。
実際のところ、サイトマップ自体が「重要だと考えている全ページの URL リスト」を機械可読な形で提供しています。必要なのは、それらの URL を XML から取り出し、実際に扱える形式に変えることだけです。このガイドでは、60秒で終わるブラウザの方法から本格的なクローラーまで3つの方法と、生の URL リストを本物の監査に変えるための簡潔なチェックリストを紹介します。
なぜサイトマップの URL を抽出するのか?
方法の前に、目的です。サイトマップから平坦化した URL リストは、次のような中核的な SEO タスクを支えます。
- インデックス監査:送信した URL と検索エンジンが実際にインデックスした URL を比較。乖離は正規化の問題、残った noindex、薄いコンテンツを明らかにします。
- コンテンツ棚卸し:公開済みページの完全なリストは、コンテンツ監査、リライト判断、トピッククラスタリングの基盤です。
- 移行チェックリスト:リニューアル前に旧サイトマップを抽出し、公開後に新サイトマップを抽出。その差分がリダイレクトと QA のチェックリストになります。
- 競合のサイトマップ調査:サイトマップは公開情報です。競合のサイトマップを抽出すれば、ページ構造の全体像、更新ペース、自社がまだカバーしていないセクションが見えてきます。
方法1:ブラウザで sitemap.xml を開く+抽出拡張機能(推奨)
多くの人が見落としているコツがあります。サイトマップは、ただのリンクリストだということです。すべての URL は <loc> タグの中にあり、ブラウザはそれをクリック可能なリンクとしてレンダリングします。つまり、Web ページからリンクを抽出できるツールは、XML を解析しなくてもサイトマップから URL を抽出できるのです。
ここで活躍するのが VKT LinkHarvest です。Chrome と Edge に対応した拡張機能で、動的にレンダリングされるページを含むあらゆる Web ページから全リンクを抽出できます。サイトマップの URL を開いて LinkHarvest のアイコンをクリックすれば、レンダリングされたページ上の全 URL を取得し、フィルタリング、並べ替え、内部/外部リンクの分類、出現回数のカウントまで行えます。
実践的なポイントを2つ:
- サイトマップインデックス:
sitemap.xmlが子サイトマップ(sitemap-posts.xml、sitemap-pages.xmlなど)へのインデックスになっている場合は、まずインデックスを抽出し、次に各子サイトマップを開いて同じ要領で抽出します。LinkHarvest の出現回数カウントがあれば、収集済みの URL を見つけやすくなります。 - エクスポート:無料版では絞り込んだリンクのクリップボードへのコピーと TXT エクスポートが可能です。LinkHarvest プレミアム(9.99 ドルの買い切り、永久ライセンス)は UTF-8 BOM 付き CSV エクスポートを追加し、Excel や Google Sheets に文字化けなしで直接貼り付けられます。
方法2:Screaming Frog / オンラインパーサー
Screaming Frog SEO Spider などのデスクトップクローラーには専用のサイトマップモードがあります。サイトマップ URL を貼り付けて「List Mode」を選ぶと、クローラーが全 URL を取得し、ステータスコード、リダイレクト、メタデータを報告します。オンラインの XML パーサーも同様の動作をブラウザ上で行います。
この方法を使うべきなのは、URL リストだけでなく完全なクロールデータ(応答コード、タイトル、canonical タグ)が必要な場合です。トレードオフは準備とリソースです。デスクトップクローラーはインストールが必要で、非常に大きなサイトマップでは遅くなったりメモリを大量に消費したりします。多くのオンラインパーサーは無料枠で処理できる URL 数に上限があります。単に「URL のリストが欲しい」だけなら、方法1のほうが速いのです。
方法3:スプレッドシート+XML インポート
Excel と Google Sheets は XML を直接インポートできます。Excel なら「データ → データの取得 → XML ファイルから」。Google Sheets なら =IMPORTXML() 関数に //loc のような XPath とサイトマップ URL を指定します。
小規模でフラットなサイトマップなら機能しますが、すぐに脆さが露呈します。IMPORTXML にはセル数と文字数の制限があり、大きなサイトマップでは簡単に超過します。サイトマップインデックスは子ごとに2回目のクエリが必要で、XML の名前空間のせいでインポートが何も返さないこともあります。50 URL 程度のサイトマップなら一度きりの作業として有用ですが、それより大きい場合やネストしている場合は方法1を使いましょう。
抽出後のクイック監査チェックリスト
URL が1つのリストにまとまれば、監査の大半は機械的な作業です。
- 重複を削除。子サイトマップを統合し、重複を除去します。LinkHarvest の出現回数カウントは各 URL を1回だけ表示し、出現回数を併記します。
- ステータスコードを確認。リストをクロール(または抜き取りチェック)し、404 や 301/302 の連鎖を見つけます。サイトマップ内の URL は 200 を返すべきです。
- インデックス数と比較。
site:検索やサーチコンソールのカバレッジを確認します。送信数とインデックス数の大きな乖離が最優先の課題です。 - 孤立パターンを特定。サイトマップにはあるのにサイト内どこからもリンクされていない URL パターン(またはその逆)は、ナビゲーションと内部リンクの穴を示しています。
- ゴミをマーク。タグページ、パラメータ付き URL、ステージング用サブドメインが本番サイトマップにあってはいけません。LinkHarvest でキーワードフィルタを使えば数秒で見つかります。
手順解説:LinkHarvest でサイトマップ URL を抽出する
- Chrome ウェブストアまたは Edge アドオンから VKT LinkHarvest をインストールします。
- アドレスバーにサイトマップのアドレス(通常は
yourdomain.com/sitemap.xml)を入力して開きます。分からなければrobots.txtの Sitemap ディレクティブを確認しましょう。 - LinkHarvest のアイコンをクリックします。ページにレンダリングされた全 URL が出現回数付きで表示されます。
- サイトマップインデックスの場合は、各子サイトマップのリンクを開いて同じ抽出を繰り返し、リストを統合します。
- キーワードフィルタでノイズを除去(たとえば
tagやpageを含む URL を除外)し、結果を並べ替えます。 - 絞り込んだリンクをクリップボードにコピーするか TXT にエクスポート(いずれも無料)。スプレッドシート向けには料金ページから CSV エクスポートにアップグレードできます。
リンク抽出ツールを使うのが初めてなら、Web ページから全リンクを抽出する方法のガイドで画面操作をより詳しく解説しています。
3つの方法の比較一覧
| 方法 | 最適な用途 | 準備 | ネスト対応 |
|---|---|---|---|
| ブラウザ+LinkHarvest | 高速な URL リスト、フィルタ、無料エクスポート | 一度だけインストール | ✅ 子サイトマップを巡回 |
| Screaming Frog / クローラー | ステータスコード、タイトル、完全なクロールデータ | インストール+設定 | ✅ 自動 |
| スプレッドシート XML インポート | 小規模で一回限りのフラットなサイトマップ | 不要 | ⚠️ 子ごとに手動 |
よくある質問
サイトマップインデックスファイルからも URL を抽出できますか?
はい。ただしサイトマップインデックスには個別ページの URL ではなく、子サイトマップへのリンクが含まれています。まずインデックスから子サイトマップの URL を抽出し、次にそれぞれの子サイトマップを開いて同じ方法で URL を抽出し、最後にすべてを1つのマスターリストにまとめます。VKT LinkHarvest のような拡張機能なら、レンダリングされたインデックスページから子サイトマップの URL を自動的にキャプチャできます。
sitemap.xml はどうやって開けばいいですか?
ブラウザのアドレスバーにサイトマップのアドレス(通常は yourdomain.com/sitemap.xml)を直接入力します。最新のブラウザは XML を生のコードではなく、クリック可能なリンクリストとして表示します。開けない場合は robots.txt の Sitemap: ディレクティブを確認してください。サイトマップはサイト運営者が選んだ任意の URL に置けるためです。
LinkHarvest は無料で使えますか?
VKT LinkHarvest のコア機能は無料です。ページから全リンクの抽出、フィルタリングと並べ替え、絞り込んだリンクのクリップボードへのコピー、TXT エクスポートが利用できます。有料はスプレッドシート向けの UTF-8 BOM 付き CSV エクスポートのみで、9.99 ドルの買い切り(永久ライセンス)です。サブスクリプションはありません。
TXT エクスポートと CSV エクスポートの違いは何ですか?
TXT エクスポートは1行に1 URL のプレーンなリストで、素早い比較やマージツール、スクリプト処理に向いています。CSV エクスポートは Excel や Google Sheets で開ける整形された表で、LinkHarvest は UTF-8 BOM を付加するため、URL 内の特殊文字が文字化けせずに正しく表示されます。
サイトマップの URL はどのくらいの頻度で抽出・監査すべきですか?
明確な決まりはありませんが、サイト移転やリニューアルの後、大量のコンテンツ追加・削除の後、そして四半期ごとなどの定期的なメンテナンスのタイミングが現実的です。目的は、404 エラーやリダイレクトチェーン、サイトマップに含まれるべきでない URL を、検索エンジンやユーザーが発見する前に把握することです。
サイトマップを数分でクリーンな URL リストに:VKT LinkHarvest はレンダリングされたページから全リンクを抽出——フィルタリング、並べ替え、分類、出現回数カウント。コア機能は無料。プレミアム(9.99 ドルの買い切り、永久ライセンス)で Excel 対応の CSV エクスポートを追加。Chrome ウェブストア · Edge アドオン。
VKT 拡張機能カタログで他のツールも探せます。お問い合わせは [email protected] まで。
