【问题标题】:Does Facebook support Hash Bang #! Ajax Crawlable Urls?Facebook 是否支持 Hash Bang #! Ajax 可抓取网址?
【发布时间】:2011-12-17 12:45:31
【问题描述】:

Facebook 是否支持 Google 的 ajax 抓取规范,如果支持,您需要做些什么来实现它?

我正在尝试让 Facebook“点赞”按钮与此处定义的 AJAX 可抓取网址一起使用:code.google.com/web/ajaxcrawling/docs/specification.html

我有这个网址,我可以直接访问它并加载它。注意“#!”在网址中:

http://www.idkshouldi.com/?#!idkDetails_idkKey=agppZGtzaG91bGRpcmMLEiljb21faWRrc2hvdWxkaV93ZWJfc2VydmVyX2dhZV9vYmpfSWRrVXNlciIDamltDAsSKWNvbV9pZGtzaG91bGRpX3dlYl9zZXJ2ZXJfZ2FlX29ial9JZGtJdGVtGN6kBgw

当我“喜欢”这个页面时,它应该抓取这个“转义片段”网址:

http://www.idkshouldi.com/?_escaped_fragment_=idkDetails_idkKey=agppZGtzaG91bGRpcmMLEiljb21faWRrc2hvdWxkaV93ZWJfc2VydmVyX2dhZV9vYmpfSWRrVXNlciIDamltDAsSKWNvbV9pZGtzaG91bGRpX3dlYl9zZXJ2ZXJfZ2FlX29ial9JZGtJdGVtGN6kBgw

为什么它不抓取这个页面? Facebook linter 没有正确抓取我的页面。如果有人在这里使用 Facebook linter 工具:developers.facebook.com/tools/debug

它不会正确抓取带有“#!”的启用 AJAX 的 URL在里面。这是谷歌的规范。 Facebook 的 lint 爬虫需要做的是替换“#!”与“_escaped_fragment_”。我的启用 AJAX 的链接似乎没有这样做。

【问题讨论】:

  • 需要更多信息。不知道他在问什么。
  • 很抱歉让您感到困惑。我的问题非常具体,以至于没有多少开发人员遇到过这个问题。如果您查看 Google 规范 code.google.com/web/ajaxcrawling/docs/specification.html(很长:(),那么可能会更好地理解我的问题。
  • 这个问题不应该被关闭;这是一个合法的问题。
  • 我知道这个问题已经结束,但我也同意应该重新打开它。
  • 如果他们不重新打开这个,Facebook 确实支持 Google 的规范。确保包含 在您的脑海中,我将“/#!/”附加到

标签: facebook-graph-api hash escaping fragment


【解决方案1】:

这对我来说也是一个大问题,但不幸的是 Facebook 似乎不支持这种 Google URL 表示法。 Facebook 的爬虫/解析器不会将 hash bang (#!) 转换为 _escaped_fragment_ 格式的 URL。

和你一样,我已经在 Facebook 的 URL linter 上测试了我的页面,它只在动态原始页面中获取静态 Open Graph 标记,而不是在我的页面的_escaped_fragment_ 服务器端变体中特定于页面的 Open Graph 标记。不幸的是,这意味着 Facebook 将我的 Open Graph 标签视为特定于站点,而不是特定于页面。

具有讽刺意味的是,这似乎不受支持,因为 Facebook 本身使用这种方法来允许 Google 的爬虫获取 Facebook 页面。

一种可能对您有所帮助的潜在解决方法是:

1) 在 Facebook 链接中使用您的 _escaped_fragment_ 页面版本 2) 将自动重定向到您的 _escaped_fragment_ 变体添加到正确的版本。

这应该意味着 Facebook 将选择正确的元标记,用户将单击链接并最终进入正确的页面。这种方法的缺点是用户必须知道相当难看的_escaped_fragment_ URL。换句话说,可能只有您自己知道,除非您在页面上添加某种“生成可共享链接”按钮。

Facebook 增加对此的支持肯定只是时间问题,因为单页哈希爆炸网站只会变得更加普遍。

【讨论】:

  • 我也遇到了类似的问题。在用户墙上,我可以看到呈现为 escaped_fragment 的链接...如果发现任何更好的解决方法,请更新
猜你喜欢
  • 1970-01-01
  • 2010-11-13
  • 1970-01-01
  • 2015-06-18
  • 1970-01-01
  • 1970-01-01
  • 2017-11-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多