多语言站点的规范URL和og:url

问题描述 投票:5回答:1

我阅读了很多有关这些主题的文章,我知道没有什么解决方案可以完美地处理多语言站点。我正在使用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:url设置为www.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和规范性url:og:url标记不是与html中的rel ='canonical'链接相同的URL。

此设置正确吗?我会对此标记有任何疑问吗?

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

html facebook facebook-graph-api seo meta-tags
1个回答
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" />
© www.soinside.com 2019 - 2024. All rights reserved.