为什么Google Bot抓取不存在的CSS文件?

Hun*_*Luu 5 googlebot ruby-on-rails web-crawler asset-pipeline

Google Bot Crawler一直在尝试抓取生产中我网站上不存在的CSS文件.

它要求:

http://www.mywebsite.com/assets/index-d45678283d4ab9905c3538184826e599.css
Run Code Online (Sandbox Code Playgroud)

生产中不存在这个确切的文件名(生产中的文件名略有不同).

但是,它请求的CSS文件确实存在于开发中:

http://localhost:3000/assets/index-d45678283d4ab9905c3538184826e599.css
Run Code Online (Sandbox Code Playgroud)

我不确定为什么要求这个文件.

在部署到生产之前,我使用Capistrano(加载"deploy/assets")来预编译我的资产.

现在,我只是在robots.txt中阻止此文件,但它在每次部署后请求的css文件都会更改.

为什么GoogleBot要抓取生产网站中不存在的此文件?我怎么阻止它?

Chr*_*art 3

GoogleBot 可能看到以下两件事之一:

  • 它会在您网站上的某处看到该文件被错误引用 - IE 旧代码构建。我会在您的实时网站(捆绑)中搜索该文件。
  • 它会记住先前版本中的该文件,并尝试检查它是否有更新。

令我困惑的是,在你的服务器发出 404 响应后,它不会忽略它,然而,谷歌软件的内部运作是一个黑匣子;没有真正的方法可以解释它为什么这样做。

也就是说,他们提供了网站管理员工具面板,允许您对其索引等进行一些自定义。