Hreflang 标签和 ?change_lang for Google

Hreflang tag and ?change_lang for Google

我有一个使用三种语言的大型网站,在所有页面中我都有 Hreflang 标签,但是 google 使用链接 www.site.[=17 通过语言切换器为网站编制索引=]?change_lang=1&lang=zh。此结果也显示在 Google 搜索中,而且 SEO 工具建议将那些 URL 重定向更改为 301 重定向。 如果我将所有“?change_lang”参数设置为 "No-follow",google 会通过 Hreflang 标签对页面进行索引吗?或者最好设置为 301 重定向?

你的情况不一定要使用301重定向。只需通知 Google 不索引具有特定参数的 URL 即可。

可以通过Google Search Console → Crawl → URL参数设置,例如:Adding parameter in Google search Console.

或者您可以使用必要的参数将 <META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW"> 标记添加到每个页面。

如果 www.site.com/about?change_lang=1&lang=en 的漂亮 URL 是 www.site.com/en/about,并且您希望 Google 索引漂亮的 URL,则使用 301 重定向。

如果 Google 选择索引丑陋的 URL 而不是漂亮的,这意味着你有一个重复的内容问题(相同的内容在 2 URL 上 -- 1 漂亮 1 丑)。它还表明您可能正在使用丑陋的 URLs 进行内部链接。如果不是通过爬行,Google 还能在哪里找到这些 URL?

如果您希望 Google 仅使用漂亮的 URLs,请执行以下操作:

  1. 将丑陋的 URL 重定向到漂亮的 URL。
  2. 所有内部链接只使用漂亮的 URL。
  3. 规范标签和 hreflang 标签只使用漂亮的 URLs。