robots.txtは、クローラーに対してクロール方針を伝えるためにサイトのルートへ置くテキストファイルです。その中にSitemap行を書くと、sitemap.xmlの場所もあわせて知らせることができます。
Sitemap行は発見を助ける
sitemap.xmlを /sitemap.xml に置いているだけでも見つかることはあります。ただし、CMSや多言語サイトではsitemapのURLが複数あったり、標準的な場所とは違ったりします。robots.txtに明示しておくと、クローラーがsitemapの位置を見つけやすくなります。
User-agent: *
Allow: /
Sitemap: https://example.com/sitemap.xmlDisallowとは別の役割
robots.txtのDisallowは、どのパスをクロールさせたくないかを伝えるためのものです。一方、Sitemapは、クローラーに読んでほしいURL一覧の場所を知らせるためのものです。どちらもクロールに関係しますが、目的は逆ではありません。
確認したいポイント
- robots.txtがサイトのルートで取得できる
- Sitemap行のURLが絶対URLになっている
- 指定されたsitemapが実際に取得できる
- HTTPとHTTPS、wwwありなしが混ざっていない
- 多言語や複数sitemapの指定漏れがない
- 古いステージングURLが残っていない
サイト公開時やドメイン移行後は、robots.txtとsitemapの組み合わせが崩れやすい部分です。TOOLPOOLのサイトマップチェッカーでは、robots.txtのSitemap指定と実際に取得できるsitemapを同時に確認できます。