您可以禁止所有内容,然后仅允许特定网站。我知道一种方法是禁止特定网站并允许所有网站。它的反向是有效的:E.G:
User-agent: *
Disallow: /
Allow: /siteOne/
Allow: /siteTwo/
Allow: /siteThree/
简单地禁止所有,然后允许网站似乎比所有网站更安全,他们必须考虑你不希望他们爬行的所有地方。
上述方法是否可以对网站描述负责?'由于此网站的robots.txt,此结果的说明不可用 - 了解详情。'在谷歌主页上的有机排名
更新 - 我已使用Google网站管理员工具>抓取> robots.txt测试员。首先,当我输入siteTwo / default.asp时,它表示已阻止并突出显示“禁止”:/'线。离开并重新访问该工具后,它现在显示允许。很奇怪。所以,如果这说“允许”,我想知道为什么它会在网站描述中给出上述信息?
UPDATE2 - 上面的robots.txt文件示例应该包含dirOne,dirTwo而不是siteOne,siteTwo。知道所有关于robot.txt的两个很棒的链接是下面接受的答案中的unor的robot.txt规范,robots exclusion standard也是必读的。这两页都解释了这一点。总而言之,是的,你可以禁止,但他们允许,但总是最后放弃禁止。
答案 0 :(得分:0)
(注意:您不会禁止/允许在robots.txt中抓取"网站"但是网址。Disallow
/ Allow
的值为{{3 }}。)
always the beginning of a URL path未定义Allow
遵循此规范的消费者将忽略任何Allow
字段。某些消费者(如Google)会扩展规范并了解Allow
。
对于那些不知道Allow
的消费者:一切都是不允许的。
对于那些了解Allow
的消费者:是的,您的robots.txt应该适用于他们。除了那些与Allow
字段匹配的网址外,一切都被禁止。
假设您的robots.txt托管在http://example.org/robots.txt
,Google将允许抓取以下网址:
http://example.org/siteOne/
http://example.org/siteOne/foo
http://example.org/siteOne/foo/
http://example.org/siteOne/foo.html
Google 不允许抓取以下网址:
http://example.org/siteone/
(区分大小写)http://example.org/siteOne
(缺少尾随斜线)http://example.org/foo/siteOne/
(不匹配路径的开头)