【问题标题】:Bots not following robots.txt file机器人不跟随 robots.txt 文件
【发布时间】:2018-07-09 10:02:37
【问题描述】:

似乎有些机器人没有遵循我的 robots.txt 文件,包括来自 majestic.com 的 MJ12bot,应该遵循说明。

文件如下所示:

User-agent: google
User-agent: googlebot
Disallow: /results/
Crawl-Delay: 30

User-agent: *
Disallow: /results/
Disallow: /travel/
Disallow: /viajar/
Disallow: /reisen/
Crawl-Delay: 30

我想告诉机器人的是:

  • 只有 google 可以抓取任何包含 /travel//viajar//reisen/ 的网址。
  • 他们都不应该访问任何包含/results/的网址。
  • 2 次查询之间的时间跨度应至少为 30 秒。

但是,无论如何,MJ12bot 正在抓取包含/travel//viajar//reisen/ 的网址,此外,它不会在两次查询之间等待 30 秒。

mydomain.com/robots.txt 正在按预期显示文件。

文件有什么问题吗?

【问题讨论】:

    标签: bots robots.txt


    【解决方案1】:

    您的 robots.txt 是正确的。

    例如,MJ12bot 不应该爬取http://example.com/reisen/42/,但它可能会爬取http://example.com/42/reisen/

    如果您检查主机是否相同(httpshttpwww 与否www,相同的域名),您可以考虑sending Majestic a message

    我们渴望看到任何关于 MJ12bot 可能违反 robots.txt 的报告。

    如果你不想等待,你可以尝试直接针对 MJ12bot 时是否有效:

    User-agent: MJ12bot
    Disallow: /results/
    Disallow: /travel/
    Disallow: /viajar/
    Disallow: /reisen/
    Crawl-Delay: 20
    

    (我将 Crawl-Delay 更改为 20,因为这是他们支持的最大值。但是指定更高的值应该没问题,他们将其四舍五入。)

    更新

    他们为什么会抓取http://example.com/42/reisen/?这实际上可能是我的问题,因为 URL 的格式为 example.com/de/reisen/example.com/en/travel/... 那么我应该更改为 */travel/ 吗?

    Disallow 值始终是 URL 路径的 the beginning

    如果您想禁止抓取http://example.com/de/reisen/,以下所有行都可以实现:

    Disallow: /
    
    Disallow: /d
    
    Disallow: /de
    
    Disallow: /de/
    
    Disallow: /de/r
    

    等等

    在原始 robots.txt 规范中,*Disallow 值中没有特殊含义,因此Disallow: /*/travel/literally 阻止http://example.com/*/travel/

    不过,有些机器人支持它 (including Googlebot)。关于 MJ12bot 的文档说:

    与雅虎通配符规范兼容的 Disallow 指令中的简单模式匹配

    我不知道他们提到的 Yahoo 规范,但他们似乎也支持它。

    但如果可能的话,当然最好还是依赖标准功能,例如:

    User-agent: *
    Disallow: /en/travel/
    Disallow: /de/reisen/
    

    【讨论】:

    • 他们为什么会抓取http://example.com/42/reisen/?这实际上可能是我的问题,因为网址的格式为 example.com/de/reisen/example.com/en/travel/... 那么我应该更改为 */travel/ 吗?
    • 我找到了更多信息here。似乎正确的方法是/*/travel/。我得到正确了吗?如果是这样,您可以调整答案,我很乐意将其标记为已接受。
    猜你喜欢
    • 2022-06-15
    • 2014-12-11
    • 2012-08-20
    • 1970-01-01
    • 1970-01-01
    • 2012-07-03
    • 1970-01-01
    • 2021-04-26
    • 1970-01-01
    相关资源
    最近更新 更多