[SEO]robots.txtで特定ページのみクロールアクセスを許可したい


検索エンジンにクロールしてもらうためにrobots.txtを設置しますが、特定ページのみクロールアクセスを許可したい場合のやり方をどうしようか悩んだのでメモを残しておきます。

Disallowを使えばクロールアクセスを許可したくないページの設定ができますが、ページが多い場合、一つ一つ指定していくのは大変です。

また、URLが増えた際に、robots.txtの更新漏れも起きそうです。

# Disallowを増やしていく方針の場合、許可したくないページが多いと管理が大変

User-agent: *
Disallow: /disallow1
Disallow: /disallow2
Disallow: /disallow3

上記の方法だと、運用の手間が増えるので何か別の方法でできないか調べてみたところ、Googleフォーラムで同様の悩みを抱えている方の投稿を発見。

回答の中に書かれていた正規表現を使うことでうまくできました。

全てのページをDisallowに設定した上で、許可したいページのみAllowを設定します。

# 許可するページをAllowで指定

User-agent: *
Disallow: /*
Allow: /$
Allow: /typical

上記設定で / および /typical 以下へのクロールを許可しています。

正規表現を用いることで特定ページのみクロールアクセスを許可できました。

参考