【问题标题】:Google couldn't follow your URL because it redirected too many timesGoogle 无法关注您的网址,因为它重定向的次数过多
【发布时间】:2012-04-18 12:52:05
【问题描述】:

我在一个网站上修复 url,其中一个问题是 url 包含的字符有时是大写的,有时是小写的,服务器不关心它,但谷歌做了,并且索引页面重复。 此外,一些 url 包含根本不允许出现在 URL 的那部分的字符,例如逗号“,”和括号“()”,尽管 [圆括号在技术上不是保留][1] 我仍然决定通过编码来摆脱它们。

我添加了一个检查,检查 url 是否有效,如果不是,将执行 301 重定向到正确的 url。

例如 http://www.example.com/articles/SomeGreatArticle(2012).html 会做一个 301 重定向到 http://www.example.com/articles/somegreatarticle%282012%29.html

它有效,并且它会重定向到正确的网址。

但是对于一小部分页面(这可能是谷歌迄今为止唯一索引的页面)谷歌网站管理员工具开始在“抓取错误”>“未关注”选项卡下给我以下错误:

Google 无法关注您的网址,因为它重定向了太多 次。

用引号搜索此错误会给我 0 个结果,而且我确信我不是唯一遇到此错误的人,所以我想了解更多有关它的信息,例如:

  1. 在 google 认为它太多之前,单个页面可以进行多少次重定向?
  2. 出现此类错误的其他可能原因是什么?

【问题讨论】:

标签: redirect http-status-code-301 google-search-console


【解决方案1】:

解决方案

根据这个实验http://www.monperrus.net/martin/google+url+encoding

Google 有自己的字符编码规则,其中 google 将始终对某些字符进行编码并始终对其他字符进行解码。

以下字符永远不会被编码

-,.@~_*)!$'(

所以即使你给谷歌这个网址

http://www.example.com/articles/somegreatarticle%282012%29.html 

在圆括号 () 被编码的地方,谷歌将转换这个 URL,解码括号并跟随这个 URL:

http://www.example.com/articles/somegreatarticle(2012).html

我的情况发生了什么:

http://www.example.com/articles/somegreatarticle(2012).html

我的服务器会做一个 301 重定向到

http://www.example.com/articles/somegreatarticle%282012%29.html 

而 Googlebot 会忽略编码的括号并遵循:

http://www.example.com/articles/somegreatarticle(2012).html

重定向到

http://www.example.com/articles/somegreatarticle%282012%29.html

关注

http://www.example.com/articles/somegreatarticle(2012).html

重定向到

http://www.example.com/articles/somegreatarticle%282012%29.html

尝试几次后放弃并显示“Google 无法跟踪您的网址,因为它重定向了太多次”错误。

【讨论】:

    【解决方案2】:

    我不了解 Google 网站管理员工具,但我在 PHP 中看到了类似的错误,当存在无限循环的重定向时。确保没有任何页面重定向到自身。

    【讨论】:

    • 在浏览器中打开页面工作正常,我不知道谷歌是如何设法获得无限循环的。
    【解决方案3】:

    好吧,首先我会从网址中删除 () 和 , 符号,事实上 googlebot 很难使用这些符号。而且他们也没有为 SEO 目的带来任何好处。 客户端的可读性不是问题,所以如果我只使用 - 或 _ 破折号。 尽量不要在文件/文件夹名称中使用任何其他字符。

    你也应该清理你的html,有很多错误和问题需要解决。

    对于谷歌、浏览器和您的访问者来说,更干净的来源会更好。

    我找不到任何 Google 会遇到的明确问题。

    【讨论】:

    • 清理整个网站是一项艰巨的工作,所以我一步一步地做,我现在正在删除括号。我想知道为什么谷歌在重定向方面遇到了麻烦。
    • 您的 .htaccess 中是否有任何特殊设置,例如 301 重定向?
    • 它不是 apache 服务器,它使用 nginx,这是一个好问题,我明天检查。虽然我怀疑有什么专门针对搜索引擎的。另外,我不会在普通浏览器中看到重定向吗?
    • 如果它是 .htaccess 重定向或类似的,则不会。服务器会捕获 url 并将您发送到正确的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-08-08
    • 2016-10-15
    • 2021-09-24
    • 1970-01-01
    • 1970-01-01
    • 2017-09-12
    • 2016-11-21
    相关资源
    最近更新 更多