XMLサイトマップは、検索エンジンに「サイト内のどのURLを重要ページとして見てほしいか」を伝えるXML形式のファイルです。検索順位を直接上げる施策ではありませんが、検索エンジンによるURLの発見やクロールを補助します。
特に、新規サイト、ページ数が多いサイト、階層が深いサイトでは、XMLサイトマップを整備してGoogle Search Consoleへ送信する意義があります。ただし、URLを多く載せるのではなく、検索結果に表示させたい正規URLだけを掲載することが重要です。
この記事では、XMLサイトマップが必要になりやすいサイト、記載・除外すべきURL、WordPressでの確認方法、Google Search Consoleへの送信手順、エラー時の見直し方を解説します。
XMLサイトマップの役割は、重要URLの発見を補助すること
XMLサイトマップは、Webサイトのページ、画像、動画などに関する情報を検索エンジンへ伝えるファイルです。Googleなどのクローラーはサイトマップを参照し、通常の内部リンクだけでは見つけにくいURLや更新されたURLを発見する手がかりにします。
送信してもインデックス登録は保証されません。Googleは、サイトマップをURL発見のヒントとして利用しますが、送信したすべてのURLをクロールまたはインデックス登録するとは限りません。noindex、robots.txt、canonical、重複コンテンツ、ページ内容、内部リンクなども評価に関わります。
そのためXMLサイトマップは、順位上昇を狙う単独施策ではなく、検索エンジンがサイト構造を把握しやすくするための技術的なSEO基盤と考えるのが適切です。
出典:Google Search Central「Sitemaps overview」
XMLサイトマップが必要になりやすいサイト
XMLサイトマップは小規模サイトにも利用できますが、特に効果を期待しやすいのは、検索エンジンが重要ページを通常のリンクだけで発見しにくいサイトです。判断の軸は、重要URLを自然にたどり着ける構造かどうかです。
| サイトの状況 | 優先度 | 主な理由 |
|---|---|---|
| 新規公開したサイト | 高い | クロール履歴や外部リンクが少なく、URL発見の手がかりを増やしたいためです。 |
| 記事・商品・物件などが多いサイト | 高い | URL数が多く、重要ページを内部リンクだけで管理しにくくなるためです。 |
| EC・求人・不動産などの検索機能があるサイト | 高い | 絞り込みや並び替えでURLが増えやすく、掲載対象を明確にする必要があるためです。 |
| 階層が深い、導線が複雑なサイト | 高い | クリック経路が長いページや、内部リンクが不足したページが生まれやすいためです。 |
| 数ページ程度で内部リンクが整ったサイト | 相対的に低い | 検索エンジンが通常のリンクから主要ページを発見しやすいためです。 |
小規模サイトでも、XMLサイトマップを用意しておけば、公開対象URLの整理やSearch Consoleでの取得状況の確認に役立ちます。CMSで自動生成できる場合は、運用対象にしておくとよいでしょう。
出典:Google Search Central「Sitemaps overview」
XMLサイトマップに記載するURLと除外するURL
XMLサイトマップの品質は、URL数ではなく掲載内容で決まります。基本方針は、検索結果に表示させたい、利用者に価値を提供するインデックス対象の正規URLだけを掲載することです。
記載するURLは、検索結果に出したい正規URL
掲載対象は、原則として正常に公開され、検索流入を得たいページです。サイトマップ、canonicalタグ、内部リンクが同じURLを正規ページとして示すように整えます。
- HTTPステータス200で正常に表示できる記事・固定ページ
- 公開中の商品、物件、求人、サービス詳細などのページ
- 検索者にとって有用なカテゴリーや拠点・サービス一覧ページ
- 自分自身をcanonical URLとして指定しているページ
- 重複ページ群のなかで代表として扱いたいURL
- ログインやパスワードを必要とせず、一般利用者が閲覧できるページ
たとえば同じ商品に通常URL、広告計測用URL、並び替え用URLがある場合、サイトマップに載せるのは通常URLです。Googleはサイトマップ内のURLを正規URLの候補として利用するため、canonicalやリダイレクトの方針と一致させる必要があります。
出典:Google Search Central「Build a sitemap」
出典:Google Search Central「Consolidate duplicate URLs」
除外するURLは、検索対象にしないURLや非正規URL
検索結果に出す意図がないURL、エラーを返すURL、正規URLではないページは、原則としてサイトマップから外します。掲載方針とインデックス方針を一致させることが大切です。
| 除外を検討するURL | 主な理由 |
|---|---|
| noindexを指定したページ | 検索結果に出さない方針とサイトマップ掲載の目的が矛盾するためです。 |
| 301・302リダイレクトURL | 通常は転送元ではなく、転送先の正規URLを伝えるべきだからです。 |
| 404・410を返すURL | 存在しない、または削除済みのページを重要URLとして示さないためです。 |
| canonicalが別URLを指すページ | 非正規URLの掲載により、正規化シグナルが不整合になるためです。 |
| 検索条件・並び替え・セッションID付きURL | 重複コンテンツや無制限のURL増加につながりやすいためです。 |
| 価値が乏しいタグ一覧・重複アーカイブ | 類似した一覧ページを増やすだけになる可能性があるためです。 |
robots.txtでクロールをブロックしただけでは、検索結果からの除外を保証できません。HTMLページを検索結果に出したくない場合は、原則としてGooglebotが確認できる状態でnoindexを返すか、認証によるアクセス制限を検討します。noindexを認識させるには、Googlebotがページをクロールできなければなりません。
出典:Google Search Central「Block indexing with noindex」
XMLサイトマップを作成してGoogle Search Consoleへ送信する手順
XMLサイトマップは、生成後にURLの内容を確認してから送信します。自動生成されている場合でも、不要な投稿タイプやアーカイブが含まれていないかを確認してください。送信前の掲載URL点検が最優先です。
1. サイトマップのURLを確認する
まずサイトマップをブラウザで開きます。WordPressコアのXMLサイトマップでは「wp-sitemap.xml」が使われます。SEOプラグインを利用している場合は別のURLになることがあるため、実際に出力されているURLを確認してください。
サイトマップインデックスまたはURL一覧が表示され、各URLにアクセスできる状態が必要です。403、404、500エラー、ログイン要求、Basic認証などがある場合は、Search Consoleへ送信する前に解消します。
出典:WordPress Developer Resources「WP_Sitemaps」
2. 掲載URLの内容を点検する
全URLを一件ずつ目視確認する必要はありません。投稿タイプやサイトマップファイルごとに代表URLを確認し、掲載方針に反するURLが混ざっていないかを調べます。
- httpsとhttp、wwwあり・なしが混在していないか
- noindex、リダイレクト、404・410のURLが含まれていないか
- タグ一覧、添付ファイルページ、サイト内検索結果が意図せず含まれていないか
- canonicalが別URLを指すページを掲載していないか
- 削除済み記事、非公開ページ、旧URLが残っていないか
サイトマップ内のURLは、プロトコルとドメインを含む完全な絶対URLで記載します。URL表記を統一し、検索エンジンにクロールしてほしいURLを明確にします。
出典:Google Search Central「Build a sitemap」
3. Google Search Consoleのサイトマップレポートで送信する
Google Search Consoleで対象プロパティを選択し、「サイトマップ」レポートからサイトマップURL、またはパスを入力して送信します。複数の子サイトマップがある場合は、通常は全体を管理するサイトマップインデックスを送信します。
送信後は取得状況とエラーを確認します。送信済みと表示されても、すべてのURLが即時にインデックスされるわけではありません。取得エラーの有無と、重要ページのURL検査結果を分けて確認しましょう。
robots.txtにサイトマップの場所を記載することもできます。これはクローラーがサイトマップを発見する補助になりますが、Search Consoleへの送信とは役割が異なります。Search Consoleでは送信状況やエラーを管理画面で確認できるため、送信と監視を併用すると管理しやすくなります。
出典:Google Search Central「Build a sitemap」
WordPressでXMLサイトマップを運用するポイント
WordPressはバージョン5.5以降、コア機能としてXMLサイトマップを備えています。そのため、サイトマップ作成だけを目的に専用プラグインを必ず追加する必要はありません。
サイトマップの生成元を一つに決めることが重要です。WordPressコア、SEOプラグイン、テーマ、サーバー機能が同時に異なるサイトマップを生成すると、掲載URLの管理方針が分かりにくくなります。
複数のサイトマップが存在しても直ちに検索上の問題になるとは限りません。しかし、掲載内容が食い違うと、どの設定を修正すべきか判断しにくくなります。Search Consoleへ送信する系統を原則一つに決め、不要な生成機能は停止するか、管理対象から外しましょう。
出典:WordPress Core「XML Sitemaps in WordPress 5.5」
投稿タイプとタクソノミーごとに掲載方針を決める
WordPressでは、投稿、固定ページ、カスタム投稿タイプ、カテゴリー、タグなどがサイトマップに含まれる場合があります。すべてを一律に掲載するのではなく、検索流入の価値と重複リスクで判断します。
| 種類 | 掲載判断の目安 |
|---|---|
| 投稿・固定ページ | 検索結果に出したい、公開中のページを掲載します。 |
| 商品・物件・求人など | 独自性があり、利用者に提供できる情報が十分なら掲載候補です。 |
| カテゴリー | テーマ別の一覧として検索者に役立つ場合に掲載します。 |
| タグ | 少数記事しかない、内容が重複する、無秩序に増えている場合は除外を検討します。 |
| 添付ファイルページ | 画像だけの薄いページになりやすいため、検索対象にする必要性を慎重に判断します。 |
タグやアーカイブは、検索者が直接訪問しても目的を達成できるかを基準に判断します。サイトマップから除外する場合は、必要に応じてnoindexや内部リンクの扱いも含め、サイト全体の方針と整合させてください。
サイトマップは正常でもインデックスされない場合がある
XMLサイトマップの取得状況と、個別ページのインデックス状況は別の問題です。サイトマップが正常に処理されていても、ページ自体の状態により検索結果へ表示されないことがあります。重要URLはURL検査ツールで個別に確認します。
サイトマップを取得できない場合
Search Consoleで取得エラーが出た場合は、まずブラウザでサイトマップURLを開き、外部から正常に取得できるかを確認します。管理者だけが閲覧できる状態ではなく、Googlebotがアクセスできる必要があります。
- 入力したサイトマップURLまたはパスが正しいか
- サイトマップがHTTPステータス200で返るか
- サーバーエラー、タイムアウト、XML形式のエラーがないか
- Basic認証、IP制限、メンテナンス設定が取得を妨げていないか
- Search ConsoleのプロパティとURLのhttp・https、ホスト名が整合しているか
サイト移転や常時SSL化の後は、旧ドメインや旧URLのサイトマップを送信し続けていないかも確認してください。
送信済みURLがインデックスされない場合
サイトマップに含まれることは、インデックス登録の保証ではありません。対象URLのHTML、HTTPレスポンス、URL検査ツールを確認し、原因を切り分けます。
- meta robotsまたはHTTPヘッダーでnoindexになっていないか
- robots.txtがGooglebotのクロールを妨げていないか
- canonicalが別URLを示していないか
- 類似・重複するページが複数URLで公開されていないか
- 本文が極端に少ない、または他ページとほぼ同じ内容ではないか
- 重要なカテゴリーページや関連記事から内部リンクされているか
- 一般利用者が閲覧でき、HTTPステータス200で返るか
Googleが重複ページ群の代表URLを選ぶ際には、サイトマップ、canonical、内部リンク、リダイレクトなどを総合的に参照します。これらが異なるURLを示している場合は、まず正規URLの方針を統一してください。
出典:Google Search Central「Consolidate duplicate URLs」
XMLサイトマップとHTMLサイトマップの違い
XMLサイトマップとHTMLサイトマップは名称が似ていますが、主な利用者と目的が異なります。XMLは検索エンジン向け、HTMLは利用者向けです。
| 種類 | 主な対象 | 主な目的 |
|---|---|---|
| XMLサイトマップ | 検索エンジンのクローラー | 重要URLや更新情報を伝え、ページ発見とクロールを補助します。 |
| HTMLサイトマップ | Webサイトの利用者 | 主要ページを一覧化し、サイト内の回遊と目的ページへの到達を助けます。 |
HTMLサイトマップは、サイト構造が複雑で利用者が目的のページを見つけにくい場合に有効です。ただし、HTMLサイトマップを作成しても、検索エンジン向けのXMLサイトマップが不要になるわけではありません。HTMLには全URLを機械的に並べるのではなく、利用者が探しやすい単位で主要カテゴリーや重要ページを整理します。
技術要件:URL数上限とlastmodの扱い
Googleが案内するサイトマップの上限は、1ファイルあたり50,000 URLまたは非圧縮50MBです。上限を超える場合は複数のサイトマップに分割し、それらをまとめるサイトマップインデックスを作成します。
投稿用、固定ページ用、商品用など、コンテンツ種別で分割すると、取得エラーや不要URLを確認しやすくなります。Search Consoleには通常、子サイトマップをまとめたインデックスファイルを送信します。
また、lastmodには実際にページが重要な更新を受けた日時を設定します。著作権表記の年を変更しただけのような軽微な変更で、機械的に更新日時を変える運用は避けるべきです。
出典:Google Search Central「Build a sitemap」
出典:Google Search Central「Manage sitemaps with sitemap index files」
よくある質問
XMLサイトマップの設定・運用で迷いやすい点を補足します。
XMLサイトマップは必須ですか?
必須ではありません。内部リンクが適切な小規模サイトなら、検索エンジンが通常のリンクからページを見つけられる場合があります。一方、新規サイト、大規模サイト、複雑なサイトでは有用性が高いため、自動生成できるなら設定・送信しておく価値があります。
XMLサイトマップを送信すれば必ずインデックスされますか?
必ずしもインデックスされません。XMLサイトマップは重要URLを伝えるヒントであり、noindex、robots.txt、canonical、重複、ページ内容、内部リンクなどの状況も確認されます。
noindexページをXMLサイトマップに載せてもよいですか?
通常は掲載しません。noindexは検索結果に表示させない指定であり、XMLサイトマップは検索結果に表示させたい重要URLを示す仕組みだからです。意図せず含まれる場合は、WordPressまたはSEOプラグインのサイトマップ設定を見直してください。
まとめ
XMLサイトマップは、検索エンジンに重要ページを伝え、URLの発見とクロールを補助するためのファイルです。検索順位を直接上げるものではありませんが、SEOの技術基盤として有効です。
正規URLだけを載せ、継続して確認しましょう。検索結果に出したい記事、固定ページ、商品ページなどを掲載し、noindex、リダイレクト、エラーページ、重複URLは除外します。そのうえでGoogle Search Consoleに送信し、取得エラーと重要URLのインデックス状況を定期的に確認することが基本です。