如果我在 robots.txt 中选择的唯一禁止项是 iisbot,为什么 googlebot 会阻止我的所有网址?

Why is googlebot blocking all my urls if the only disallow I selected in robots.txt was for iisbot?

一年多来我一直有以下问题 robots.txt,似乎没有问题:

User-Agent: *

User-Agent: iisbot
Disallow: /



Sitemap: http://iprobesolutions.com/sitemap.xml

现在我从 robots.txt 测试仪

收到以下错误

如果我选择的唯一不允许的是 iisbot,为什么 googlebot 会阻止我的所有网址?

连续 User-Agent 行加在一起。所以 Disallow 将适用于 User-Agent: * 以及 User-Agent: iisbot.

Sitemap: http://iprobesolutions.com/sitemap.xml

User-Agent: iisbot
Disallow: /

你实际上不需要User-Agent: *

您的 robots.txt 无效(根据 original robots.txt specification)。

  • 您可以有多个记录。
  • 记录之间用空行分隔。
  • 每条记录必须至少有一个 User-agent 行和至少一个 Disallow 行。

规范未定义应如何处理无效记录。因此,用户代理可能会将您的 robots.txt 解释为有一条记录(忽略空行),或者他们可能会将第一条记录解释为允许所有内容(至少这是可能的假设)。

如果你想让所有机器人("iisbot"除外)抓取所有内容,你应该使用:

User-Agent: *
Disallow: 

User-Agent: iisbot
Disallow: /

或者,您可以省略第一条记录,因为默认情况下允许所有内容。但我更愿意在这里明确。