【问题标题】:jQuery causing 404 errors in Webmaster Tools on /a directoryjQuery 在 /a 目录上的网站管理员工具中导致 404 错误
【发布时间】:2011-08-10 14:21:23
【问题描述】:

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吧。

约翰穆

谷歌员工

凌晨 4 点 39 分

大家好

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

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

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

干杯

约翰

【问题讨论】:

  • 这看起来不像 jQuery,看起来像一个 html 锚。
  • 您是在创建该链接还是 jQuery?这里有些不对劲。
  • @Cory,据报道,这是 jQuery 文件本身中的代码。只需打开“jquery-1.5.min.js”并搜索该行......它就在那里。
  • @Alex - 在“jquery-1.5.min.js”文件中找到。

标签: jquery html http-status-code-404 googlebot google-search-console


【解决方案1】:

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

(编辑 - 看到这个:how do web crawlers handle javascript - 表示谷歌可能会尝试从脚本中提取一些东西。很惊讶它不会被编程来识别作为 jQuery 一部分的东西,你使用非标准名称来包含吗?)

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

无论如何,与其设置重定向,不如直接使用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 扫描器会走那么远,这基本上就像尝试运行它一样。

【讨论】:

  • 是的...将其添加到 robots.txt 文件似乎比 301 更好。在这个问题上我并不孤单。 StackOverflow 上还有其他一些人报告了这个“/a”问题,还有一些人在 Google 论坛中抱怨 googlebot 进入了 JavaScript。
  • 不,我没有重命名 jQuery 文件。我自己托管,不使用 CDN。
  • 用一个想法更新了帖子...我现在没有时间玩这个,但似乎很容易解决这个问题。这里有一个问题报告:bugs.jquery.com/ticket/7659 但似乎没有人对处理它感兴趣......
  • 一切都通过了 W3C 验证,这是我的包含... 跨度>
  • 是的,我确定现在不是你,我只是想确定一下。
猜你喜欢
  • 2011-07-21
  • 2016-09-18
  • 2011-06-26
  • 2013-11-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-01-18
相关资源
最近更新 更多