【问题标题】:404 errors on /a folders in Webmaster Tools网站管理员工具中的 /a 文件夹出现 404 错误
【发布时间】:2011-07-21 22:13:41
【问题描述】:

在 Google 网站管理员工具中,在抓取错误下,我的第一个 404 错误称为

www.domain.com/a 

我的网站中没有这样的东西,也没有指向它的链接。什么是错的,是什么意思?在站点日志中,没有关于指向 /a 的 404 错误的错误。 W3C 检查器说没有错误。我能做什么?

【问题讨论】:

  • 我遇到了完全相同的问题。似乎没什么好担心的,除非有人有其他信息。
  • 我现在也有几个站点存在这个问题。希望我知道 Google 是从哪里获得这条路径的……
  • 我在这里开了一个帖子:google.com/support/forum/p/Webmasters/…
  • Google 的官方回复已添加到我下面的答案中。

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


【解决方案1】:

不是你,它必须是 Googlebot。 (这与php无关;也许有人可以删除php标签。

我的 Google 网站管理员工具中有八个网站,两个完全不相关的网站显示相同的内容。显示此问题的网站均未使用 PHP。

我唯一能想到的是,Google 的机器人错误地解析了 HTML,并以某种方式将结束的“a”标签附加到了根 URL 上。听起来很愚蠢,但它是唯一可以解释此问题的多个不相关实例的唯一方法。

有没有人在 Google 论坛上发起过这个话题?

我不确定这会对根本问题产生什么影响,但我将它放在我的 htaccess 文件中,希望能清除错误的 404 错误。 (编辑:这是 Google 推荐的解决方案。

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

编辑:

向 Google 帮助论坛报告:

http://www.google.com/support/forum


编辑 2:

两个网站都在 W3C 上进行验证,并且都不使用 PHP。


编辑 3:

“/a”来自 jQuery v1.5.2。这是根本原因。

在 jQuery 内部就是这一行...

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

编辑 4:

用 robots.txt 文件阻止它。 (根据 Google 的说法,这只会将网站管理员工具抓取错误从“404”更改为“被 robots.txt 阻止”

Disallow:  /a/
Disallow:  /a

编辑 5:

以下是 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!我的天啊!为搜索除*.js 之外的所有文件感到羞耻。 谢谢!
  • @eisberg:不要自责...我从没想到 googlebot 会爬过任何 JS,更不用说属于他们自己的库 API 和 CDN 的一部分了。 Google 论坛中的某个人为我指明了正确的方向。
【解决方案2】:

检查您的 Apache 错误日志。或者安装一个保存$_SERVER["HTTP_REFERER"]的小PHP文件,例如:

<?php

$f = fopen("logfile.txt", "a");
fwrite ($_SERVER["HTTP_REFERER"] . "\n");
fclose ($f);

然后创建一个 .htaccess 文件来重定向对 /a 的调用到这个 PHP:

Options FollowSymLinks
RewriteEngine On
RewriteRule ^a$ somthing.php

或者,您可以将 PHP 保存在名称 /a/index.php 上,这样您就不需要重定向。

【讨论】:

  • 我已经尝试过这样的事情,但它根本没有帮助。访问此站点时,Google 不会发送任何 HTTP_REFERER。
  • @eisberg 还有其他可能性。它可以是 API 的一部分,例如 robots.txt。 - 所以谷歌可能会检查某个 API 的存在。虽然/a 似乎太笼统了。
【解决方案3】:

从您的网站管理员工具帐户执行 301 重定向或以其他方式执行 URL 删除请求。

GWT--> 站点配置--> 爬取访问--> URL 删除请求

【讨论】:

    猜你喜欢
    • 2016-09-18
    • 2014-03-25
    • 2011-08-10
    • 2011-06-26
    • 2013-11-16
    • 1970-01-01
    • 1970-01-01
    • 2013-02-26
    • 1970-01-01
    相关资源
    最近更新 更多