我有一个有推介链接的网站。它已设置为http://site.com/refer/abc
重定向到http://site.com/destination
。
每当我输入http://site.com/refer/abc
作为Facebook的Like按钮的data-href时,它只会将链接重写为http://site.com/destination
,这会导致我丢失引荐跟踪。
我可以通过Facebook Like按钮保留推荐链接吗?
答案 0 :(得分:1)
我通过检查是否是访问http://site.com/refer/abc
的机器人或人来解决了这个问题。如果你正在使用Rails:
request.env["HTTP_USER_AGENT"].match(/\(.*https?:\/\/.*\)/) ? "is robot" : "is human"
如果是人类,我会像往常一样重定向。如果它是一个机器人,我只是渲染了没有重定向的页面 - 与人类在http://site.com/destination
看到的相同。这使得Facebook保留了原始的引荐来源网址,但当有人喜欢该页面时,仍会显示该页面的相关元标记。
编辑:我发现如果你想让Facebook在创建时按下你喜欢的按钮,你需要在每次创建一个新按钮时卷曲Facebook的URL linter:
curl https://developers.facebook.com/tools/lint/?url={YOUR_URL}&format=json
这将立即更新Like按钮元数据。 More info here.