Facebook调试器由于rel替代元标记重定向?

时间:2014-09-30 23:41:42

标签: ruby-on-rails facebook redirect

我有一个以多种语言运行的网站。我们使用这样的元标记来为抓取工具定义备用网址:

<link href="http://www.example.com/us/eng-us-url-here" hreflang="en-US" rel="alternate" />
<link href="http://www.example.com/gb/eng-gb-url-here" hreflang="en-GB" rel="alternate" />
<link href="http://www.example.com/fr/french-url-here" hreflang="fr" rel="alternate" />

...等

当我使用Facebook调试器测试法语URL时,我显示错误:

Object at URL 'http://www.example.com/fr/french-url-here' of type 'website' is invalid because a required property 'og:title' of type 'string' was not provided.

即使所有标签都在那里。点击&#39;查看我们的抓取工具为您的网址确切看到的内容&#39;表明它实际上做了一个奇怪的重定向:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html>
<head><meta http-equiv="content-type" content="text/html; charset=utf-8"></head>
<body>You are being <a href="http://www.example.com/fr/french-url-here?fb_locale=en_GB/">redirected</a>.</body>
</html>

为什么会发生重定向?它肯定是在服务器端控制的东西,但doctype是不同的所以这可能是其他东西。我们正在使用相当标准的Rails应用程序。

此外,如果重定向,为什么Facebook不遵循它?

1 个答案:

答案 0 :(得分:0)

Facebook诈骗者没有关注您的链接。如果您的主页使用重定向,则这是Facebook将获得的数据。我强烈建议不要使用重定向,因为它对SEO不利。如果您的站点代码中找不到剪贴板结果,则问题可能是服务器。我有这样的问题。我的服务器用于设置cookie然后重新加载页面女巫当然会混淆刮板。您应该使用PHP或类似的服务器端语言来检测您的用户位置并相应地提供数据。希望有所帮助。