外贸官网的多语言结构怎么设,hreflang 别配错

多语言站的技术结构,说复杂很复杂,说简单也就三条原则:每种语言一个独立 URL、每个 URL 一个固定版本、版本之间的对应关系明确写出来。违背这三条,后面全是坑。

URL 结构怎么选

三种常见做法,各有取舍:

方式 示例 适合 问题
子目录 example.com/en/ 同一个团队维护,站点规模中等 主域权重共享,但也互相牵连
子域名 en.example.com 各语言市场差异大,独立运营 需要单独做权重积累,配置成本高
独立域名 example.co.uk 目标市场有本地化品牌需求 成本最高,每个域名都要单独维护

大多数外贸企业用子目录就够:`example.com/` 中文,`example.com/en/` 英文。简单、好维护、权重共享。

hreflang 怎么写

hreflang 的作用是告诉搜索引擎:这几个 URL 是同一内容的不同语言版本,别当成重复内容;同时告诉它哪个版本给哪个地区的用户。

写法有三种位置:HTML head 里的 link 标签、HTTP 响应头、XML sitemap。任选一种,不要混用多种造成冲突。中小企业站推荐用 HTML head,最直观。

基本格式:

<link rel="alternate" hreflang="zh-CN" href="https://example.com/" />
<link rel="alternate" hreflang="en" href="https://example.com/en/" />
<link rel="alternate" hreflang="x-default" href="https://example.com/en/" />

要点:

  • 必须双向互指。A 页面写了指向 B,B 页面也必须写指向 A。单向标注不生效。
  • 每个语言版本里都要包含全部的 hreflang 列表,包括指向自己的那条。
  • x-default 指向默认版本,通常是英文版或语言选择页。
  • href 必须是绝对 URL,且能被正常访问。
  • 语言代码要规范:`en` 表示英语,`en-US` 表示美式英语,`zh-CN` 表示简体中文。别写 `cn` 或 `zh_CN`。

最容易出错的五件事

一、版本之间内容完全不同

英文版只有 5 个页面,中文版有 50 个。这种情况下不该对所有页面标 hreflang,只标真实存在对应关系的那些。硬凑出来的对应关系会让搜索引擎困惑。

二、用自动跳转代替版本选择

按 IP 或浏览器语言自动跳转,看起来贴心,实际上会造成两个问题:抓取工具可能只抓到跳转后的版本,永远看不到另一个;用户想切回另一个版本却找不到入口。

正确做法:语言切换是显式链接,不自动跳。

三、URL 带参数做语言区分

`example.com/?lang=en` 这种写法,参数容易被忽略,也容易产生重复内容。用路径,不用参数。

四、hreflang 指向 301 或 404

改版后 URL 变了,hreflang 没同步更新。指向跳转页或失效页的 hreflang 会被忽略。

五、语言和地区混用

`en-GB` 和 `en-US` 是不同地区,如果内容完全一样,没必要分两个版本。只有内容真的针对地区调整过(货币、单位、认证、联系地址),才值得分。

上线前怎么验

  1. 抓每个语言版本的页面,确认 hreflang 列表完整且互指
  2. 逐个访问 hreflang 里的 URL,确认全部返回 200
  3. 确认没有两个 URL 内容完全相同却都标了不同的语言
  4. 确认语言切换链接在页面上可见、可用
  5. 用纯文本抓取英文版,确认正文是英文而不是空壳

常见问题

只有中英两个版本,需要 hreflang 吗

需要。不加的话,两个版本很可能被判定为重复内容,只有一个会被保留。

hreflang 和 canonical 冲突吗

不冲突,但要各司其职:hreflang 说明语言版本关系,canonical 说明同一语言内的唯一版本。不要在英文版页面里 canonical 指向中文版,那是明确错误。

相关阅读:外贸企业为什么不能只靠机器翻译做英文站、英文内容写给谁看:三个读者画像。