Sitemap (sitemap.xml)
サイトマップ(sitemap.xml)とは
Definition
sitemap.xml(XMLサイトマップ)とは、ウェブサイト内の全URLを記載したXML形式のファイルです。GoogleのクローラーにサイトのURLを効率的に伝え、インデックス(検索データベースへの登録)を促進します。Search Consoleからサイトマップを送信することで、Googleがサイトを迅速にクロールできます。
特に新規サイト・ページ数の多いサイト・動的に生成されるページが多いサイトでは、サイトマップの設置・送信がインデックスを速めるために重要です。Next.jsではapp/sitemap.tsを作成することで自動的にsitemap.xmlが生成されます。
Key Points
知っておくべきポイント
サイトマップとHTMLサイトマップの違い
sitemap.xmlはGoogleなどの検索エンジンのクローラー向けの機械読み取り用ファイル。HTMLサイトマップ(/sitemap のURL)はユーザー向けのナビゲーションページで、人間が読みやすい形式でサイトの全ページ一覧を提供します。
sitemap.xmlに含める情報
sitemap.xmlの各URLエントリには<loc>(URL)・<lastmod>(最終更新日)・<changefreq>(更新頻度のヒント)・<priority>(優先度0.0〜1.0)を記述できます。Googleはchangefreqとpriorityを参考情報として扱うため過度に最適化するより正確なlastmodの更新が重要です。
画像・動画サイトマップの活用
画像を多用するサイト(ECや飲食・美容)は画像サイトマップ(image:image要素)を実装することで、Googleの画像検索でのインデックスを促進できます。動画コンテンツがある場合は動画サイトマップ(video:video要素)でYouTube以外のホスト動画もGoogleに認識させることができます。
Next.jsでのsitemap.xml自動生成
Next.jsのApp Routerではapp/sitemap.tsファイルを作成し、sitemap()関数でURLの配列を返すことで自動的にsitemap.xmlが生成されます。データベースやCMSから動的にURLを取得して生成することも可能です。ビルド時にすべてのURLが確定するSSGの場合はnext-sitemap等のライブラリが便利です。
よくある質問
サイトマップ送信はGoogleへのクロール要求ですが、実際のインデックスはGoogleの判断次第です。サイトマップ送信後、通常数日〜数週間でインデックスされます。
Next.jsではapp/sitemap.tsを作成することで自動的にsitemap.xmlが生成されます。WordPressではYoast SEOやAll in One SEOプラグインが自動でsitemap.xmlを生成します。静的サイトは「XML Sitemaps Generator」等の無料ツールで作成できます。
Google Search Consoleの「サイトマップ」メニューから、サイトマップのURL(例:example.com/sitemap.xml)を入力して送信します。送信後、処理状況・送信済みURL数・インデックス登録済みURL数がSearch Consoleで確認できます。
インデックスさせたくないページ(管理ページ・重複コンテンツ・noindexページ)はサイトマップから除外してください。サイトマップに含まれるURLとnoindexの指定が矛盾するとGoogleが混乱するため、サイトマップはインデックスを望むURLのみを含めることが原則です。
1つのsitemap.xmlファイルには最大5万URL・ファイルサイズ50MB(非圧縮)の制限があります。URLが5万を超える大規模サイトはsitemap_index.xmlを使って複数のサイトマップファイルを束ねる構成にします。
コンテンツ更新のたびに自動更新されることが理想です。Next.jsやWordPressのSEOプラグインはページの追加・削除を検知して自動更新します。手動管理の場合は新規ページ追加のたびにサイトマップを更新してSearch Consoleから再送信してください。
robots.txtに「Sitemap: https://example.com/sitemap.xml」と記述することで、Googleのクローラーがrobots.txtを読んだ際に自動的にサイトマップを発見できます。両ファイルの設定が矛盾しないよう(robots.txtでDisallowしたページをsitemap.xmlに含めない)注意が必要です。
URLをブラウザで直接開きsitemap.xmlが正しく表示されるかを確認してください。MIMEタイプ(application/xml)の設定・ファイルのエンコード・xmlの文法エラーが原因のことが多いです。Next.jsやWordPressの設定を確認し、ファイルが正しく公開されているかを再チェックしてください。
この用語を活用してみませんか
実際の集客施策への活用方法はお気軽にご相談ください。