http://www.asahi-net.or.jp/~ax2s-kmtn/ref/robots.html
http://www.seotemplate.biz/free-seo/2107/
特定のディレクトリやページを指定して拒否
User-agent: *
Disallow: /seo/
Disallow: /123456.html
特定のディレクトリやURLを指定してクロールを拒否する場合にはこのような記述になります。
拒否したディレクトリ内の特定のディレクトリのみ許可する
User-agent: *
Disallow: /seo/
Allow: /seo/tips
これでseoディレクトリは拒否されて、seoディレクトリ内のtipsディレクトリのみ許可することになります。
https://www.suzukikenichi.com/blog/how-to-create-robotstxt/
User-Agent: *
Disallow: /
最初の「User-Agent」は、クローラの指定です。
「*(アスタリスク、ワイルドカード)」は、すべてのクローラを表します。
Googleのクローラは「googlebot」、Yahoo!のクローラは「Slurp」、MSN Live Searchのクローラは「msnbot」で指定できます。
「Disallow」は、「アクセス拒否」を表します。
アクセスを許可するときは、「Allow」ですが、Disallowの記述がなければアクセスするので、わざわざAllowを指定する必要はありません。
Disallow(Allow)の後に続くのは、アクセスを制御するディレクトリまたはファイルです。
例の「/(スラッシュ)」は「ルートディレクトリ」を表します。
「ルートディレクトリ」とは、いちばん上の階層のフォルダです。
ディレクトリを指定すると、その中にあるすべてのファイルと、サブディレクトリがあるときはサブディレクトリの中のすべてのファイルがアクセス制御対象になります。
「/secrets/」とすると、ルートディレクトリの中にある「secrets」というディレクトリの中のファイルをアクセス制御できます。
「/onlyyou/himitsu.html」とすると、ルートディレクトリの中にある「onlyyou」というサブディレクトリの中の「himitsu.html」というファイルへのアクセスを制御できます。
以上を踏まえて、サンプルのrobots.txtを解釈してみましょう。
User-Agent: *
Disallow: /
「すべてのクローラ(User-Agent: *)は、ルートディレクトリ配下の全てのファイル(/)に、アクセスしてはいけません(Disallow)」という意味になります。
つまり、インデックスの完全拒否ですね。
別のサンプルです。
User-Agent: *
Disallow: /secrets/
すべてのクローラは、「secrets」フォルダのすべてのファイルにアクセスしてはいけません、という命令になります。
「secrets」フォルダはURLで表すと、「http://www.sample.com/secrets/」になります。
「http://www.sample.com/secrets/noaccess/」にアクセスさせたくなければ、
User-Agent: *
Disallow: /secrets/noaccess/
になります。
ルートディレクトリの直下にある「secrets」フォルダの中の「ihateyahoo.html」ファイルを、Yahoo!の検索結果にだけ表示させたくなければ、次のようになります。
User-Agent: Slurp
Disallow: /secrets/ihateyahoo.html
4−1.robots.txtは絶対に必要か
サイト内の全てのページにクローラーを巡回させたい場合はrobots.txtはなくても良い。しかし、Matt Cuttsはその場合でも、robots.txtがあった方が1%程度は有利だと答えている。
Allow:
基本的には使わないが、もしクロールを制御しているディレクトリ下の特定のページだけはクローラーが回るようにしたい場合に使う。例えば、「http://example.com/sample」はブロックするが「http://example.com/sample/important.html」はクロールを許可したいという場合だ。
その場合は以下のように記述すれば良い。(AllowはDisallowよりも優先される。)
Allow:/sample/important.html
Sitemap:
robots.txtにSitemap:を明記することはGoogleがサポートしている。記述しておくとSitemapを積極的に読むようになってくれるので必ず記載しておこう。
3−2−4.サーバーに設置する前に確認しよう
フィールド名 | 定義 |
---|---|
User-agent | このフィールドの値には、対象となるロボット名を記述します。 値としてアスタリスク(*)を記述すると、全てのロボットを対象とします。 |
Disallow | このフィールドの値には、ロボットに訪問させたくないURLを記述します。記述した値で始まるURLが対象となります。 値はフルパス名でも部分パス名でもかまいません。例えば「Disallow: /search」と記述すると「/search.html」や「/search/index.html」などを排除しますが、「Disallow: /search/」と最後にスラッシュを付けて記述すると「/search/index.html」は排除しますが「/search.html」は排除しません。 値を記述せずに「Disallow:」のみを記述した場合は、全てのURLに対して訪問を許します。 |