脸书'like'推荐点击添加变量;无法将链接的页面识别为喜欢的页面



所以我有一个网站,让我们称之为foo.com,所有页面都有喜欢按钮插件(每个页面上都重新编写了相同的代码)

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

我墙上的帖子带有链接,一切都很好,很花花公子

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

当您喜欢它时,它会在信息中说(单击喜欢时发生的下拉列表)他们"喜欢"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 页面的 like 按钮不计入,而是新的/projects?fbcrap=....

{编辑}

还注意到,你实际上可以进入一个无限循环。

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

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

人员 C 点击用户 B 墙上的链接http://foo.com/projects?randomhashstuffC人喜欢http://foo.com/projects?anotherrandomhash

结果:

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

/projects应该有 3 个赞的地方。

它不仅丑陋,还意味着/projects 页面的 like 按钮不计算在内,但新的/projects?fbcrap=WHYAREYOUHERE

将用于og:url的 Open Graph 元标记放入您的/projects页面中,并让它说页面的 URL 实际上是http://example.com/projects的,无论可能附加哪种查询字符串参数。

当Facebook的抓取工具获取http://example.com/projects?fbcrap=WHYAREYOUHERE当这个地址即将被喜欢时,Facebook会意识到实际的地址/URL只是http://example.com/projects,因此它应该计算这个URL的类似,而不是其他东西。

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

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

此外,您应该考虑在 HTML 顶部重新组织 og: 元数据,就在header中的title之后。

干杯阿波克

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

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

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

最新更新