我们可以在robots.txt中指示机器人是否应该爬行我们的网站。另一方面,我们可以通过谷歌网站管理员控制爬行速度(即Google bot爬行网站的程度)。我想知道是否可以通过robots.txt限制机器人的爬行活动。我的意思是允许机器人爬行页面,但通过时间、页面或大小来限制它们的存在!
在robots.txt文件中,有一个指令可以使用,它的名字叫做"Crawl-delay"。
Crawl-delay: 5
这意味着机器人应该每5秒钟爬取不超过一张网页。 但是据我所知,这个指令并没有得到官方支持。
此外,有些机器人根本不考虑robots.txt文件。 因此,即使您禁止访问某些页面,某些机器人仍然可能会爬取它们,当然不包括像Google这样的大型机器人。
例如,百度可能会忽略robots.txt,但这并不确定。
我没有官方来源来证实这些信息,您可以通过谷歌搜索。
当前,如果有设置来减少爬行速度、网站停留时间等,则会基于机器人而不是标准化为robots.txt值。
我知道这是一个非常老的问题,但我想补充一下,根据Google文档,这是官方答案:
通常情况下,您可以在Google站长工具帐户中调整爬行速率设置。
参考:https://developers.google.com/webmasters/control-crawl-index/docs/faq#h04
从站长工具内部,您可以按照以下步骤操作:
在搜索控制台主页上,单击要选择的网站。
单击齿轮图标,然后单击“网站设置”。
在“爬行速率”部分,选择所需选项,然后根据需要限制爬行速率。
新的爬行速率将在90天内有效。
参考:Google支持问题
不可以。 robots.txt
文件只能指定您不希望被索引的页面以及这些规则适用于哪些用户代理。您不能对该文件执行其他任何操作。
有些网站使用 Allow
和 Sitemap
指令,但根据官方网站,它们似乎不是有效的指令。即使一些爬虫程序可能会尊重它们。
Crawl-delay
;Google的网络爬虫非常出色(真的,它就是那么好),可以自动确定最佳的爬行速率,因此在他们的情况下不需要这个设置。例如,Bing将在没有这个指令的情况下每月访问小型网站数百万次。我们在客户身上已经看到了很多次。 - Jeff Atwood