サイトマップとは|XMLサイトマップの作り方と送信方法
Kazuki Endo
「記事を公開してもなかなかGoogleにインデックスされない」「新しいページを少しでも早くクロールしてほしい」——こうした悩みを土台から支える基本施策がサイトマップ、とりわけXMLサイトマップの整備です。サイトマップはサイト内のURLを検索エンジンに一覧で伝え、クロールとインデックスを後押しする仕組みで、作成からSearch Consoleへの送信まで無料の道具だけで完結します。SEO全体の進め方はSEO対策とはもあわせてご覧ください。
この記事で分かること
- サイトマップとは何か(XMLサイトマップとHTMLサイトマップの違いと役割)
- なぜXMLサイトマップが必要なのか(クロールとインデックスを補助する仕組み)
- XMLサイトマップの作り方(プラグイン・自動生成ツール・手動の3方法と手順)
- Search Consoleへの送信手順と、送信後の検出URL・インデックス数の確認方法
- 「取得できませんでした」などのエラー対処と、robots.txtとの正しい関係
サイトマップとは|XMLサイトマップとHTMLサイトマップの違い
サイトマップとは、Webサイト内にどんなページが存在するかを一覧化し、その情報を検索エンジンやユーザーに伝えるためのファイルのことです。「サイトの地図」という名前のとおり、サイト全体の構造とページの所在を示す役割を担います。ただし、ひとくちにサイトマップと言っても、目的の異なる2種類が存在し、SEOの文脈で語られるのは主に前者です。混同されがちなので、まず両者の違いをはっきり押さえておきましょう。
1つはXMLサイトマップ(sitemap.xml)で、これは検索エンジンのクローラーに向けて、サイト内のURLを機械が読み取りやすいXML形式で一覧化したファイルです。各ページのURLに加えて、最終更新日や更新頻度といった付加情報を添えることができ、検索エンジンがサイトの内容を「早く」「的確に」把握する手助けをします。SEOでサイトマップと言えば、通常はこのXMLサイトマップを指します。
もう1つはHTMLサイトマップで、こちらはサイトを訪れた人間のユーザーに向けて、サイト内の主要ページへのリンクを一覧で並べたページです。目的の情報にたどり着きやすくするための「案内板」であり、ユーザビリティの向上に寄与します。検索エンジン向けの直接的な仕組みではありませんが、内部リンクとして機能するため、間接的にSEOを支えることもあります。
| 項目 | XMLサイトマップ | HTMLサイトマップ |
|---|---|---|
| 主な対象 | 検索エンジンのクローラー(機械) | サイトを訪れる人間のユーザー |
| 形式・拡張子 | XML形式(sitemap.xml) | 通常のWebページ(HTML) |
| 主な目的 | クロール・インデックスの補助 | サイト内の回遊・目的ページへの案内 |
| 記載内容 | URL・最終更新日・更新頻度など | 主要ページへのリンク一覧 |
| SEOへの効果 | 直接的(クロール促進に寄与) | 間接的(ユーザビリティ・内部リンク経由) |
この記事では、SEOへの効果が大きいXMLサイトマップを中心に、作り方と送信方法を具体的に解説していきます。以降で単に「サイトマップ」と書いた場合は、原則としてXMLサイトマップを指すものとして読み進めてください。
なぜXMLサイトマップが必要なのか|クロールを補助する仕組み
検索エンジンにページが表示されるまでには、「クロール(クローラーがページを発見する)」と「インデックス(発見したページを検索データベースに登録する)」の2段階があります。XMLサイトマップの本質的な役割は、このうち最初の「クロール(発見)」を助けることです。クローラーは通常ページ内のリンクをたどって巡回しますが、リンクだけでは発見が遅れたり到達できないページが生じます。「このサイトにはこれらのURLがあります」という一覧を直接手渡すことで、その取りこぼしを減らすのがサイトマップです。
特に効果が大きいのは、次のようなサイトです。サイトマップの有無で、クロールの速度と網羅性が目に見えて変わります。
| 効果が大きいサイト | 理由 |
|---|---|
| 公開直後で被リンクが少ない新規サイト | 外部リンク経由で発見されにくい |
| ページ数が非常に多い大規模サイト | クローラーが全体を巡回しきれない |
| 内部リンクが少なく孤立ページがあるサイト | リンクをたどっても到達されにくい |
| 更新・新規追加が頻繁なサイト | 変更をいち早くクロールしてほしい |
注意したいのは、XMLサイトマップは「クロールを促す」ものであって、「インデックスや上位表示を保証する」ものではない点です。載せても必ずインデックスされるわけではなく、実際に登録されるかはページの品質などによります。「サイトマップを送ったのに検索に出てこない」という悩みは、サイトマップではなくインデックス側の問題であることが多く、その原因と対処はGoogle検索に出てこない原因と対処で詳しく解説しています。
XMLサイトマップの作り方【3つの方法】
XMLサイトマップの作り方は、大きく3つに分けられます。①CMSのプラグインで自動生成する、②Web上の自動生成ツールを使う、③手動で記述する——の3つです。どれを選ぶべきかは、サイトの規模や運用体制によって変わります。まずはそれぞれの特徴を一覧で比較し、そのうえで具体的な手順を見ていきましょう。
| 作り方 | 向いているサイト | メリット | 注意点 |
|---|---|---|---|
| ①CMSのプラグイン | WordPressなどCMSで運用するサイト | 更新時に自動生成・自動更新。手間がほぼゼロ | プラグインの導入・設定が前提。CMS依存 |
| ②自動生成ツール | CMSを使っていない中小規模サイト | URLを入力するだけで生成。無料で使える | ページ増減のたびに再生成・再アップが必要 |
| ③手動で記述 | ページ数がごく少ない小規模サイト | 仕組みを理解でき、細かく制御できる | 手間がかかり、更新のたびに書き換えが必要 |
方法1:CMSのプラグインで自動生成する
WordPressをはじめとするCMSでサイトを運用しているなら、サイトマップ生成用のプラグインを使うのが最も簡単で確実です。プラグインを導入して有効化すれば、多くの場合、サイトマップが自動的に生成され、記事を追加・更新するたびに内容も自動で更新されます。人が手を動かす必要がほとんどなく、更新漏れも起きにくいため、継続運用に最も向いた方法です。
基本的な流れは、①プラグインを検索・インストール→②有効化→③含めるページの種類(投稿・固定ページ・カテゴリなど)を設定→④生成されたサイトマップのURLを確認です。URLは「ドメイン/sitemap.xml」や「ドメイン/sitemap_index.xml」の形が多く、ブラウザでアクセスして中身が表示されれば成功です。SEO全般を担う多機能プラグインには生成機能が最初から含まれることも多く、その場合は機能をオンにするだけで済みます。WordPress特有の設定はWordPressのSEO対策で詳しく扱っています。
方法2:Web上の自動生成ツールで作る
CMSを使っていない静的なサイトや、プラグインを入れられない環境では、Web上のサイトマップ自動生成ツールが便利です。多くのツールは、サイトのトップページのURLを入力し、更新頻度などのオプションを選んで実行ボタンを押すだけで、サイト内のURLを巡回して自動的にXMLサイトマップを生成してくれます。無料で使えるものが多く、数百〜千程度のページ数であれば十分にカバーできます。
手順は、①生成ツールにサイトのURLを入力→②最終更新日や更新頻度などのオプションを設定→③生成を実行してsitemap.xmlをダウンロード→④ダウンロードしたファイルをサーバーのルートディレクトリにアップロード、という流れです。アップロード後、ブラウザで「ドメイン/sitemap.xml」にアクセスし、正しく表示されることを確認します。ただしこの方法はページを追加・削除するたびに再生成とアップロードが必要になるため、更新頻度が高いサイトではやや手間がかかる点に留意してください。
方法3:手動でXMLを記述する
ページ数がごく少ない小規模なサイトであれば、テキストエディタで直接XMLを書く方法もあります。手間はかかりますが、サイトマップの仕組みそのものを理解でき、細かい制御ができるのが利点です。XMLサイトマップは決まった書式に従って記述します。先頭にXML宣言を置き、全体を「urlset」タグで囲み、ページごとに「url」タグを設け、その中に「loc」タグでページのURLを記載するのが基本構造です。必要に応じて「lastmod」タグで最終更新日を添えます。
特に重要なのは、URLを必ず「https://」から始まる完全な絶対URLで書くことと、文字コードをUTF-8で保存することです。相対パスや先頭の余計な空白は読み込みエラーの原因になります。ファイルは「sitemap.xml」として保存し、サーバーのルートディレクトリにアップロードします。手動記述は仕組みの理解に最適ですが、更新のたびに書き換えが必要なため、実運用では①か②の自動化された方法へ移行するのが現実的です。
作成時に共通で守るべき上限とルール
どの方法でも共通して守るべき技術的なルールがあります。特に重要なのがファイルの上限で、1ファイルに記載できるURLは最大50,000件・未圧縮で50MBまでです。これを超える大規模サイトでは、複数ファイルに分割し、それらをまとめる「サイトマップインデックスファイル」(サイトマップ一覧を記載した親ファイル)を用意してインデックスを送信します。前述のプラグインや生成ツールの多くは、この分割とインデックス化を自動で行います。あわせて、URLは正規化された絶対URLで統一すること、更新のたびに最終更新日(lastmod)が反映されることも確認しましょう。これらを外すとサイトマップがエラー扱いになったり更新がクローラーに伝わらなかったりするため、送信後のトラブルを未然に防ぐうえで意外に重要です。
インデックス・サイトマップの整備、支援します
関連資料を無料でダウンロードXMLサイトマップに含めるページ・含めないページ
サイトマップを作るうえで、意外と見落とされがちなのが「どのページを載せ、どのページを載せないか」の取捨選択です。やみくもに全URLを詰め込むのではなく、検索結果に表示させたい正規のページだけを載せるのが原則です。サイトマップは検索エンジンに「これらがこのサイトの重要なページです」と伝えるものなので、載せるべきでないページを含めると、かえって評価を分散させたり、エラーの原因になったりします。
| 方針 | 対象となるページ | 理由 |
|---|---|---|
| 含める | 検索結果に出したい公開ページ(記事・固定ページ・カテゴリなど) | クロールを促し、確実にインデックスさせたい正規ページだから |
| 含める | 内部リンクが少なく孤立しがちな重要ページ | リンク経由では発見されにくく、サイトマップでの補助効果が大きいから |
| 含めない | noindexを設定したページ | 「クロールして」と「登録しないで」の指示が矛盾し、エラーの原因になるから |
| 含めない | 正規化で統一された非正規(重複)URL | 評価が分散する。正規URLだけを載せるべきだから |
| 含めない | リダイレクトするURL・404などエラーページ | 存在しない・移動したURLを案内すると信頼性を損なうから |
とりわけ間違えやすいのが、noindexページをサイトマップに載せてしまうケースです。noindexは「登録しないで」という指示なので、サイトマップに載せると「クロールして登録して」という真逆のメッセージになり、Search Consoleで警告が出ることがあります。「検索結果に出したい正規のページだけ」を載せると覚えておけば大きく外しません。含めるページの整理はサイト全体の内部リンク設計とも密接に関わるため、内部SEO対策とあわせて考えると効果的です。
Search Consoleへサイトマップを送信する手順
サイトマップを作成したら、次はGoogle Search Consoleを使ってGoogleに送信します。送信することで、Googleにサイトマップの存在を明確に伝え、クロールを促すことができます。サーバーにアップロードしただけでもいずれ発見されますが、Search Consoleから明示的に送信するほうが確実かつ速く、送信後の状況も確認できるため、必ず行っておきましょう。手順はシンプルで、次のステップで完了します。
ステップ1:Search Consoleに登録する。まだ登録していない場合は、対象サイトをSearch Consoleに追加し、サイトの所有権を確認します。所有権の確認が済んでいないと、サイトマップの送信はできません。
ステップ2:サイトマップのメニューを開く。Search Consoleにログインし、対象サイトを選んだうえで、左側のメニューから「インデックス」内の「サイトマップ」をクリックします。
ステップ3:サイトマップのURLを入力する。画面上部の「新しいサイトマップの追加」欄に、作成したサイトマップのURLを入力します。ドメイン部分はあらかじめ表示されているため、多くの場合「sitemap.xml」や「sitemap_index.xml」といったファイル名部分を入力すれば足ります。
ステップ4:送信する。入力したら「送信」ボタンをクリックします。「サイトマップを送信しました」と表示され、下の一覧に追加されれば送信完了です。あとはGoogle側が読み込みを行うのを待ちます。
送信は一度行えば、以降はGoogleが定期的にサイトマップを読みに来てくれます。プラグインなどで内容が自動更新される仕組みにしておけば、ページを追加するたびに送信し直す必要はありません。
送信後の確認とエラーの対処法
サイトマップを送信したら、それで終わりではありません。正しく読み込まれたか、何件のURLが検出されたか、そしてインデックスされているかを確認することが大切です。送信直後は「取得中」などの状態になることがありますが、通常はしばらくすると処理が進みます。Search Consoleのサイトマップ画面では、送信したサイトマップごとにステータスと検出URL数が表示されるので、まずここを確認します。
| ステータス・状態 | 意味 | とるべき対応 |
|---|---|---|
| 成功しました | サイトマップが正常に読み込まれた | 検出URL数が想定と合っているかを確認する |
| 取得できませんでした | サイトマップに到達・読み込みできなかった | URLの誤り・ファイルの不存在・robots.txtでのブロックを点検する |
| エラーがあります | 読み込めたが記述などに問題がある | 該当箇所の書式・非正規URL・noindexの混入を見直す |
| 検出URLが極端に少ない | 意図したURLが含まれていない | 生成設定を見直し、対象ページが漏れていないか確認する |
最も多いトラブルが「取得できませんでした」で、そもそもサイトマップに到達できていない状態です。主な原因は①URLの誤り(typoや存在しないパス)、②ファイルのアップロード忘れ、③robots.txtでのブロックの3つ。切り分けは簡単で、ブラウザのアドレス欄にサイトマップのURLを直接入力し、404が出るならURLかアップロードの問題、表示はされるのに取得できないならファイルの記述やアクセス制限を疑います。
もう1つ知っておきたいのが、「検出URL数」と「実際にインデックスされたページ数」は必ずしも一致しないという点です。サイトマップに載せた全URLがインデックスされるわけではなく、Googleが品質などを踏まえて登録を判断します。検出はされているのにインデックスされないページが多い場合、それはサイトマップの不備というより、ページ側のインデックスに関わる問題であることが多く、その切り分けと対処はGoogle検索に出てこない原因と対処で詳しく解説しています。
robots.txtとサイトマップの関係
サイトマップとあわせて理解しておきたいのがrobots.txtとの関係です。robots.txtは、クローラーに対して「どこを巡回してよいか・してはいけないか」を伝えるファイルで、サイトマップと同じくサイトのルートディレクトリに置かれます。この2つは、クローラーの動きを制御するという点で密接に関わっています。
robots.txtには、サイトマップの場所を記載しておくことができます。ファイル内に「Sitemap:」に続けてサイトマップの完全なURLを1行書いておくと、Search Consoleから送信していなくても、クローラーがrobots.txtを読んだ際にサイトマップの所在を自動的に認識します。Search Consoleを使わない検索エンジンにも所在を伝えられるため、「Search Consoleでの送信」と「robots.txtへの記載」は両方行っておくのが理想です。
逆に注意すべきなのが、robots.txtでサイトマップ自体やその配下のページを誤ってブロックしてしまうケースです。前述の「取得できませんでした」エラーの一因にもなり、クローラーがサイトマップに到達できなくなります。robots.txtを設定している場合は、サイトマップのURLがブロック対象になっていないかを必ず確認してください。robots.txtとサイトマップは「立入禁止の看板」と「案内地図」のようなもので、両者の指示が矛盾しないように整えることが重要です。
【ワークスルー】作成から送信・インデックス確認まで
ここまでの内容を、1本の流れとして実演します。WordPressで運用する小規模な受託事業者のサイトが、サイトマップを整備してインデックスを安定させるまでを追います(想定される一般的な流れの例です)。
| フェーズ | やること | 結果・確認ポイント |
|---|---|---|
| ①現状把握 | Search Consoleでサイトマップ未登録・一部ページが未インデックスと判明 | クロール補助の余地が大きいと確認 |
| ②作成 | サイトマップ生成プラグインを導入・有効化し、対象ページを設定 | 「ドメイン/sitemap.xml」にアクセスし中身の表示を確認 |
| ③精査 | noindexページや非正規URLが混入していないかを点検 | 検索結果に出したい正規ページだけになっていることを確認 |
| ④送信 | Search Consoleの「サイトマップ」からURLを入力して送信 | ステータスが「成功しました」になることを確認 |
| ⑤確認 | 数日後に検出URL数とインデックス数を突き合わせる | 未登録ページはインデックス側の要因を切り分けて対処 |
この流れで効いたのは、「作って送って終わり」にせず、送信後にステータスと検出URL・インデックス数まで確認したことです。サイトマップの整備自体は数十分で終わりますが、価値が出るのは送信後のモニタリングと、未インデックスの原因切り分けまで回したときです。サイトマップはクロールを促す入口であり、そこから先のインデックス最適化や内部リンク設計とセットで運用してこそ、検索流入の土台が固まります。
AI×人でサイトマップとインデックスを運用する
ここまで読んで、「サイトマップの作成自体は難しくないが、送信後の確認や未インデックスの切り分けが手間だ」と感じた方も多いはずです。実際、検出URLとインデックス数の突き合わせ、noindexや非正規URLの混入チェック、エラーの原因特定といった作業は、ページ数が増えるほど地道で工数のかかる運用になります。ここで役立つのが、AIと人の役割分担です。
当社は、自社で運営するメディア事業において、この技術的なSEO運用とAI活用を組み合わせてきました。具体的には、サイトマップの検出URLとインデックス状況の突き合わせ、混入すべきでないURLの洗い出し、エラーの一次的な切り分けといった「量が多く・手順が決まっている」工程をAIが下処理し、原因の最終判断・サイト構造の見直し・改善の優先順位づけといった「判断と設計が問われる工程を人が担う——この分担を業務フローとして設計しました。その結果、自社メディア運営で月686時間分の業務削減を実現しています。
重要なのは、サイトマップは「クロールを促す入口」にすぎず、成果を左右するのはそこから先のインデックス最適化と、サイト全体の構造設計だという点です。AIは状況の把握やチェック作業の高速化に絶大な効果を発揮しますが、どのページを重要と位置づけ、どう内部リンクで束ね、何から直すかという戦略判断は人が握るべきです。当社では、この自社で磨いたノウハウをそのままクライアントのSEO運用支援に応用し、サイトマップの整備からインデックス改善、内部リンク設計までを伴走しています。「サイトマップは作ったが、インデックスが安定しない」「技術的なSEOに手が回らない」という方は、お気軽にご相談ください。
まとめ
XMLサイトマップは、サイト内のURLを一覧で検索エンジンに手渡し、クロールとインデックスを後押しする基本の施策です。作成はCMSのプラグイン・自動生成ツール・手動記述のいずれかで行い、検索結果に出したい正規ページだけを載せ、Search Consoleから送信して、送信後は検出URL数とインデックス数まで確認するのが要点です。当社は、自社メディアで月686時間の削減を実現したAI×人の運用設計で、サイトマップの整備からインデックス改善・内部リンク設計まで伴走します。技術的なSEOに手が回らない方は、お気軽にご相談ください。