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重定向到你的 主页。
干杯
约翰
答案 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扫描仪会走得那么远,这基本上就像试图运行它一样。