2

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

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

Facebook 爬虫/爬虫似乎没有通过 BB 路由器。它只是呈现静态 index.html 页面。

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

4

3 回答 3

1

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

Facebook 爬虫/爬虫没有通过主干路由可能是因为它不运行 javascript。

由于它不运行 JS,因此您可以设置一个脚本来在页面访问 index.html 时读取请求 uri,然后重定向到具有适当 OG 标签的页面。

于 2013-02-28T17:09:52.840 回答
1

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

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

请注意,显示http://embedible.com/的 og:url 存在问题,尽管您的 OG 对象 url 实际上是http://embedible.com/video/amQ1Njg4QGdtYWlsLmNvbTI5OA==

你可以在 lint 调试器的Redirect Path部分看到它,被废弃的实际 url 是http://embedible.com/

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

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

于 2013-03-12T00:07:22.843 回答
0

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

“由于它不运行 JS,你可以设置一个脚本来在页面点击 index.html 时读取请求 uri,然后重定向到带有适当 OG 标签的页面。”

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

于 2013-03-03T03:39:39.517 回答