最近我看到一个网站的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
标记的指定页面?
答案 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
开头的路径的网址。