jQuery在/ a目录中的Webmaster Tools中导致404错误

时间:2011-04-21 20:17:16

标签: jquery html http-status-code-404 googlebot google-webmaster-tools

Googlebot似乎在我的jQuery中爬行,并创建以/ a结尾的链接,然后将其报告为404错误。

http://www.mySite.com/a

该网站在W3C验证绿色。

“/ a”来自jQuery本身。 编辑:以下是jQuery v1.5和1.5.2中的一行代码(我看到的只有两个)

<a href='/a' style='color:red;float:left;opacity:.55;'>a</a>

现在,我在htaccess中将其重定向到它失控之前......

Redirect 301   /a   http://www.mysite.com

有谁知道Googlebot为什么/如何进入jQuery?


修改

我已经使用robots.txt文件阻止了jQuery文件,但我真的不希望Googlebot进入外部JavaScript文件。


编辑2:

以下是Google员工JohnMu在the thread I started at Google Groups中对此问题的回复。看起来我毕竟要做301了。

  

JohnMu

     

Google员工

     

凌晨4:39

     

大家好

     

这是一个简短的说明 - 是的,我们   正在为许多人提供“/ a”链接   来自jQuery JavaScript的网站。然而,   如果我们这通常不是问题   将“/ a”视为404,那就是   对我们来说很好。与其他404-URL一样,   我们将其列为抓取错误   网站管理员工具,但同样,不是   会成为爬行的问题,   索引或排名。如果你想   确保它不会触发   网站管理员工具中的抓取错误,然后是我   会推荐301重定向   该主页的URL(不允许   该URL也会将其作为一个   抓取错误 - 它将被列为   robots.txt禁止访问的网址)。

     

我也建议不要明确   不允许抓取jQuery   文件。虽然我们一般不会   我们可能需要自己索引它   访问它以产生良好的即时   您网站的预览。

     

总而言之:如果你看到“/ a”   在网站管理员中的抓取错误   工具,你可以留下它   那,它不会造成任何问题。如果   你希望把它移到那里,你   可以做301重定向到你的   主页。

     

干杯

     

约翰

1 个答案:

答案 0 :(得分:2)

看起来jQuery使用它作为测试模板来确定浏览器对功能的支持。我不知道为什么谷歌机器人会看到这种情况。我不知道网络抓取工具通常运行任何Javascript。这意味着他们实际上是作为一个网络浏览器(我想知道哪个?)。似乎不太可能。

(编辑 - 请参阅:how do web crawlers handle javascript - 表示谷歌可能会尝试从脚本中提取一些东西。很惊讶它不会编程识别jQuery的一部分,你是否使用非标准名称?)

或者,你的jQuery包含的标题是否有可能不正确?也许它是以HTML mime类型提供的,大多数浏览器可能不会关心它,因为它们的类型也是由script include设置的,但也许机器人会决定解析。

无论如何不是设置重定向,为什么不使用robots.txt?添加以下行:

Disallow: /a

您也可以尝试修复jQuery。稍微混淆链接可能会成功,例如改变违规行:

  div.innerHTML = "   <link/><table></table><"+"a hr"+"ef='/a'"
  +" style='color:red;float:left;opacity:.55;'>a</a><input type='checkbox'/>";

如果谷歌足够智能实际解析字符串连接,这会让我感到震惊,你可以更进一步,将“href”之类的内容分配给变量,然后与之连接。我无法相信他们的js扫描仪会走得那么远,这基本上就像试图运行它一样。