Canonical url和og:多语言网站的网址

时间:2015-08-06 16:47:07

标签: html facebook facebook-graph-api seo meta-tags

我阅读了很多关于这些主题的内容,我知道没有任何解决方案可以完美地处理多语言网站。我使用different folder为不同语言提供内容,因此我有www.example.com/enwww.example.com/es等。

当用户第一次访问该网站www.example.com时,我会从Accept-Language HTTP标头中选择最匹配的语言,并使用en版本将其重定向到最合适的页面语言匹配。因此,www.example.com处没有真实的网页,它始终会生成重定向。

这对用户和搜索引擎都很有效,但这种方法存在缺陷,喜欢分布在不同的语言中,我希望所有这些都适用于www.example.com

如果我将og:url设置为根页面FB抓取工具有关重定向循环的投诉,因为它来自www.example.com,然后重定向到www.example.com/en已设置og:urlwww.example.com。我希望保持统一的喜欢,例如www.example.com/es的喜欢和www.example.com/en之类的喜欢同时计算主域名。

我目前的解决方案是以这种方式修改重定向代码:当用户代理是facebook时,在请求www.example.com时永远不会重定向。使用默认区域设置或区域设置requested by FBfb_locale参数。

我还添加了区域设置开放图标记来告诉FB我的网页的不同区域设置。

最后,我将规范的url标记保留为语言环境部分,因为每种语言都以这种方式提供自己的内容,搜索引擎应该知道这一点。这是(或多或少)主页的头部分

<meta content="website" property="og:type" />
<meta content="http://www.example.com/" property="og:url" />    
<meta content="en_US" property="og:locale" />
<meta content="es_ES" property="og:locale:alternate" />
<meta content="fr_FR" property="og:locale:alternate" />
<link href="http://www.example.com/en" rel="canonical" />

通过这种方式,一切似乎都有效,并且计数在所有语言中共享。我只是通过facebook调试器发出警告

  

不匹配og:url和规范网址:标题中的og:url标记不是   与rel =&#39;规范&#39;相同的网址链接在HTML中。

这个设置是否正确?我对这个标记有任何问题吗?

Similar question但他希望每个国家都喜欢。

1 个答案:

答案 0 :(得分:0)

出于SEO的目的,我建议您使用href_lang和此类语法: 例如,当您使用法语时,使用fr和en语言

<link rel="canonical" href="http://www.yourdomain.com/fr" />
<link rel="alternate" href="http://www.yourdomain.com/fr" hreflang="fr-FR" />
<link rel="alternate" href="http://www.yourdomain.com/en/" hreflang="en-US" />