仅允许Google和Bing机器人抓取网站


10

我正在为网站使用以下robots.txt文件:目标是允许googlebot和bingbot访问除页面之外的网站,/bedven/bedrijf/*并阻止所有其他bot爬行该网站。

User-agent: googlebot
Disallow: /bedven/bedrijf/*
Crawl-delay: 10

User-agent: google
Disallow: /bedven/bedrijf/*
Crawl-delay: 10

User-agent: bingbot
Disallow: /bedven/bedrijf/*
Crawl-delay: 10

User-agent: bing
Disallow: /bedven/bedrijf/*
Crawl-delay: 10

User-agent: *
Disallow: /

最后一条规则是否User-agent: * Disallow: /禁止所有漫游器抓取网站上的每个页面?


11
这整个任务与我有关。还有其他搜索引擎,使用它们的任何人都不会看到您的网站。theeword.co.uk/info/search_engine_market说,您的搜索引擎未访问互联网的4.99%。这是很多的人。更好的方法是监视您的流量并查看是否有任何漫游器真正导致了问题,然后专门阻止这些问题。
GKFX

8
出现异常的机器人可能只是完全忽略了你robots.txt反正
尼克ŧ

8
真的很糟糕的漫游器不在乎robots.txt
Osvaldo 2015年

4
@NickT,在现实世界中,不乏遵循robots.txt或至少遵守Disallow: /规则的行为不端的机器人。如果您的个人网站因为机器人程序员从未考虑过该服务器可能是256 kbit连接的错误端上的Raspberry Pi而被重创,那么像这样的毯子式排除是很有用的。
2015年

2
@控制台为什么?
o0'。

Answers:


24

最后一条记录(以开头User-agent: *)之后将是所有没有将自己标识为“ googlebot”,“ google”,“ bingbot”或“ bing”的礼貌机器人。
是的,这意味着不允许他们爬行任何内容。

您可能要省略*in /bedven/bedrijf/*
在原始的robots.txt规范中,*没有特殊含义,它只是一个与其他字符一样的字符。因此,这只会禁止抓取*在其URL 中确实包含字符的页面。
尽管Google在这方面没有遵循robots.txt规范,因为它们*用作“任何字符序列”的通配符,但在这种情况下,它们并不需要它们:/bedven/bedrijf/*并且/bedven/bedrijf/含义完全相同:阻止其路径的所有URL 开始使用/bedven/bedrijf/

最后,您可以将robots.txt减少为两个记录,因为一条记录可以包含User-agent

User-agent: googlebot
User-agent: google
User-agent: bingbot
User-agent: bing
Disallow: /bedven/bedrijf/
Crawl-delay: 10

User-agent: *
Disallow: /

5
请注意,Google会忽略 robots.txt中的crawl-delay指令。您必须改为在Google网站站长工具中进行设置。
DisgruntledGoat

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.