Facebook OG被BackboneJS网站重定向到索引页面

时间:2013-02-28 14:42:11

标签: facebook backbone.js facebook-opengraph scraper

我有一个使用BackboneJS创建的网站,我正在尝试实施Facebook OG,以便当用户从Facebook状态粘贴我的网站的URL时,它将显示标题,图像等。

我的问题是FB scraper总是被重定向到索引页面,因为Apache将所有流量重定向到索引页面,因此BB路由器可以正常工作。它只能看到索引页面的og标题,og图像等,而不是我的其他页面。

Facebook刮刀/抓取工具似乎没有通过BB路由器。它只是呈现静态index.html页面。

有没有人为这个解决方法/解决方案?

3 个答案:

答案 0 :(得分:1)

我建议您在网站HTML本身(而不是Backbone)中配置Facebook Open Graph标签。 FB具有用于生成小预览的特殊标记。 Here是文档。

Facebook刮刀/抓取工具不会通过骨干路线,可能是因为它没有运行javascript。

由于它没有运行JS,你可以设置一个脚本来在页面访问index.html时读取请求uri,然后重定向到带有相应OG标记的页面。

答案 1 :(得分:1)

您可以使用Facebook Lint工具调试OG对象,它位于您的一个域链接上:

http://developers.facebook.com/tools/debug/og/object?q=http%3A%2F%2Fembedible.com%2Fvideo%2FamQ1Njg4QGdtYWlsLmNvbTI5OA%3D%3D

请注意,虽然您的OG对象网址实际上是http://embedible.com/

,但您显示的{og:url显示http://embedible.com/video/amQ1Njg4QGdtYWlsLmNvbTI5OA==有问题

您可以在lint调试器的重定向路径部分看到它,报废的实际网址是http://embedible.com/

在我的网站上,我们使用基于网址的不同数据呈现相同的html模板。所以我有2个模板引擎,一个用于客户端的真实视图,另一个用于填充元标记的服务器

底线:您必须替换服务器上的元标记。

答案 2 :(得分:0)

CamelBlues,我不认为这是我正在寻找的解决方案。首先,我已在我的网站上使用OG标签。其次,我不认为crawler需要知道如何读取JS,而JS需要根据URI呈现的页面......这就是Backbone.js路由器的工作原理。和,

“由于它没有运行JS,你可以设置一个脚本来在页面访问index.html时读取请求uri,然后重定向到带有相应OG标记的页面。”

这就是BB路由器正在做的事情,我的页面有适当的OG标签。 :(