Z-Blog 做多语言站:收录上会踩的三个坑
Z-Blog 做多语言,常见做法是子目录(/en/)或子域名。两种都会被收录,但坑不一样。坑一:没有 hreflang中文页和英文页内容对应,但没有互相声明,谷歌会当成两套独立内容,甚至判定重复。每个语言版本的 head 里都要写上全套 h
Z-Blog 做多语言,常见做法是子目录(/en/)或子域名。两种都会被收录,但坑不一样。
坑一:没有 hreflang
中文页和英文页内容对应,但没有互相声明,谷歌会当成两套独立内容,甚至判定重复。每个语言版本的 head 里都要写上全套 hreflang。
完整写法是这样,注意要互指,不是单向:
<link rel="alternate" hreflang="zh-CN" href="https://example.com/post/123.html" /> <link rel="alternate" hreflang="en" href="https://example.com/en/post/123.html" /> <link rel="alternate" hreflang="x-default" href="https://example.com/post/123.html" />
中文页要声明英文版本,英文页也要声明中文版本,缺一边等于没做。我见过不少站只在一个版本里写了,效果打对折。
还有个细节:hreflang 用的是语言-地区代码,不是随便填。中文大陆是 zh-CN,繁体台湾是 zh-TW,香港是 zh-HK。填 zh 也行,但不够精确。
坑二:语言切换用 JS
点按钮切换语言,URL 不变。谷歌根本不知道有另一个语言版本,那个版本永远不会被收录。
这个问题比想象中普遍——很多 Z-Blog 主题的多语言功能是前端实现的,切换的只是显示文本,URL 一动不动。从用户体验看没毛病,但对搜索来说,英文内容等于不存在。
正确做法是每种语言有独立的 URL 路径,切换语言等于跳转页面。子目录形式 /en/ 最省事,也最容易被理解。
坑三:语言和地区混用
zh-CN、zh-TW、zh-HK 搞混,或者用 en 却面向美国用户。这个影响不大,但会让推荐不准。
更实际的建议:没必要为了精确去细分地区语言。除非你确实有简体和繁体两套内容,否则一个 zh-CN 就够了。搞了三个代码但内容完全一样,反而会稀释信号。
坑四(补充):多语言站点的 sitemap
顺手说一个。多语言站的 sitemap 要么分开提交(每个语言一份),要么在一份里用 xhtml:link 标注所有语言版本。用后者的话,记得每个 URL 条目里都要列全所有语言的地址,漏了就等于没声明。
一个务实建议
如果只是想让英文内容被搜到,不一定要做完整的站点多语言。单独做几个英文页面,用 hreflang 关联好,效果可能更直接。
完整的站点多语言意味着:模板要做两套、分类要建两套、每篇文章要写两遍、导航和面包屑都要适配。这个工作量很大,而且如果英文内容本身不多,做了也没东西填。
反过来,如果确实有持续产出英文内容的能力,那越早做规划越好。半路加多语言的成本,远高于从第一天就设计好。