【问题标题】:Canonical url and og:url for multilanguage site多语言网站的规范 url 和 og:url
【发布时间】:2015-10-29 22:26:59
【问题描述】:

我阅读了很多关于这些主题的文章,并且我知道没有任何解决方案可以完美地处理多语言网站。我使用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 但他想要每个国家/地区的点赞数。

【问题讨论】:

  • 警告就是这样——警告。此处提醒您这两个值不匹配,您应该对此进行调查。但是,由于您故意选择了这种方式,因此实际上不需要对其进行调查。调试工具会告诉你 Facebook 认为哪个 URL 是对象的“最终” URL——如果那是你想要的,那就不用担心了。
  • @CBroe 谢谢。这是我的想法。您在该标记中看到任何其他问题吗?例如与搜索引擎。

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


【解决方案1】:

出于 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" />

【讨论】:

    猜你喜欢
    • 2016-05-06
    • 1970-01-01
    • 1970-01-01
    • 2013-11-07
    • 2017-08-11
    • 2016-03-06
    • 2012-04-04
    • 1970-01-01
    相关资源
    最近更新 更多