← 全部指南

自动检测访客位置:何时重定向,何时询问

地理位置与SEO:避免重定向带来的谷歌惩罚

如何尊重Googlebot的语言标头、避免重定向循环,并保持地区商店的可爬性。

Shopify店铺老板为国际客户实施了地理位置重定向。转化率在前两周上升了。然后自然流量开始下降。到第三个月,他们已经失去了23%的搜索可见性,完全不知道原因是什么。那些本来是为了帮助国际访客的重定向,却无声地阻止了谷歌爬行他们网站的一半。

这不是什么罕见的边界情况。这是国际电商中最常见的SEO错误之一,之所以会发生,是因为地理位置检测和搜索引擎爬行基于根本不同的假设。你的访客是有位置信息的人。Googlebot是一个没有位置的爬虫——如果你像对待访客一样对待它,你就会破坏自己的排名。

快速阅读
  • 谷歌明确警告不要根据感知到的用户位置自动重定向——这会阻止爬虫索引你网站的所有版本
  • Googlebot主要从美国IP地址爬行,不会像人类访客那样跟随地理重定向
  • Hreflang标签告诉谷歌你的地区页面存在,而不需要依赖重定向——这对任何多地区商店都是必不可少的
  • 地区版本之间的重定向循环是最快让页面从谷歌索引中被删除的方式
  • Shopify Markets会自动处理hreflang,但自定义JavaScript重定向可能会覆盖并破坏它

谷歌为什么惩罚地理重定向

谷歌的国际定位文档在这个话题上措辞异常直接:”避免基于用户感知语言的自动重定向。这些重定向可能会阻止用户(和搜索引擎)查看你网站的所有版本。”

原因是机制问题。Googlebot主要从美国的数据中心爬行。当你的地理位置系统检测到美国IP地址并重定向到你商店的/us/版本时,Googlebot只能看到美国版本。你的/uk/、/de/、/fr/和/au/版本从这个入口点永远不会被爬行。如果这些页面只能通过地理重定向访问,而不能通过内部链接或网站地图访问,谷歌可能根本无法发现它们。

结果是你的美国页面积累了所有排名信号——反向链接、参与度数据、爬行历史——而你的地区页面处于爬行真空中。当德国的某个人搜索你销售的产品时,谷歌可能会显示美国页面(如果它排名的话),或者什么都不显示(如果地区页面本应排名但从未被索引)。

这在技术上不是谷歌垃圾邮件团队手动操作意义上的”惩罚”。这更糟:这是一个索引失败,产生相同的症状——流量丧失、页面缺失、排名下降——但没有谷歌搜索控制台的任何通知。你不会收到警告。你的页面只是不会出现。

Googlebot如何处理语言和位置

理解Googlebot在遇到你的商店时实际做什么,可以清楚地说明为什么某些实现会失败。

Googlebot没有地理位置。它从基于美国的IP地址爬行,不会模拟身处不同国家的情况。当它请求一个页面时,它发送标准HTTP标头,包括一个通常设为en-USenAccept-Language标头。

Googlebot不会执行所有JavaScript。虽然谷歌的渲染引擎可以执行JavaScript,但它会按照延迟的时间表执行,可能不会像浏览器那样触发客户端重定向逻辑。基于JavaScript的地理位置重定向对人类访客可能会触发,但对Googlebot可能不会,造成人类看到一个版本而谷歌索引另一个版本的分裂。

Googlebot会跟随重定向,但不是无限的。如果你的地理位置逻辑创建了一个重定向链(首页重定向到/us/,/us/因为爬虫的Accept-Language标头说英语而重定向回首页),谷歌可能会放弃并完全将页面从索引中删除。重定向循环是国际网站中Google搜索控制台标记的最常见的技术SEO问题之一。

Googlebot使用hreflang标签发现地区版本。这是告诉谷歌关于你地区页面的预期机制。与其将爬虫重定向到正确的版本,你告诉谷歌存在替代版本并让它独立爬行每一个。

Hreflang:处理地区页面的正确方式

Hreflang标签是HTML注释,告诉搜索引擎”这个页面在其他语言或地区有替代版本”。它们放在每个页面的<head>中或在XML网站地图中。

你的美国商店上的产品页面会包含:

<link rel="alternate" hreflang="en-us" href="https://store.com/products/widget" />
<link rel="alternate" hreflang="en-gb" href="https://store.com/uk/products/widget" />
<link rel="alternate" hreflang="de" href="https://store.com/de/products/widget" />
<link rel="alternate" hreflang="x-default" href="https://store.com/products/widget" />

x-default标签告诉谷歌当没有具体的地区匹配时显示哪个版本。这通常是你的主要/默认商店。

Hreflang实现的是重定向无法实现的:

  • 谷歌独立爬行和索引每个地区版本
  • 每个版本积累自己的排名信号
  • 谷歌根据搜索者的位置和语言设置在搜索结果中提供适当的地区版本
  • 没有爬虫被阻止访问任何版本

Shopify Markets在你用子目录或子域名配置市场时会自动生成hreflang标签。这是使用Shopify本地国际化而不是构建自定义重定向逻辑的最强理由之一。hreflang实现是现成正确的,并在你添加产品或市场时自动更新。

关键警告:如果你在Shopify Markets之上分层自定义JavaScript重定向,重定向可能会在谷歌读取hreflang标签之前触发。爬虫在解析<head>之前被重定向离开页面,所以hreflang注释永远不会被处理。这是商店意外破坏原本正确的hreflang设置的最常见方式。

常见错误及修复方法

连同访客一起重定向爬虫

错误:你的地理位置逻辑不区分人类访客和搜索引擎爬虫。来自美国IP的每个请求都进入/us/,包括Googlebot。

修复:在应用地理重定向之前检查用户代理字符串。Googlebot在User-Agent标头中识别自己。如果请求来自已知爬虫,不重定向直接提供页面。这不是隐形展示——谷歌在其国际定位指南中明确推荐这样做。

在实践中,维护已知爬虫用户代理列表(Googlebot、Bingbot等),并对这些请求绕过地理位置逻辑。在Shopify上,这最容易在CDN/边缘层(Cloudflare Workers)而不是在Liquid或JavaScript中实现。

使用302重定向而非301

错误:你的地理重定向使用302(临时)状态代码,这告诉谷歌”这个重定向是临时的,继续索引原始URL”。谷歌可能索引两个版本,在它们之间分割排名信号。

修复:如果重定向是永久的(来自德国的访客应该总是看到/de/版本),使用301重定向。如果重定向是有条件的并且可能改变(访客可能切换地区),使用302但将其与适当的hreflang标签相结合,以便谷歌不会依赖重定向来发现。

在大多数情况下,地理重定向应该是302,因为它们取决于访客的位置,而不是永久的。但这意味着你绝对需要hreflang标签来处理索引方面。仅依赖302重定向让谷歌发现你的地区页面是行不通的。

地区页面上缺少hreflang

错误:你在主商店上实现了hreflang,但忘记在地区版本上添加相互的hreflang标签。Hreflang必须是双向的——如果页面A说”我的德文版本是页面B”,页面B也必须说”我的英文版本是页面A”。

修复:审计每个页面的每个地区版本,以确认双向hreflang。在Shopify Markets中这是自动的,但如果你使用自定义主题或无头设置,缺失的相互标签很常见。谷歌搜索控制台的国际定位报告会标记hreflang错误——每月检查一次。

在服务器端hreflang之前触发的JavaScript重定向

错误:你的主题或第三方应用包含一个检测位置并在页面完全呈现之前重定向访客的JavaScript代码片段。Googlebot可能会也可能不会执行这个JavaScript,造成谷歌索引和访客看到的内容之间的不一致。

修复:完全删除客户端地理重定向JavaScript。在服务器或边缘层处理地理位置检测(Cloudflare Workers、Shopify Markets或你的托管提供商的边缘函数)。服务器端检测在HTML被发送之前进行,所以无论请求来自爬虫还是访客,hreflang标签和页面内容都保持一致。

SEO健康检查打开谷歌搜索控制台,导航到国际定位报告,检查hreflang错误。然后搜索谷歌"site:yourstore.com",并将索引页面与你预期的地区结构进行比较。如果地区页面在索引中缺失,你的地理位置设置可能干扰了爬行。

保持地区商店的可爬性

除了hreflang和重定向处理外,一些结构性做法可确保谷歌能够发现和索引你的所有地区内容。

跨地区的内部链接。你的主导航、页脚或网站地图页面应该链接到你商店的所有地区版本。这些链接为Googlebot提供了直接通往地区内容的路径,而无需依赖地理检测。

每个地区的XML网站地图。在谷歌搜索控制台中为每个地区商店提交单独的网站地图。每个网站地图应该列出该地区的所有页面并包含hreflang注释。Shopify会自动生成网站地图,但要验证所有市场都被代表。

规范标签。每个地区页面应该有一个指向自身的自引用规范标签,而不是指向”主要”版本。一个常见的错误是将每个地区页面的规范设置为美国版本,这告诉谷歌完全忽视地区页面。

地理位置和SEO之间的相互作用归结为一个简单的原则:通过元数据和链接帮助谷歌发现你的地区页面,而不是通过重定向。重定向是为了人类。元数据是为了爬虫。当你使用Navi+或类似工具来构建包含地区切换的导航时,这些菜单生成的内部链接也充当爬行路径——国际SEO中导航层很重要的另一个原因,超越了仅仅的访客体验。

本文是更大指南的一部分:自动检测访客位置:何时重定向,何时询问

分享 Facebook X

开始使用 Navi+ AI Menu Builder

选择您的平台 — 免费安装,几分钟内上线。