概念

sitemap.xmlサイトマップ

検索エンジンに、サイト内で見つけてほしいページやファイルのURLをまとめて伝えるXMLファイルです。クロールの手がかりを渡せますが、掲載や順位を保証するものではありません。

30秒で理解

sitemap.xml は、検索エンジンに「このサイトには、このURLがあります」とまとめて伝えるXMLファイルです。ページだけでなく、画像・動画・ニュースなどの情報を含める形式もあります。

サイト内リンクが整っていれば、検索エンジンは多くのページを見つけられます。それでも、新しいサイト、ページ数の多いサイト、画像や動画が多いサイトでは、発見の手がかりを追加する用途があります。

広い倉庫の在庫表を、入口に置いておくようなものです。在庫表があれば探す順番を決めやすくなりますが、載せた商品が必ず売り場に並ぶわけではありません。サイトマップもURLの発見を助けますが、クロールや検索結果への掲載を命令するファイルではありません。

どういう仕組みか

通常のXMLサイトマップは、<urlset> の中にURLごとの <url> を並べ、必須の <loc> に完全なURLを書きます。必要に応じて、重要な更新を行った日時を <lastmod> に記録します。

要素役割実務での扱い
<urlset>URL一覧全体の入れ物http://www.sitemaps.org/schemas/sitemap/0.9 の名前空間を指定する
<url>1つのURLのまとまりURLごとに1つ置く
<loc>URLの場所/about/ ではなく https://example.com/about/ のような絶対URLにする
<lastmod>そのページの最終更新日時本文などの重要な更新を、実際に確認できる場合だけ書く
sitemap index複数のサイトマップの一覧1ファイルに収まらないときに使う

<changefreq> と <priority> を書いても、Googleはその値を利用しません。CMSや静的サイトジェネレーターが自動生成する場合は、手書きファイルを追加する前に、生成元と出力先を確認します。

どこで見えるか

まずブラウザーで、サイトのルートにある https://自分のドメイン/sitemap.xml を開きます。サイトによってファイル名が違ったり、複数のファイルをまとめるサイトマップインデックスが返ったりします。

確認する場所見るもの次の判断
ブラウザーの サイトのルート/sitemap.xmlXMLが返るか、<loc> のURLが意図したドメインか404やHTMLが返るなら、生成設定と公開先を確認する
robots.txtSitemap: https://... の行サイトマップの場所を明示するなら、完全なURLで追記する
Search Console の「サイトマップ」送信状態、最終読み込み、検出されたページ数、エラーエラーの詳細を開き、XMLと公開URLを突き合わせる
XML本文リダイレクト先や404のURL、重複URL検索結果に出したい正規URLだけを残す

Search Consoleに登録する場合は、プロパティを間違えないように選び、「サイトマップ」画面でサイトマップのURLを送信します。robots.txt に場所を書く方法もあります。どちらを使う場合でも、まずブラウザーで実際のXMLを開けることを確認します。

よくある誤解

サイトマップにURLを書けば、検索結果に載るわけではありません。サイトマップは発見やクロールの手がかりです。ページの品質、重複、アクセス制限、正規URLなどの判断は別に行われます。

誤解実際の扱い
全URLを入れるほどよい検索結果に出したい正規URLを入れる。管理画面や検索結果に出したくないURLは混ぜない
サイトマップがあれば内部リンクは不要サイト内の重要ページへたどれるリンク構造は別に整える
lastmod はファイル生成日を書けばよいページの重要な更新日を、検証できる値として書く
相対URLでもよい<loc> には完全な絶対URLを書く
送信済みなら処理済みであるSearch Consoleの読み込み結果とエラーを確認し、対象URLの状態を別途見る
大きなサイトでも1ファイルでよい1ファイルあたり50,000 URLまたは圧縮前50MBを超えるなら分割し、サイトマップインデックスでまとめる

これを踏まえて何をするか

サイトマップが未設定、またはエラーが出ているときは、次の順で1つずつ確認します。

順番開く場所操作判定
1ブラウザーhttps://自分のドメイン/sitemap.xml を開き、XMLが返ることを確認する開けなければ、CMSまたはサイト生成設定のサイトマップ出力を開く
2XML本文<loc> を上から数件読み、https・正しいホスト・検索結果に出したいURLかを見る404、リダイレクト元、重複URLがあれば生成条件を直す
3各ページのHTML<link rel="canonical"> とサイトマップの <loc> を比べる代表URLが違えば、canonicalとサイトマップの出力元をそろえる
4Search Console → サイトマップサイトマップURLを送信し、送信後の詳細を開く読み込みエラーがあれば、表示された行やURLをXMLで再確認する
5Search Console → ページのインデックス登録サイトマップ経由で除外されたURLの理由を開くnoindex やクロール拒否など、表示された原因ごとに切り分ける

サイトマップの送信後に確認する最初の画面は、Search Consoleの「サイトマップ」です。そこで対象ファイルの詳細を開き、エラーがあればエラーURLを1件だけ選んで、ブラウザーとXML本文で同じURLを確認してください。

つまずきどころ

症状まず見る場所切り分け
送信したURLが読み込まれないSearch Consoleのサイトマップ詳細送信先のプロパティ、XMLのHTTPステータス、公開先のパスを確認する
検出URLが想定より少ないXMLの<loc>と生成設定重要ページがXMLに入っているか、サイトマップインデックスの子ファイルが読めるかを見る
URLがインデックス登録されないSearch ConsoleのURL検査canonical、noindex、robots.txtによるブロック、ページのHTTPステータスを順に確認する
Googleが別のURLを正規URLにするURL検査の「Googleが選択した正規URL」canonical、内部リンク、リダイレクト、サイトマップのURLが一致しているか比べる
更新日をどう書くか分からないCMSの更新履歴とページ本文重要な本文・構造化データ・リンクの更新日を確認できないなら、lastmod を省く

判定がつかない場合は、対象URLを1件に絞り、XMLの該当行、ブラウザーで開いた結果、Search ConsoleのURL検査結果を保存します。最初に押す場所は Search Console の「サイトマップ」画面です。

一次情報

普遍的な内容なので、定期の見直し対象にしていません。