这就是我现在正在使用的:
User-agent: *
Allow: /
Allow: /video/funny-dogs/index.html
Allow: /video/funny-cats/index.html
Allow: /video/funny-dolphins/index.html
Disallow: /video/
但似乎所有其他“/video/”网址也在被抓取。
那有什么问题?
这就是我现在正在使用的:
User-agent: *
Allow: /
Allow: /video/funny-dogs/index.html
Allow: /video/funny-cats/index.html
Allow: /video/funny-dolphins/index.html
Disallow: /video/
但似乎所有其他“/video/”网址也在被抓取。
那有什么问题?
您的 robots.txt 文件绝对应该适用于 Google,而且我相信它适用于 Bing。但是,对于许多其他机器人,它可能不起作用,因为并非所有机器人都以相同的方式优先考虑竞争允许和禁止。此外,一些机器人根本不支持允许。
对于 Google/Bing 以外的机器人,您可以通过删除“允许:/”行来增加成功的机会。许多较旧的机器人会查找可应用于当前 URL 的第一个指令,然后停止查找。对于这些机器人,将始终应用允许,而始终忽略其他指令。删除“允许:/”应该可以解决这个问题。
如果 Google 或 Bing 不遵守您的 robots.txt 文件,则可能有问题。您可能会检查以下内容:
最初的 robots.txt 规范说机器人应该读取 robots.txt 并采用第一个适用的规则。添加时Allow
,并没有改变,许多机器人仍然使用该规则。其他机器人使用最宽松的规则。
在第一种情况下,Allow: /
在文件的第一行会导致机器人认为它可以爬行。在第二种情况下,文件中Allow: /
任何位置的存在都会导致机器人假设它可以抓取任何东西。
从来没有充分的理由包括Allow: /
. robots.txt 中的假设是,如果没有明确禁止文件,则允许抓取。Allow
旨在成为Disallow
.
删除Allow: /
. 事情应该会奏效。