多语言网站SEO和hreflang标签

从近两年我个人的SEO服务项目情况看,有越来越多的公司需要做多语言网站优化。国内外贸SEO做多语种网站,以电商公司居多,要往外卖产品。国外公司也有不少要做中文网站,不过电子商务类的不多,大品牌、留学/移民之类的比较多。

如果涉及语言比较少,比如只有英语和中文网站,语言使用范围不复杂的话,做SEO时倒没有什么特殊要求,英文、中文网站可以放在两个独立域名上,也可以放在同一个域名的两个子域名上,甚至可以放在二级目录上,内容和结构等可以没什么关联,基本上可以各做各的。即使页面内容是对应翻译的也没问题,中译英或英译中,内容一样,语言不同,搜索引擎不会认为是复制内容

为什么需要hreflang标签?

有时候情况复杂点,同一个国家使用多种语言,而且使用人数差别没有那么大,像中文在中国这样具有压倒性主流地位,如加拿大使用英语、法语,瑞士使用德语、法语、意大利语。一个语言也经常在多个国家使用,英语在英国、美国、加拿大、澳大利亚、新西兰,甚至新加坡,都是最使用广泛的语言。

在这些稍复杂的情况下,需要考虑一些多语言网站的SEO问题:

  • 同是英文网站(或其它语言),不同国家或地区有各自独立域名,虽然也许有些许修正,如不同拼写(英国拼为colour,美国拼为color之类),但主体内容是一样的,怎样避免被搜索引擎认为是复制内容?
  • 一个语种页面收录良好,另一个语种收录有问题,能不能让搜索引擎知道另一个语种版本在哪里,从而改进收录?
  • 同一个国家,有不同语言使用者,要不要做多个语言版本?怎样让搜索引擎知道哪个页面是哪个语言的?

使用hreflang标签设置语言和地区,可以帮助解决这些问题。

hreflang标签的格式和用法

hreflang标签的标准格式是这样的:

<link rel=”alternate” href=”https://www.abc.com.cn” hreflang=”zh-cn” />

hreflang标签分两部分,前面是语言,后面是地区。上面标签指明的是,这个页面针对中文(zh)、中国地区用户(cn)。

对应的:

<link rel=”alternate” href=”https://www.abc.com.au” hreflang=”en-au” />

指的是英文、澳大利亚。

<link rel=”alternate” href=”https://www.abc.co.uk” hreflang=”en-gb” />

指的是英文、英国。

在三个网站上,上面三个标签都放上,搜索引擎就知道针对不同语言、地区的版本是关联的,各自的网址是什么,并且不会被当成复制内容,即使都是英文页面,也不会被当作复制内容。而且通过canonical标签,搜索引擎蜘蛛更容易发现不同语言版本的页面。

hreflang标签的几个技术细节

还有几个细节要注意。

hreflang标签可以放在同一个域名的不同页面上,也可以跨域名,放在不同域名上。这样,文章发布在不同平台,或者被转载,都是可以把权重集中到原创URL的。当然,在国内这几乎没有用。

hreflang可以只写语言部分代码,如:

<link rel=”alternate” href=”https://www.abc.com” hreflang=”en” />

但不能只写地区部分:

<link rel=”alternate” href=”https://www.abc.ca” hreflang=”ca” />

上面这个是无效的,只写地区代码ca,不会被自动判断为是英文还是法文。

所有语言页面上都要加上所有hreflang标签,形成互相确认。中文页面指明自己是中文,同时指明英文版本在哪里,英文页面同样要确认自己是英文版本,对应的中文版本在哪里。

代表语言的代码要符合ISO 369-1标准,代表地区的代码要符合ISO 3166-1 Alpha 2标准。写代码时最好到官网查一下,不要想当然。比如上面提到的,英国的地区代码是GB,不是UK,和域名后缀不一样的。

中文的语言代码是ZH,不是CN。这个是有效的:

<link rel=”alternate” href=”https://www.abc.cn” hreflang=”zh” />

这个是无效的:

<link rel=”alternate” href=”https://www.abc.cn” hreflang=”cn” />

再比如,最近一个客户的日文页面写成这样:

<link rel=”alternate” href=”https://www.abc.co.jp” hreflang=”jp” />

这个是错的。前面提到,可以只写语言代码,但日语的语言代码是JA,不是JP。

再比如,韩语的语言代码是KO,不是KR,虽然韩国的地区代码和域名后缀是kr。

Google对多语言页面的权重和排名处理

Google检测出带有hreflang标签的页面后,会把符合要求的、互相指向确认的一组页面(内容相同,但针对的语言和地区不同)当作一个整体看待。用户搜索关键词时,Google通常应该把权重最高的那个语言版本返回到搜索引擎页面上,但如果通过hreflang标签发现有一个权重虽低,但更满足用户语言和地区需求的页面,那么Google会返回这个权重低些的页面。

比如,一个在法国的用户搜索某个词,按正常排名算法返回的是权重最高的en版本页面,同时Google通过hreflang标签发现这个en页面有对应的fr版本,更符合法国用户的需求,所以就在搜索结果中返回fr页面了。有时候,这个fr页面可能权重比较低,外人看不出为什么这个页面会排名这么高,其实不是它自己的原因,是对应的en页面权重高。

不过,虽然这组多语言页面被当作一个整体,但页面权重不会叠加,还是按各个页面自己的权重计算排名的,大部分情况下,也就是看权重最高的那个语言版本。

------首次发布日期: 2017年09月25日

作者: Zac
版权属于: SEO每天一贴
版权所有。转载时必须以链接形式注明作者和原始出处及本声明。



34 条评论 “多语言网站SEO和hreflang标签

  1. 受教了,还没有怎么接触非中文的网站优化,不过这个是在网站代码方面的一些细节问题,容易被一些程序员所忽略。。。最后,我发现有篇百度官方号的文章怎么没有了

  2. 这个点说的不错,还有一点就是所有的语言是写在一个页面上的,网站根据地区IP和浏览器语言选择性的展现该语言部分。这样的网站我见过,而且SEO做的还不错。

  3. 个人觉得“link标签的hreflang属性”这种表达要准确一些。老师勿怪。Maybe I’m offering to teach fish to swim.

  4. 6666666
    这个针对谷歌的一些全球站优化太有用了,我这边就有一个案例,英文的收录不错,但是阿拉伯语的就坑了……用这个应该正好解决这个问题,多谢zac老师……

  5. 我发现有网站中英文切换的时候是js判断切换的,域名是一样的,去百度看了下收录,英文的收录几百条,中文只有一条首页的。这种情况作优化,是要分二级域名或二级目录形式进行中英网站分开么?

  6. 请教下ZAC老师或各位大神就是我正在操作一个比较大型的新闻站,总共有200多万文章,然后主站是简体的,做了多个语言版本zh-tw, zh-hk, zh-sg,zh-mo,也使用了规范的canonical和alternate的双向注释,仍旧有几十万多语言版本页面被认为是重复页面,这要怎么解决呢;还有就是网站流量有很大一部分来自台湾和香港地区,但zh-tw, zh-hk 版本的网页收录并不理想,外链情况已经比较好的情况下要如何去提升zh-tw, zh-hk 页面的收录呢?为了这个问题,已经吧Google对多语言网页处理规范看了又看,还是没想出比较好的办法

    1. 这个要检查具体网站和搜索表现才能知道,很难一概而论。几个可以考虑的点。你说多语言版本被认为是重复页面,是根据什么看出来的?语言标签肯定没问题吗?有没有用工具验证一下。多语言页面很少都收录,但如果某些语言收录太少的话,服务器设置有没有问题?速度怎么样?多语言版本的URL是怎么设计的?太多可能性。

      1. 谢谢zac老师。重复页面 是Google search console 覆盖率里面提示的”重复网页,Google 选择的规范网页与用户指定的不同” 其中给出的示例网页全部都是zh-hk, zh-sg, zh-mo的,但是也有一部分多语言页面是被指定为“备用网页(有适当的规范标记”。语言标签是没问题的,canonical和alternate双向注释检查过是规范的,每个版本的lang 标签也是对应的。多语言的URL地址格式是: 主域/zh-hk/xxxx.html 主域/zh-tw/xxxx.html 服务器是放在美国加利福尼亚,加了海外CDN

  7. 谢谢zac老师。如果虽然是多语言版本,但是内容完全不同。也可以使用hreflang tag吗?我们目前使用的是html lang tag。但是明明内容不同,谷歌选择的规范网页确是我们的原始语言页面,而不是多语言版本的页面。

留个言呗:

您的邮箱不会被显示在页面上。标有*的是必填项。