跳至正文
WordPress 与 WooCommerce · Google SEO

WooCommerce 多语言商店怎么处理 URL

// / / 光算科技

多语言商店的 URL 处理,官方给的判断标准只有一句:读者能不能通过一个 URL 到达自己语言的那个版本。只要这一点做不到,其他做得再细也没用。至于"一个商店同时有几种语言、几种货币、几个国家",官方是分开规定的,混在一起处理最容易出错——下面按这三层分开说。

判断点示意:同一商品在各语言与各币种下是否各有独立地址,以及是否互相回指
原创示意:图中为多语言与多币种地址的对应关系示意,不是真实后台截图或数据。

多币种不是多语言,官方给了不同规则

这一条最容易被漏掉。Google 的商家商品列表指南的技术条款写明:当同一商品以多种货币销售时,每个货币要有一个独立的 URL,官方举的例子是加元与美元分别对应两个地址,而不是在同一个地址上靠参数切换价格。因此一个"英语 + 美元"的商店和一个"英语 + 英镑"的商店,在官方口径下是两个不同的 URL 家族,不合并。定价类字段要求价格大于零、货币代码要与报价一致,也是同一层规则的一部分。

怎么定:指定语言版本的三种方式,选一种就够

Google 关于如何告知语言版本的那篇说明给了三种等价方式:在页面 <head> 里加 <link rel="alternate" hreflang>、在 HTTP 响应头里返回 Link: 头、或者在站点地图里用 xhtml:link 列出全部变体。官方明确写着:这三种方式从 Google 的角度看是等价的,选最方便的一种即可;三种同时使用在搜索上没有额外好处,反而更难维护。

对 WordPress 站来说,还有一个必须知道的判据:同一页面的多语言版本,只有在页面主要内容没有被真正翻译时,才会被当成重复内容。换句话说,"只翻译了导航和页脚、正文还是原文"的页面,在官方眼里就是重复;把正文真翻出来,才算独立的语言版本。这条决定了翻译投入该花在哪里。

hreflang 的硬性规则

同一篇文档把要求列得比较死,逐条都容易踩:

  • 每个语言版本都要列出自己和所有其他版本,包括它自己;地址必须是完整的绝对地址,包含协议,不接受 //example.com/foo 或 /foo 这种写法。
  • 必须双向互指。如果 A 指向 B 而 B 没有指回 A,这些标注会被忽略。
  • 语言代码要用 ISO 639-1,地区代码要用 ISO 3166-1 Alpha 2,且不能只写地区。官方特别说明只给国家代码是无效的——第一个代码位置代表语言,Google 不会从国家代码反推语言。同时列出了像 es-419 这样不在标准内的代码不受支持。
  • 给不匹配的语言准备一个兜底页面,用 x-default 标注;官方说这个值是专门为语言选择页设计的,在这类页面上效果最好。
  • 不要把 hreflang 和其他属性(比如 media)合并进同一个 <link> 标签。

与规范地址的关系要一起看。Google 关于规范 URL 的说明里有两条对应说明:使用 hreflang 时,要为同一语言指定一个规范页面,该语言没有规范页面时选最接近的替代语言;另一条讲的是规范化时 Google 偏好落在 hreflang 簇里的地址——三个语言版本互相回指、某个版本不在这组标注里,那么不在这组里的那个地址就不会被当作规范地址。

这套地址方案不适用的两种情况

下面几种情况要另作决定,不要套用上面那套:

  1. 只有一种语言、但有多个国家或币种。这时不需要 hreflang,需要的是每个币种各自一个 URL,加上按地区区分的结构化数据里的配送信息。
  2. 用浏览器语言自动跳转的入口页。官方建议在这种页面上加 x-default,并让用户有办法留在某一语言上;把读者直接按 IP 或语言弹走,页面上就少了可供收录的稳定地址。
  3. 语言选择器页面本身。它是 x-default 的推荐落点,而不是一个需要被翻译的普通页面。
  4. 旧语言域要合并进主站。那是站点迁移与旧链接处理的问题,与本文的版本标注不是一回事。

语言版本之间的外链怎么互相带、跨语言分配时怎么衡量,站内多语言内容之间怎么互相带来链接与多语言站点的外链该怎么在不同语言间分配两篇已经拆过;换域名带来的旧地址问题是另一篇:更换域名后旧外链怎么处理。

怎么验证语言版本被正确理解

这一类的验证比前面几篇更机械,靠的是把官方那几条硬规则逐条对一遍:

验证动作通过标准不通过时先查
打开任一语言版本的页面,看 <head> 里的标注列出了全部语言版本,包含自己主题或插件是否只输出了部分语言
随机挑两个语言版本互查两边互相都指得到单向标注会让整组被忽略
检查地址写法全部是含协议的完整地址相对路径或缺协议的地址
检查语言代码首段是语言代码,次段是地区代码把国家代码写在了第一段
检查各币种下的商品地址每个币种一个独立 URL多个币种共用一个地址只切价格
检查每种语言的规范地址指向同语言的那个版本所有语言都指向了同一种语言的页面
看有没有 x-default语言选择页或入口页上有没有兜底页的自动跳转入口

验证完形态之后再看工具:Search Console 里按国家或地区维度看这些地址的曝光,能看出 Google 是不是把不同语言版本分发给了对应地区的读者。但判断标准要留在形态上——官方从未公布语言版本的权重、也没有公布"标注正确就一定被收录"这类说法;把上述七条全部满足,就已经是官方文档能支持的最好状态了,剩下的交给内容质量与外链,站内 SEO 服务说明里有整体思路。