Fab*_*bio 5 html seo facebook meta-tags facebook-graph-api
我阅读了很多有关这些主题的文章,并且我知道没有什么解决方案可以完美地处理多语言站点。我使用的是不同的文件夹,以服务为不同语言的内容,所以我有www.example.com/en,www.example.com/es等等。
当用户首次访问该站点时,www.example.com我从Accept-LanguageHTTP标头中选择最匹配的语言,en如果没有语言匹配,则使用version 将其重定向到最合适的页面。因此,这里没有实际页面,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请求时重定向。使用默认语言环境或FB请求的带fb_localeparam的语言环境。
我还添加了区域设置开放图标记,以告知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" />
Run Code Online (Sandbox Code Playgroud)
这样,一切似乎都可以正常工作,并且计数在所有语言之间共享。我只收到Facebook调试器的警告
标头中的og:url和规范url:og:url标签不匹配,它与html中的rel ='canonical'链接的URL不同。
此设置正确吗?我会对此标记有任何疑问吗?
类似的问题,但他希望每个国家都喜欢。
出于 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" />
Run Code Online (Sandbox Code Playgroud)