🥞

Sitemapについて調べました

2025/01/21に公開

Sitemapを作成する機会があり、改めて調べたので、残しておきます。
*調べたのは、Google検索エンジンについての仕様になります。
 他検索エンジンだと違う部分もあるかもしれません。

Googleのインデックス登録とは?

Google検索等のGoogle関連サービスにサイトを認識してもらうことです。
インデックス登録が完了すると、Google検索の結果に表示されます。
SEOの第1歩です!

サイトマップ

インデックス登録のために、日々Googleクローラーがサイトを徘徊しにきます。
クローラーはWebサイト内のリンクを辿ってクロールするので、
新しいサイトで外部のwebサイトからのリンクが少ない場合や、
全てのページがサイト内のリンクから辿れない場合などには、クローラーがサイト内のページの徘徊漏れが起こりやすいそうです。
そんな時、、サイトマップを提供することで、より効率的にクロールしてくれます。

サイトマップは文字通り、サイト内のページの一覧です。地図のようなもの。
こんな感じ↓

simtemap.xml
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:news="http://www.google.com/schemas/sitemap-news/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:mobile="http://www.google.com/schemas/sitemap-mobile/1.0" xmlns:image="http://www.google.com/schemas/sitemap-image/1.1" xmlns:video="http://www.google.com/schemas/sitemap-video/1.1">
<url>
<loc>https://example.com/titles/1</loc>
</url>
<url>
<loc>https://example.com/titles/2</loc>
</url>
<url>
<loc>https://example.com/titles/3</loc>
.
.
.

作成方法などの詳細は、こちら

また、エラーページなど検索結果にでても意味がないようなページは、
サイトマップには載せないようにします。

robots.txt役割

robots.txtでは検索エンジンのクローラーに対しての振る舞いを指定します。

robots.txt
User-agent: Googlebot
Disallow: /nogooglebot/

User-agent: *
Allow: /

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

!!勘違いしがちなのですが、robots.txtでクローラーにアクセスさせないように設定しても検索エンジンに表示されなくなるわけではありません。検索エンジンに表示しないようにするには、別途noindexの設定が必要になります〜〜

robots.txt ファイルとは、検索エンジンのクローラーに対して、サイトのどの URL にアクセスしてよいかを伝えるものです。これは主に、サイトでのリクエストのオーバーロードを避けるために使用するもので、Google にウェブページが表示されないようにするためのメカニズムではありません。
引用: https://developers.google.com/search/docs/crawling-indexing/robots/intro?hl=ja

noindexの役割

インデックス登録をさせず、検索結果に表示させないようにするために、noindexを利用します。
metaタグに設定します↓

<meta name="robots" content="noindex">

サイトマップに登録したURLにnoindexが付与されていると、クローラーが混乱してしまうようなので(これで解決!「送信されたURLにnoindexタグが追加されています」の対処法)、
インデックス登録したくないページは、noindex付与して、サイトマップに載せないようにしておくのが良さそうです!!
逆にサイトマップに載せて、noindex付与することで、クローラーにページが消えたことを教えるという手法もあるみたいです、、、(そう言うことしたくなったら調べよう、、)。

感想

robots.txtとnoindexの役割が別だとは理解していなかったので、整理できてよかったです。

参考

Discussion