当我在2012年第一次咨询一个客户关于多语言定位的问题时,我认为这很简单。只是在过去的几年里,我才发现hreflang的实现在很多方面可能出错。说实话,这个话题成了我最喜欢的话题之一。然而,当我和一个朋友谈论我在Searchmetrics Summit 2017上关于hreflang注释的第一次演讲的议程时,我得到了一个让我非常紧张的反应。他说:“对你们来说,这可能真的很有趣,但观众中没有人会真正实现hreflang;他们根本就不会有一个国际网站!”好吧,如果这是你所处的阶段(根本没有一个国际网站,正在寻找一些国际化的策略,比如选择什么领域),要么看看Eoghan Henn这篇精心制作的文章,要么在Twitter或Facebook上给我留言。虽然下面这篇文章不会详细介绍国际化过程,但它将向您展示可能阻碍您进行国际化SEO工作的最常见问题。“hreflang是什么?”
当然,您可能已经知道了这一点,但为了防止您不知道,让我给您一个简短的解释。严格地说,hreflang注释是特定语言或地区的超链接引用。
、、、
换句话说,它允许您为网站上的任何给定文档指定替代url(分配给特定的语言或地区)。这正是你会遇到大量问题的地方,因为有多种方法为不同的目的提供可选的url,如移动应用程序深度链接,页面的AMP版本链接,网站的移动版本链接(是的,仍然有网站这样做),规范,分页指令(rel=prev/next), RSS提要等。此外,由于正规电影是导致国际目标问题的主要原因,我们将在这里稍微介绍一下。
我们还需要hreflang吗?根据Barry Schwartz的报告,John Mueller(谷歌的网络管理员趋势分析师)在最近的一次Twitter对话中提到,谷歌应该能够检测网站语言是否与用户搜索查询语言相匹配。而且,即使没有实现hreflang,它也会相应地提供正确的结果。然而,这只适用于谷歌,其他搜索引擎可能仍然有问题。如果你的网站针对的是不同地区的用户,使用相同的语言(例如:英国、澳大利亚和美国的用户),那就更有必要了。不管hreflang的实现有多复杂,我们仍然建议使用它们来确保你的受众得到的是你网站的正确版本。如果是另一种语言,通常谷歌不需要hreflang就能弄清楚。大多数查询显然是用一种语言进行的,因此我们可以将用户发送到该版本的页面。
– John .o(≧▽≦)让我们从最明显的开始,深入到复杂的问题:
1)将页面的所有不同版本嵌套在一个ccTLD下
ccTLD是一个特定国家的域名结尾,例如*.de代表德国或*.co。uk为uk。对于每个目标市场都有一个特定的ccTLD是非常有意义的。但是,如果您只获得一个ccTLD,例如*.co。uk,并在特定的ccTLD上实现所有其他目标市场页面,那么您的hreflang实现可能无法工作。例如:法国的www.example.co.uk/fr/或意大利的www.example.co.uk/it/不太可能很好地实现目标,然而,www.example.com/fr/和www.example.com/it/可能是一个可行的解决方案(假设您正确地实现了hreflang)。在某些情况下,谷歌仍然可以获得它,但我不会打赌。
Decidin当ccTLD策略可能战胜gTLD策略(拥有多个目标市场域vs.拥有一个通用域,并通过子文件夹瞄准市场)时,Eoghan Henn将在这里进行更详细的讨论。2) hreflang注释
中的ISO代码错误。在指定目标语言和/或地区时,请确保不要陷入一些陷阱,例如针对英国说英语的用户时,使用“en-UK”而不是“en-GB”。如果您想确保您的hreflang注释是正确的,可以在这里查找语言ISO代码,在这里查找地区ISO代码,或者使用在线hreflang生成器工具获取样例url集,例如由Aleyda Solis提供的那个。
边注:是否大写国家注释并不重要,但这确实有助于发现错误。此外,还要确保语法正确。许多网站在其url中使用类似的语言/地区标记,但用下划线分隔。因此,在HTML中指定hreflang时,很容易采用同样的方法。如果你用下划线或冒号,这是行不通的。由于hreflang的主要目的是用他们用于搜索的语言瞄准用户,所以你不能只瞄准地区。但是,您可以决定创建一个针对所有英语用户的文件夹,也可以决定为每个URL指定多个hreflang。另外,一定要确保目标区域存在于ISO代码中。例如,你不能把欧盟、南美或德国的部分地区(如巴伐利亚)作为特定地区。边注:但是,您不能为每个hreflang注释指定多个URL,参见下面的截图。
4)hreflang不同于文档语言或html语言
。有些人可能有一个庞大的网上商店,但没有翻译所有产品描述的资源。相反,让我们假设您翻译了导航,可能还翻译了用户需要点击购买您的产品的按钮。然而,产品描述默认是英文的,其中只有一部分被翻译成目标语言,比如意大利语。
在这种情况下,重要的是设置一条规则,只对已经完全翻译的页面注释“it- it”,而对尚未(还)翻译的页面注释“en-IT”。
请注意目前只有谷歌和Yandex理解hreflang;但是,Bing可以使用您在文档开头设置的html语言(或元“内容语言”)。根据您的受众,不忽略Bing可能是有意义的,因此要尽量确保hreflang、html语言和内容的实际语言匹配。
5)缺少自我引用和/或缺少返回标记
每个带有hreflang注释的页面不仅必须引用它在其他语言中的替代,而且必须引用它自己。
实际上,它应该使事情非常简单,但这是我在hreflang中看到的最常见的错误之一。此外,正如你在图中看到的,你从站点A引用的每个站点,如sofeminine UK,必须引用回sofeminine UK。否则,您将在谷歌Search Console中看到这是一个引用错误。
hreflang注释总是必须指向绝对url(例如https://www.searchviu.com/en/blog/),而不是相对url(例如/en/blog/)。
边注:如果您已经迁移到HTTPS,或者这仍在您的议程中,请检查您是否在每个引用中使用相同的协议,例如内部链接、rel=alternate,当然还有hreflang注释。
指向错误的目标
hreflang应该总是指向用另一种语言表示的页面的特定选项。如果产品的详细信息页面引用类别页面或主页,则hreflang没有正确实现。
例如,如果https://www.myawesomesite.com/en/my-categor .y/best-product-ever/是用hreflang指向https://www.myawesomesite.com/de/的de-DE,它没有正确实现。您希望产品详细信息页面引用另一种语言的相应产品详细信息页面,而不是引用类别页面或主页。请注意:如果您没有另一种语言的特定对应页面,您应该考虑设置一个规则,以便页面应该只引用相关的对应页面。空的或错误的hreflang注释将在谷歌搜索控制台中显示为错误。边注:为了节省实现的资源,为什么我们不能接受在谷歌搜索控制台中显示的错误呢?如果谷歌检测到您的许多hreflang注释是无效的,谷歌可能会完全忽略它们。
8)hreflang指向不兼容的目的地
你用hreflang引用的每个URL必须是一个可索引的URL。
什么时候url可以索引?一个URL是可索引的,如果:
它是一个规范的URL(即它不引用rel=canonical的另一个URL);它不排除通过HTTP头中的robots.txt或xrobots进行爬行;它不排除通过元机器人(noindex)的索引;它只指向HTTP状态为200的URL(即不通过301、302或其他状态码重定向到另一个URL,不存在500服务器错误或给出404或410错误)。
如果你有一个大网站,比如一个有很多产品波动的在线商店,这取决于你处理缺货产品的决定,你可能每天有几个页面给出404或410或301重定向。在这种情况下,实现规则非常重要,这样您的hreflang注释(以及可能的任何其他对替代url的引用)就会定期更新。边注:这就是为什么我们通常建议在XML站点地图中实现hreflang注释,而不是在html的头部部分。每晚运行cron作业来更新站点地图,消除任何对不兼容url的引用,或者如果您的站点地图在白天波动非常大,在状态代码发生变化时随时更新站点地图,等等。假设XML站点地图只引用相关的、可索引的内容,那么出现hreflang问题的风险几乎为零。常见的hreflang位于html的部分。但是,如果您发现您的hreflang有问题(例如,在您的英文站点的法国排名)—即使您已经排除了上述所有陷阱—您的hreflang可能无法正确爬行。其中一个原因可能是你没有在部分实现你的hreflang,而是在html的其他地方。请再次确认是否属实。提示:可以通过在XML站点地图而不是html中实现hreflang来防止这个问题。
如果你的部分中有任何脚本,请确保这些脚本不会阻碍html的其余部分的呈现,特别是部分中的其他元素。旁注:如果您决定在XML站点地图中或HTTP头中实现hreflang,则不必在html 部分中使用任何hreflang注释。实际上,我不建议在多个位置使用hreflang,因为这将使事情复杂化,从而增加不同问题的风险。当站点地图中的hreflang注释和html中的hreflang注释相互矛盾时,尤其会出现这种情况。假设您正确实现了您的hreflang注释,但是谷歌搜索控制台仍然没有显示任何注释,您的hreflang可能被其他资源阻塞。请检查部分中是否有任何脚本可能在浏览器呈现您的页面时阻塞hreflang。谷歌标记等内容Er这个词特别容易引发问题。要深入了解,还请参阅此案例研究。瞄准非常奇特的语言理论上,你也可以瞄准少数民族语言,如克林贡语或因努图特语。请注意,在发表本文时,我们还不能彻底测试所有这些功能,所以请谨慎使用,并自负风险。一些国家有文字或方言变体,例如繁体中文和简体中文。以塞尔维亚语为母语的人也可以选择用拉丁文或西里尔文书写。这对网站所有者来说是一个挑战。但是,您可以针对ISO 15924中定义的那些不同的脚本。
传闻:hreflang和谷歌标签管理器
SearchVIU已经测试,看看他们是否可以通过谷歌标签管理器实现hreflang。如果操作正确,这可能真的有效。然而,虽然这似乎是一个有趣的选项,但尚不清楚当您需要它时,它是否能够可靠地工作。如果您愿意,可以自己测试一下——不过,我们仍然推荐谷歌所建议的经典实现。
唷!你还在这里吗?
感谢您的收看!有可能你还在这里是因为你真的喜欢这篇文章(如果是,请让我们知道),或者因为你在寻找我们犯的任何错误(再次,请让我们知道),或者因为你在寻找你的问题的答案(你找到了吗?否则,请联系我们,我们也许能帮上忙!)作者:Gianna Brachetti-Truskawa Gianna是bold ventures GmbH的高级国际SEO经理