検索エンジンに、うちの全ページを一枚の地図で渡す話。sitemap.xmlの正体

新しく追加したページが、なかなか検索結果に出てこないことがあった。
クローラーに、うちの全ページを一枚の地図で渡す方法があった。

新しく追加したページが、なかなか検索結果に出てこないことがあった。
クローラーが自分で見つけてくれるのを待つしかないのかと思っていたら、地図を渡すという方法があるのを知った。

クローラーは、リンクをたどって進んでくる

以前書いたとおり、クローラーはページの中のリンクをたどって、次々に別のページへ移動していく司書のようなものだった。
ということは、どこからもリンクされていないページには、たどり着けない。

新設したばかりのディレクトリや、まだ他のページからリンクを張っていないページは、この「たどり着けない」に該当していた。

sitemap.xmlは、URLの一覧表だった

sitemap.xmlは、サイトの中にある全ページのURLを、あらかじめ一枚の表にまとめておくファイルだ。
中身は単純で、こんな形が並んでいる。

https://autocamp.website/tech/599/

これをGoogle Search Consoleに提出しておくと、クローラーはリンクをたどるだけでなく、この一覧表を見て「他にこういうページもある」と把握できるようになる。
見つけてもらうのを待つのではなく、こちらから渡しにいく形になる。

手で作ると、すぐに古くなる

最初は手で一覧を作っていたが、これはすぐに破綻した。
記事を一本増やすたびに、sitemap.xmlも書き換えないといけない。
忘れると、新しいページだけが一覧から抜け落ちる。

いまはCMS側で、投稿が公開されるタイミングに合わせてsitemap.xmlを自動で生成し直すようにしている。
人がファイルを触る場面が無くなってから、抜け落ちが起きなくなった。

全部のページを載せればいいわけでもなかった

もう一つ知ったのが、載せるページは選んだほうがいいということだった。
会員だけが見られる管理画面や、検索結果に出したくない下書きのページまで載せてしまうと、地図としての意味が薄れる。

載せるのは、検索に出てほしい公開済みのページだけ。
それ以外はrobots.txtという別の仕組みで、そもそもクローラーに見せない範囲を決めておく。
地図に載せる範囲と、そもそも見せない範囲を、別々に管理するようになった。

渡した地図は、それでも絶対ではなかった

sitemap.xmlを提出しても、クローラーがすぐにその通りの順番で回ってくるわけではない。
あくまで「参考にする一覧」であって、命令ではないらしい。
それでも、新しいディレクトリを作った日の反応は、明らかに早くなった。

地図を渡したからといって、必ず来てくれるとは限らない。
それでも、渡さないよりは、見つけてもらえる確率がずっと上がった。

スタンプラリーに挑戦する 行った場所・気になる場所は、現地チェックインでスタンプに残せます。 みんなのコースを見てみる 会員が作ったスポット巡りのコースを都道府県から探せます。自分だけのコースも作れます。 運営者の個人noteも書いています AI活用やサイト運営で気づいたことを、もう少し個人の視点で掘り下げています。

※運営者が個人で書いているnoteです。

技術ブログ一覧へ戻る