不完整robots.txt,会发生什么?

Incomplete robots.txt, what happens?

我在网站上有一个页面,无法访问除我的页面以外的任何内容。该网站用于销售各种小产品。 在与他们合作一年多并使用 google 广告词来帮助宣传自己之后,我注意到 none 的产品页面已在 google 上编入索引。当我注意到该站点的 robots.txt 内容不多时,我想知道这是否与此有关。

产品网址遵循以下格式:

www.example.com/myshopname/[product ID]?q=I[product ID]

而 robots.txt 就是:

Disallow: /*_escaped_fragment_

没有用户代理。我想知道这是否会对 Google 抓取我的页面有任何影响,或者它是否会因为未指定用户代理而简单地忽略 robots.txt。

我会在这里给你更多信息:

robots.txt 文件是您网络服务器上的一个简单文本文件,它告诉网络爬虫他们是否可以访问文件。 您始终可以访问此文件,因为它不是您的服务器系统文件的一部分,而是您站点的一部分。

在你的情况下,我不知道这个 /*_escaped_fragment_ 是什么意思,但是 :

User-agent: *
Disallow: /

将阻止对所有爬虫的访问

同时:

User-agent: *
Disallow:

允许完全访问您的网站。

User-agent: *
Disallow: /images/

将阻止对指定文件夹的访问

User-agent: *
Disallow: /images
Allow: /images/my_photo.jpg

即使您禁止某个文件夹,您始终可以授予对该文件夹中指定文件的访问权限。

User-agent: *
Disallow: /assets.html

将阻止对指定文件的访问

因此 star 表示所有爬虫,如果您想将指令应用于指定的爬虫,您需要执行以下操作:

User-agent: Googlebot

如果您对 googlebot 特别感兴趣,并且想查看您的 robot.txt 是否阻止了您网站上的文件或文件夹,只需访问 https://developers.google.com/ 即可查看您是否阻止了页面资源.

还有必要说的是,虽然 robot.txt 可以成为您的 SEO 的有用工具,但所应用的指令将受到所有常规抓取工具的尊重。

恶意爬虫不关心这些指令。

这个robots.txt是无效的(根据original specification),因为每条记录至少需要一个User-agent和至少一个Disallow行。

规范并没有说消费者应该(尝试)解释无效记录。

所以,推测:

  • 严格消费者会忽略这条无效记录。对于这些消费者来说,你的robots.txt就相当于一个不存在的robots.txt,相当于这个:

    User-agent: *
    Disallow: 
    

    (即允许一切)

  • 有礼貌的消费者可能会认为作者打算为该记录设置 User-agent: *。对于这些消费者,您的 robots.txt 将等同于此:

    User-agent: *
    Disallow: /*_escaped_fragment_
    

在任何情况下,您的 robots.txt 将(很可能)阻止任何消费者抓取路径以 /myshopname/ 开头的 URL(除非 URL 包含 _escaped_fragment_,在这种情况下,一些消费者可能会停止抓取它,即那些将 * 作为通配符的消费者;顺便说一下,这不是原始规范的一部分。