如果需要语言环境,如何设置og:url?

时间:2011-11-25 17:04:36

标签: facebook internationalization opengraph

我正在使用需要区域设置的网站作为网址的一部分(例如http://example.com/content/locale)。

如果您未输入区域设置(例如http://example.com/content),则会显示错误页面,并要求您从列表中选择一个值。

对于大多数外部网站,我们只是省略了区域设置并让用户选择,但是,对于Facebook,这会导致抓取工具刮掉错误页面。

如果我们将每个语言环境作为单独的og:url包含在内,这将意味着为每个页面创建了数千个对象(因为我们支持许多语言环境),并且可能为该站点创建了数十万个。

Facebook是否会为域名提供如此大量的og:urls?

我可以使用更好的策略吗?

1 个答案:

答案 0 :(得分:4)

Facebook预计,临床网址不会直接包含区域代码。在URL中包含一些区域设置代码意味着图中有不同的对象,每个区域设置一个。

相反,请创建不包含区域设置代码的网址。在其他每个包含区域设置代码的用户可见网址上,添加一个og:URL标记,该标记指向规范网址,但不包含区域设置代码。

在规范网址上,当Facebook发出请求时,请查找useragent字符串。它包含“facebookexternalhit”然后返回HTML和og标记供Facebook阅读。如果没有,您可以提供302并将用户重定向到代表其语言对象的URL。

有关如何处理多语言环境对象的更多信息,请参阅FB的开放图表国际化文档