サイトマップ

サイトマップには、検索エンジン向けのXMLサイトマップとユーザー向けのHTMLサイトマップの2種類があります。本記事では両者の違いと、SEOで重要となるXMLサイトマップの作成・送信・運用方法を解説します。

サイトマップとは

サイトマップとは、サイト内のページ構成を一覧として伝えるためのファイル、またはページです。「サイトマップ」と一言でいっても、用途の異なる2種類が存在します。

  • XMLサイトマップ:検索エンジンにクロールしてほしいURLを伝えるファイル
  • HTMLサイトマップ:サイト訪問者がページを探しやすくするための一覧ページ

XMLサイトマップは検索エンジン向け、HTMLサイトマップはユーザー向けという対象の違いがあり、SEOにおいて主に重要となるのはXMLサイトマップです。両者の違いを整理すると以下の通りです。

項目 XMLサイトマップ HTMLサイトマップ
主な対象 検索エンジン(クローラー) サイト訪問者(ユーザー)
目的 クロール対象のURLを伝える 目的のページを探しやすくする
形式 XML・RSS/Atom・テキスト形式のファイル Webページ(HTML)
設置・通知方法 サーバーに配置し、Search Consoleやrobots.txtで通知 サイト内の1ページとして公開
SEOとの関わり クロール・インデックスの効率化 回遊性の向上・内部リンクの補助

以降、特に断りがない限り「サイトマップ」はXMLサイトマップを指します。HTMLサイトマップについては記事後半で解説します。

XMLサイトマップのSEO効果と役割

XMLサイトマップの役割は、検索エンジンに対してサイト内のURLとその情報を伝え、クロールを効率化することです。Googleはサイトマップを次のように説明しています。

サイトマップとは、サイト上のページや動画などのファイルについての情報や、各ファイルの関係を伝えるファイルです。Google などの検索エンジンは、このファイルを読み込んで、より効率的にクロールを行います。
https://developers.google.com/search/docs/crawling-indexing/sitemaps/overview?hl=ja

XMLサイトマップが伝えるのは「どのURLをクロールしてほしいか」という情報です。サイトマップに記載することで、クローラーがURLを発見する経路を増やせます。
XMLサイトマップでは、URLそのものに加えて、ページの最終更新日や、動画・画像・ニュースに関する付加情報も検索エンジンに伝えられます。たとえば動画であれば再生時間や年齢制限のレーティング、画像であればページ内での位置、ニュースであれば記事のタイトルと公開日などです。これらの情報は、対応するコンテンツが検索結果に表示される際の手がかりとして使われます。

サイトマップはインデックスや検索順位を保証しない
サイトマップはクロールを促進する手段であり、記載したURLが必ずインデックスされることや、検索順位が上がることを保証するものではありません。インデックスするかどうかは、ページの内容や品質に基づいてGoogleが判断します。サイトマップは「クロールの入口を増やす」施策と理解する必要があります。

XMLサイトマップが必要なサイト・不要なサイト

XMLサイトマップは、すべてのサイトに必須というわけではありません。Googleはサイトマップが必要なケースと不要なケースの両方を示しています。自サイトがどちらに該当するかを判断したうえで対応します。

サイトマップが必要なケース

以下のいずれかに該当する場合、サイトマップの設置が推奨されます。

  • サイトの規模が大きい。すべてのページを相互にリンクすることが難しく、Googlebotが新規ページの一部を検出できない可能性がある
  • サイトが新しく、外部サイトからのリンクが少ない。クローラーは既知のページのリンクをたどって巡回するため、外部リンクが無いページは検出されにくい
  • 動画・画像などのリッチメディアコンテンツが多い、またはサイトがGoogleニュースに表示される

サイトマップが不要なケース

一方、以下に該当する場合は、サイトマップが無くてもクロールに大きな支障は出にくいとされています。

  • サイトの規模が小さい(目安として500ページ以下)
  • サイト内が適切に内部リンクされており、トップページからたどればすべての重要ページに到達できる
  • 検索結果に表示したい動画・画像・ニュースページが少ない

不要なケースでも設置自体は問題ない
不要なケースに該当しても、サイトマップを設置すること自体がマイナス評価につながるわけではありません。今後のサイト拡大を見越して設置しておく判断も成立します。

XMLサイトマップの作成方法

XMLサイトマップの作成方法は、大きく「CMSやツールによる自動生成」と「手動作成」に分かれます。ページの更新ごとに手動で編集するのは現実的でないため、多くのサイトでは自動生成が選ばれます。

CMS・プラグインで自動生成する

WordPressをはじめとするCMSでは、サイトマップを自動生成・自動更新できます。WordPressの場合、バージョン5.5以降で本体に標準のサイトマップ生成機能が備わっており、「/wp-sitemap.xml」のURLで出力されます。ただし本体機能はnoindexページの除外などの細かな制御に対応しないため、出力内容を調整したい場合はSEO系プラグインの利用を検討します。プラグインを使うと、生成対象とするコンテンツの種類(投稿・固定ページ・カテゴリーなど)を細かく制御できます。
プラグインを導入する場合は、本体機能のサイトマップとプラグインのサイトマップが二重に生成されないよう、どちらか一方に統一します。自動生成の利点は、ページの追加・削除・更新がサイトマップへ自動で反映される点です。手動更新の漏れを防げるため、運用負荷を抑えられます。

ツールや手動でファイルを作成する

CMSを使っていない場合は、サイトマップ生成ツールでURLを収集してファイルを作成するか、XMLを直接記述します。サイトマップの形式は、XMLのほかにRSS/Atom、テキスト形式(URLを改行区切りで列挙したもの)も利用できます。形式のなかではXMLが最も一般的で、URLごとに最終更新日などの付加情報を持たせられます。テキスト形式はURLの一覧のみで付加情報を持てないため、付加情報が不要なシンプルなサイトでの利用に向きます。
1つのサイトマップファイルには上限があり、URL数50,000件・ファイルサイズ50MB(非圧縮時)を超えることはできません。上限を超える場合は、複数のサイトマップファイルに分割し、それらをまとめる「サイトマップインデックスファイル」を作成してGoogleに送信します。

主要タグとGoogleの扱い

XMLサイトマップで使われる主なタグと、Googleがそれをどう扱うかは以下の通りです。タグによってGoogleが参照するもの・参照しないものがあるため、扱いを踏まえて記述します。

タグ 役割 Googleの扱い
<loc> ページのURL 必須。クロール対象のURLとして使用する
<lastmod> ページの最終更新日 正確な日付であれば、クロールのスケジューリングに使用する
<changefreq> 更新頻度の目安 使用しない
<priority> サイト内での相対的な優先度 使用しない

lastmodは正確な日付のみ記載する
<lastmod>はGoogleがクロールの参考にする要素ですが、実際の更新日と異なる日付や、全URLを同じ日付にするといった不正確な記述を続けると、Googleはサイトマップの<lastmod>を信用しなくなります。<lastmod>は、実際にコンテンツを更新したときのみ、正しい日付形式で記載します。

XMLサイトマップの送信方法

作成したXMLサイトマップは、検索エンジンに場所を知らせる「送信」を行って初めて機能します。送信方法は主に2つです。

Google Search Consoleから送信する

Google Search Consoleの「サイトマップ」レポートを開き、サイトマップファイルのURLを入力して送信します。送信後はレポート上で、ステータス(取得の成否)や検出されたURL数を確認できます。一度送信すれば、以降はGoogleが定期的にサイトマップを再取得します。

robots.txtにサイトマップのURLを記載する

robots.txtファイルに「Sitemap:」で始まる行を追加し、サイトマップの絶対URLを記載する方法です。

Sitemap: https://example.com/sitemap.xml

Search Consoleを利用していないサイトや、複数の検索エンジンにまとめて知らせたい場合に有効です。Search Consoleからの送信と併用しても問題ありません。

送信後の確認とエラー対応

送信して終わりにせず、サイトマップが正しく処理されているかを確認します。確認の流れは次の通りです。

  • Search Consoleの「サイトマップ」レポートで、ステータスが「成功」になっているか
  • 「検出されたURL」の件数が、想定するページ数とおおむね一致しているか
  • URL検査ツールで、主要ページが「インデックス登録済み」または「登録可能」と表示されるか

弊社では、こうした送信状況とインデックス状態の確認を効率化するため、自社開発のChrome拡張機能「kunugi-gsc-controller」を使用しています。

Search Consoleの操作を補助するツールで、サイトマップ送信後にURLの登録状況をまとめて確認する作業を省力化できます。
kunugi-gsc-controller(Chromeウェブストア)

ツールはあくまで確認作業を効率化する手段です。重要なのは「送信 → ステータス確認 → 検出URL数の照合 → 主要ページのインデックス確認」という検証フローを、サイトマップを更新するたびに回すことです。なお、送信直後はステータスが「取得できませんでした」と表示されることがありますが、これはGoogleがまだサイトマップを取得していない段階で表示される一時的な状態のため、時間をおいて再確認します。

XMLサイトマップ運用時の注意点

XMLサイトマップは、設置後の運用で誤りが起きやすい施策です。よくある誤運用とリカバリ方法を整理します。

ケーススタディ:よくある誤運用とリカバリ

・noindexページや404ページを記載したままにする
サイトマップには、検索結果に表示させたい正規のURLのみを記載します。noindexを設定したページ、404・410を返すページ、canonicalで別URLを正規としているページをサイトマップに含めると、Googleに矛盾したシグナルを送ることになります。Search Consoleのサイトマップレポートやインデックス作成レポートで該当URLを特定し、サイトマップから除外します。
(削除対象URLを一時的にサイトマップへ記載してクロールを促す手法は例外的な対応であり、削除完了後は速やかに撤去する必要があります)

・サイトマップを更新せず放置する
ページを追加・削除してもサイトマップが古いままだと、新規ページの発見が遅れたり、存在しないURLを記載し続けたりすることになります。自動生成の仕組みを導入し、コンテンツの更新とサイトマップの更新を連動させます。手動運用の場合は、更新フローにサイトマップ更新の工程を組み込みます。

・サイトマップの送信だけでインデックスされると考える
前述の通り、サイトマップはクロールを促す手段であり、インデックスを保証しません。サイトマップを送信しても特定のページがインデックスされない場合は、サイトマップの問題ではなく、ページの品質・重複・クロールの必要性などの要因を確認します。

HTMLサイトマップの役割

HTMLサイトマップは、サイト内のページへのリンクを1ページにまとめた、ユーザー向けの一覧ページです。XMLサイトマップとは、対象も目的も異なります。

HTMLサイトマップの主な役割は、訪問者が目的のページを探しやすくすること、そしてサイト内の各ページへ内部リンクを供給することです。グローバルナビゲーションやパンくずだけではたどり着きにくいページがある場合、HTMLサイトマップが回遊の補助になります。

HTMLサイトマップは、フッターなどサイト内の全ページから到達できる場所にリンクを設置するのが一般的です。掲載するページが多くなる場合は、カテゴリーごとに見出しを付けて整理し、ユーザーが目的のページを見つけやすい構成にします。XMLサイトマップとは異なり、HTMLサイトマップはユーザーが実際に閲覧するページであるため、リンク切れや情報の古さがそのまま利用体験の低下につながる点にも注意が必要です。

HTMLサイトマップとSEOの関係
HTMLサイトマップはユーザー向けのページであり、XMLサイトマップのようにクロール対象のURLを直接伝える仕組みではありません。ただし、各ページへの内部リンクが1ページに集約されることで、クローラーがリンクをたどってページを発見する経路にはなり得ます。一方、内部リンクが十分に整理されているサイトでは、HTMLサイトマップを新規に設置する効果は限定的です。サイトの規模やナビゲーション構造を踏まえ、ユーザーの利便性向上を主目的として設置を判断します。

タイトルとURLをコピーしました