机器人程序不遵循robots.txt文件
似乎有些机器人没有遵循我的robots.txt文件,包括机器人程序不遵循robots.txt文件,bots,robots.txt,Bots,Robots.txt,似乎有些机器人没有遵循我的robots.txt文件,包括MJ12bot,它是majestic.com上的一个,应该遵循说明 该文件如下所示: User-agent: google User-agent: googlebot Disallow: /results/ Crawl-Delay: 30 User-agent: * Disallow: /results/ Disallow: /travel/ Disallow: /viajar/ Disallow: /reisen/ Crawl-Dela
MJ12bot
,它是majestic.com上的一个,应该遵循说明
该文件如下所示:
User-agent: google
User-agent: googlebot
Disallow: /results/
Crawl-Delay: 30
User-agent: *
Disallow: /results/
Disallow: /travel/
Disallow: /viajar/
Disallow: /reisen/
Crawl-Delay: 30
我想告诉机器人们的是:
- 只有谷歌才能抓取任何包含
、/travel/
或/viajar/
的url/reisen/
- 他们都不应该访问任何包含
的url/results/
- 两次查询之间的时间间隔应至少为30秒
/travel/
、/viajar/
或/reisen/
的URL,此外,它不会在查询之间等待30秒
mydomain.com/robots.txt正在按预期显示该文件
文件有什么问题吗?您的robots.txt是正确的 例如,MJ12bot不应爬网
http://example.com/reisen/42/
,但它可能会爬行http://example.com/42/reisen/
<如果您检查主机是相同的(<代码> http://c> v>代码> http,<代码> www v.<代码> www ,同一域名),您可以考虑:
我们非常希望看到MJ12bot可能违反robots.txt的任何报告
如果您不想等待,您可以尝试直接针对MJ12bot时是否有效:
User-agent: MJ12bot
Disallow: /results/
Disallow: /travel/
Disallow: /viajar/
Disallow: /reisen/
Crawl-Delay: 20
(我将爬网延迟
更改为20,因为这是他们支持的最大值。但是指定更高的值应该没有问题,他们会将其取整。)
更新
为什么它们会爬行
http://example.com/42/reisen/
?这实际上可能是我的问题,因为url的格式是example.com/de/reisen/
或example.com/en/travel/
。。。那么我应该换成*/travel/
吗
Disallow
值始终是URL路径的值
如果要禁止对http://example.com/de/reisen/
,以下所有行都可以实现:
禁止:/
不允许:/d
不允许:/de
不允许:/de/
不允许:/de/r
等等
在最初的robots.txt规范中,*
在禁止
值中没有特殊意义,因此禁止:/*/travel/
将阻止http://example.com/*/旅行/
不过,有些机器人程序支持它()。关于MJ12bot的文档说明:
与Yahoo的通配符规范兼容的禁止指令中的简单模式匹配
我不知道他们提到的雅虎规范,但似乎他们也会支持它
但如果可能,当然最好依靠标准功能,例如:
User-agent: *
Disallow: /en/travel/
Disallow: /de/reisen/
为什么它们会爬行
http://example.com/42/reisen/
?这实际上可能是我的问题,因为url的格式是example.com/de/reisen/
或example.com/en/travel/
。。。那么我应该改成*/travel/
吗?我找到了更多信息。似乎正确的方法应该是/*/travel/
。我没弄错吧?如果是这样的话,你可以修改答案,我很乐意将其标记为接受。