在robots.txt中使用'允许'

时间:2016-10-19 10:17:59

标签: seo web-crawler robots.txt googlebot

最近我看到一个网站的robots.txt如下:

User-agent: *
Allow: /login
Allow: /register

我只能找到Allow条目而没有Disallow条目。

this,我可以理解robots.txt几乎是要抓取的Disallow个网页的黑名单文件。因此,Allow仅用于允许已使用Disallow阻止的域的子部分。与此类似:

Allow: /crawlthis
Disallow: /

但是,robots.txt没有Disallow条目。那么,这个robots.txt让Google抓取所有网页吗?或者,它是否仅允许使用Allow标记的指定页面?

2 个答案:

答案 0 :(得分:2)

你是对的,这个robots.txt文件允许Google抓取网站上的所有网页。可在此处找到详尽的指南:http://www.robotstxt.org/robotstxt.html

如果您希望仅允许googleBot抓取指定的网页,则格式正确为:

User Agent:*
Disallow:/
Allow: /login
Allow: /register

(我通常会拒绝这些特定页面,因为它们不会为搜索者提供很多价值。)

请注意,允许命令行仅适用于某些机器人(包括Googlebot)

,这一点非常重要

答案 1 :(得分:1)

拥有Allow行但没有Disallow行的robots.txt记录毫无意义。无论如何,默认情况下都允许抓取所有内容。

根据original robots.txt specification(未定义Allow),它甚至无效,因为至少需要一条Disallow行(大胆强调我的):

  

记录以一条或多条User-agent行开头,后跟一行或多行 Disallow行[...]

  

记录中至少需要有一个 Disallow字段。

换句话说,就像

这样的记录
User-agent: *
Allow: /login
Allow: /register

相当于记录

User-agent: *
Disallow:

,即允许抓取所有内容,包括(但不限于)包含以/login/register开头的路径的网址。