当一个站点开始做多语言或分地区版本,运营上的很多习惯都得跟着改。单语言站点只需要关心一套 URL、一套标题;多语言站点则是几套内容并排存在,它们之间的对应关系一旦没说清楚,蜘蛛就可能把不同语言当成重复内容,或者只抓其中一套、丢掉另一套。
先确认语言版本的落地方式
常见的做法有三种:放在同一域名下的语言目录、独立子域名、以及按国家划分的顶级域名。三种都能用,但要清楚各自的取舍。
- 语言目录:例如按 /en/、/ja/ 这样的前缀区分。维护成本最低,容易继承主域名已有的积累,适合内容规模不大的站点。
- 子域名:把不同语言放在独立子域下。配置和部署更灵活,但每个子域都要单独照看索引情况。
- 独立域名:地区差异大、需要本地化运营时更常见,代价是资源分散,起步更慢。
选定之后尽量不要再改,中途换结构意味着所有对应关系都要重做一遍。
hreflang 自查的四个点
hreflang 的作用是告诉搜索引擎这几个地址是同一内容的不同语言版本,不是重复页面。写法不难,出错往往在细节。
一、标注是否互相回指
中文页要指向英文页,英文页也要指回中文页,缺一边等于没说完。只做单向标注时,另一方看起来仍然像互不相干的页面。
二、代码与页面实际语言是否一致
给英文页写 zh,给中文页写 en,是复制模板时最容易留下的错误。检查时可以抽几页逐条比对,尤其是新加的语言。
三、地址是否可访问且规范
hreflang 里写的地址必须是能直接打开的 URL,不能是经过跳转的中间页面,也不能大小写、尾斜杠各不相同,否则和页面自身地址对不上。
四、是否需要 x-default
如果存在一个面向所有未匹配用户的默认版本,加上 x-default 会更清晰;如果没有语言选择页或默认版本,不加也没关系,不必为了完整而硬塞。
自动跳转与语言切换
按浏览器语言自动跳转看起来很贴心,但风险不小。搜索引擎抓取时使用的语言标识未必和用户一致,自动跳转可能让它只看得到一种语言版本,其他版本连抓都抓不到。
更稳妥的做法是:保留一个清晰的语言选择入口,让用户自己点;服务端可以根据地区给提示,但不要把跳转写成强制。如果确实需要自动跳转,也要保证被跳转的目标页面能被直接访问,且跳转是可撤销的。
语言切换按钮同样值得检查。它应该指向当前页面对应的另一语言版本,而不是一律跳回首页。栏目页、文章页各自有对应关系,切换后落到首页会让用户重新找一遍。
用日志和抓取结果验证
配置写完之后,靠肉眼看不出的问题最好交给数据:
- 在服务器日志里筛选各语言目录的访问记录,看蜘蛛是否每个版本都走到了,还是只集中在其中一套。
- 用抓取工具模拟不同地区的访问,确认返回的页面语言、hreflang 标注与预期一致。
- 检查各语言版本的收录数量是否严重失衡,某一套长期为零通常是结构或跳转出了问题。
- 对照站点地图,确认每种语言都有对应的地址,而不是只提交了主语言。
上线后的持续观察
多语言站点的维护成本主要在后续。新增语言、调整目录、更换模板,任何一个动作都可能破坏原有的对应关系。建议把 hreflang 和语言目录的检查放进改版清单,每次结构调整后重新跑一遍。
多语言版本之间最重要的是关系清楚:谁和谁是同一篇,谁是默认版本,用户和蜘蛛都能自己走到想去的那一版。把这三件事理顺,比反复调翻译更能减少运营上的麻烦。