多语言 SEO 通常被讲成一个翻译问题,外加一点技术标记。但把这个站点用十二种语言运营下来,也就是英语、阿拉伯语、德语、法语、匈牙利语、意大利语、日语、韩语、罗马尼亚语、越南语,加上中文的两种书写形式,我们很清楚地看到:翻译才是简单的那一半。
难的那一半在于,你在英语里习以为常的每一条规则,都有一个依文字系统而变的版本,而你原本并不知道它存在。长度上限不一样。结构会跑偏。数字会被一个想帮忙的译者写成汉字,从那一刻起就不再和原文对得上。这些问题在有东西去检查之前,一律看不见。
真正让它跑起来的是自动化,不是努力。 在任何内容上线之前,有十一项独立检查会从头到尾扫一遍:语言覆盖率、原文与各译文之间的结构一致、数字一致性、标题层级顺序、死链,以及按文字系统区分的元数据长度。每一项都是在对应的错误已经进了生产环境之后才写出来的。关于一个多语言站点如何保持正确,这是诚实的版本。
多语言 SEO 从 hreflang 开始
hreflang 的作用比大多数指南暗示的要窄得多。它不决定哪种语言能排上去。它只是告诉搜索引擎,这几个网址是同一份内容的不同语言版本,好让合适的版本呈现给合适的用户,而不是让它们互相竞争。把它理解成版本之间的对照表,比理解成排名因素更准确。
真正重要的规则有三条,其余都是细节。
标注必须互指。 如果英文页指向德文页,德文页也必须指回来。单向声明通常会被忽略,而这是所有实现错误里出现频率最高的一种,而且遥遥领先。如果单向声明也算数,任何人都可以宣称别人的页面是自己的译本,所以搜索引擎不采信没有回指的声明。Google 在文档中写明了这项要求,并列出了声明它的三种方式。
每一组都必须包含自己。 页面自身的网址也属于它自己的那份清单。
用 x-default 指定当用户的语言无法匹配时该给他哪一页。没有它,兜底版本就只是猜的。
底下那个结构性的决定,是这些语言放在哪里。这个站点采用的是同一域名下的子目录,好处是所有东西都留在同一个主机名上,权重不会被切成十二份。按国家分开建独立域名,只有在业务本身确实彼此独立时才成立,其他情况下很少成立。独立域名各自算独立资产,外链和积累起来的信任都不共享,等于同一份功夫要重新做十二遍。
翻译质量是一个排名问题
读起来像机器翻译的机器翻译表现很差,原因不是搜索引擎认出了工具。原因是产出很泛,而泛泛的内容一旦和更具体的东西放在一起比较,就会输掉。读者那边也一样,别扭的译文在开头几行就会失去信任,而这个跳出会反过来影响评价。
有两种失败反复出现。关键词的翻译。 把英文短语直译过来的说法,往往不是那个语言的人真正会搜的说法,于是一个翻译得很正确的页面,瞄准了一个没人会输入的词。关键词调研必须按语言分别做,而不是用英语做一次再翻译过去。
文化与法规上的偏移。 币种不对的价格、在那个市场根本不适用的法规、当地没人认得的例子,都属于这一类。一篇讲英国数据保护义务的页面,不做任何调整直接译成日语,既准确又没有用处。
真正需要判断的是到底该翻什么。全部翻译成本很高,还会堆出一批那个市场没人想看的页面。挑最强的几页去翻,而且是按当地情况改写而不是单纯转换,通常比把所有页面都逐字译过去更划算。
没人提起的按文字系统的规则
这是最让我们意外的一部分,而且完全是机械性的。
元描述的长度不是一个数字。 一段在英语里长度刚好的描述,到了德语和罗马尼亚语会偏长,因为同样的意思在那里需要更多的词;到了日语或中文则会长得离谱,因为那里每一个字承载的意思要多得多。分开之后我们才发现,中文和日语的描述用不到英语一半的字数就能把同样的意思说完。所以我们最后按文字系统设了不同的区间,而不是用一个全局上限,因为单一上限对这一组里的大多数语言都是错的。
正文长度的下限也是同样的道理。 一篇日语文章要传达和一篇 1,100 词英语文章相同的内容,词数只有其中一小部分,字符数则完全是另一个量级。用词数去衡量 CJK 内容没有意义,所以日语和中文我们检查字符数,其他语言检查词数。
标点不一样。 问号并不是到哪里都写成 ?。阿拉伯语有自己的问号,中文和日语用全角形式,而日语的疑问句经常直接以句号收尾。一个靠 ASCII 问号去找问句的检查脚本,会安安静静地报告说每一个非英语页面都没问题,我们的脚本在修好之前正是如此。
数字会在翻译中漂移。 在英文用阿拉伯数字的地方把数写成汉字的译者并没有犯错,但那一页已经和它的原稿对不上了,而且当其中一边更新时,另一边不会跟着更新。所以我们会检查每一份译文里的数字是否和原文一致。
结构必须对得上
我们跑的检查里最有用的一个,是拿每一份译文和它的原文逐项比对结构:标题数量是否相同,列表和表格数量是否相同,表格行数是否相同,常见问题条目数量是否相同。原文里的表格如果在译文里变成了段落,它就会在那里拦下来。
它能抓到别的手段抓不到的东西。把两个短小的小节合并成一个的译者,写出了不错的文字,同时也破坏了页面和它的结构化数据之间的对应关系。少一条常见问题,意味着可见的页面和 FAQPage 标记互相矛盾,而这种矛盾降低信任,而不是提高信任。
它也能抓到遗漏。一个因为难翻而被悄悄丢掉的小节,人工复核时看不出来,对一个计数程序却一目了然。
这要花多少代价,值不值得
说实话:十二种语言是很多,维护成本是实打实的。每一篇文章就是十二个文件,每一次修正就是十二次修正,每一项检查都要跑完全部。就算真正能做生意的只有其中几种语言,维护费用还是照十二种语言算。
值不值得,完全取决于你是不是真的在那些市场里卖东西。一个你根本服务不了的语言带来的流量只是虚荣指标,同样的力气花在把一种语言的权威做厚,对营收通常更有帮助。做这件事的理由是市场准入,不是曝光量。
如果你确实决定要做,让它可持续的唯一一件事,是检查被自动化了,并且在发布之前就跑。只靠自律去维护的十二种语言,一个季度之内就会散掉。有一道闸门、拒绝放行不一致内容集合的十二种语言,不会散。
Mecanik 在网站开发工作中构建并维护多语言站点,而第一件交付物通常不是内容,是那些检查。
常见问题
hreflang 到底做了什么? 它告诉搜索引擎,这几个网址是同一份内容的不同语言版本,好让合适的版本送到合适的用户面前,而不是让它们互相竞争。它不决定哪种语言能排上去。标注必须互指,每一组都必须包含页面自己,并且应该由 x-default 指出兜底版本。
每种语言都应该有自己的域名吗? 通常不该。同一域名下的子目录把权重留在同一个主机名上,而不是切分到若干个彼此独立的资产里。按国家划分的域名只有在业务本身确实彼此独立时才成立,其他情况下很少成立。
机器翻译会影响排名吗? 会,但是间接的。问题不在于工具被识别出来,而在于产出很泛,而泛泛的内容一旦和更具体的东西放在一起比较就会输掉。更大的失败是关键词的翻译:把英文短语直译过来的说法,往往不是那个语言的人会搜的说法,所以关键词调研必须按语言分别做。
元描述的长度限制会因语言而异吗? 会,把它当成一个数字对多语言集合里的大多数语言都是错的。同样的意思在德语或罗马尼亚语里需要更多的词,在日语或中文里则只需要少得多的字符,因为那里每个字承载的意思更多。按文字系统分区间,比一个全局上限管用。
大规模维护时怎么保证译文一致? 靠在发布前运行的自动检查,而不是只靠自律。把每一份译文和它的原文比对结构一致性,也就是标题、列表、表格和常见问题的数量是否相同,再确认数字对得上。这两项都能抓出读起来完全通顺的缺陷,比如被合并的小节,或者被写成汉字的数字。
评论