7

所以我有一个网站,我们称之为它foo.com,所有页面上都有Like Button 插件(每个页面上重新散列相同的代码)

所以我'喜欢'http://foo.com

在我的墙上贴一个链接,一切都很好

我对我的项目页面做同样的事情 -http://foo.com/projects

当你喜欢它时,它会在信息中显示(当你点击喜欢时会出现下拉菜单)他们已经 'liked' http://foo.com/projects。一切都很好; 然而,Facebook 上的实际链接是:

http://foo.com/projects?fb_action_ids=10151073089123411&fb_action_types=og.likes&fb_source=other_multiline&action_object_map=%7B"10151073089123411"%3A10151036996391185%7D&action_type_map=%7B"10151073089123411"%3A"og.likes"%7D&action_ref_map=%5B%5D

这不仅丑陋,还意味着点赞按钮不计入 /projects 页面,而是新的/projects?fbcrap=....

{编辑}

还注意到您实际上可以进入无限循环。

A喜欢的人http://foo.com/projects

人 B 点击http://foo.com/projects人 A 墙上的链接 人 B 喜欢http://foo.com/projects?randomhashstuff

C 人点击http://foo.com/projects?randomhashstuffB 人墙上的链接 C 人点赞http://foo.com/projects?anotherrandomhash

结果:

  • /projects= 1 个喜欢
  • /projects?randomhash= 1 个喜欢
  • /projects?anotherrandomhash= 1 个喜欢

哪里/projects应该有3个赞。

4

3 回答 3

4

不仅丑,还意味着点赞按钮不计入/projects页面,而是新的/projects?fbcrap=WHYAREYOUHERE

Open Graph 元标记forog:url放入您的/projects页面,并让它说页面的 URL 实际上是http://example.com/projects,无论可能附加什么样的查询字符串参数。

当 Facebook 的爬虫将http://example.com/projects?fbcrap=WHYAREYOUHERE在该地址即将被点赞时获取,Facebook 将意识到实际地址/URL 只是http://example.com/projects,因此它应该为该 URL 计算点赞数,而不是其他内容。

于 2012-08-22T09:38:56.110 回答
0

这里,看起来你应该href在like按钮中指定:

<fb:like href="http://pandaz.co.uk/projects/" width="450" height="80"/>

此外,您应该考虑重新组织og:HTML 顶部的元数据,就titleheader.

干杯,阿波克

于 2012-08-28T18:39:45.700 回答
0

我很确定这是故意的,额外的参数允许您识别哪个“喜欢”触发了(入站)用户看到的故事,并告诉您他们在 Facebook 上的哪个位置看到并点击了它。

有文档显示了许多可能的fb_source参数(https://developers.facebook.com/docs/fb_source/),fb_action_idsfb_action_types包含对用户点击的故事做出贡献的Open Graph操作类型和 ID(即 X 喜欢 Y 和 Z 其他SiteName 上的页面将具有多个操作 ID,代表每个单击的喜欢按钮)

{edit} 正如 CBroe 所说,解决此问题的方法是在您的网站上设置一组 Open Graph 元标记,这些标记告诉 Facebook 内容/对象本身的 URL,即使使用其他查询字符串参数访问它也是如此

于 2012-08-21T21:04:03.737 回答