从近两年我个人的SEO服务项目情况看,有越来越多的公司需要做多语言网站优化。国内公司做多语种网站,以电商公司居多,要往外卖产品。国外公司也有不少要做中文网站,不过电子商务类的不多,大品牌、留学/移民之类的比较多。
如果涉及语言比较少,比如只有英语和中文网站,语言使用范围不复杂的话,做SEO时倒没有什么特殊要求,英文、中文网站可以放在两个独立域名上,也可以放在同一个域名的两个子域名上,甚至可以放在二级目录上,内容和结构等可以没什么关联,基本上可以各做各的。即使页面内容是对应翻译的也没问题,中译英或英译中,内容一样,语言不同,搜索引擎不会认为是复制内容。
有时候情况复杂点,同一个国家使用多种语言,而且使用人数差别没有那么大,像中文在中国这样具有压倒性主流地位,如加拿大使用英语、法语,瑞士使用德语、法语、意大利语。一个语言也经常在多个国家使用,英语在英国、美国、加拿大、澳大利亚、新西兰,甚至新加坡,都是最使用广泛的语言。
在这些稍复杂的情况下,需要考虑一些多语言网站的SEO问题:
同是英文网站(或其它语言),不同国家或地区有各自独立域名,虽然也许有些许修正,如不同拼写(英国拼为colour,美国拼为color之类),但主体内容是一样的,怎样避免被搜索引擎认为是复制内容?
一个语种页面收录良好,另一个语种收录有问题,能不能让搜索引擎知道另一个语种版本在哪里,从而改进收录?
同一个国家,有不同语言使用者,怎样让搜索引擎知道这个页面是针对哪个语言的?
使用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” />
指的是英文、英国。
在三个网站上,上面三个标签都放上,搜索引擎就知道针对不同语言、地区的版本是关联的,各自的网址是什么,并且不会被当成复制内容。
还有几个细节要注意。
hreflang标签可以放在同一个域名的不同页面上,也可以跨域名,放在不同域名上。
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 Alpha2 标准。写代码时最好到官网查一下,不要想当然。比如上面提到的,英国的地区代码是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。