将重定向的链接上的自定义标题/说明(即在FB上共享时)

时间:2014-04-07 15:02:08

标签: php facebook url-redirection

我有一个特殊的邀请链接,我们的用户可以与他们的朋友分享。

他们共享的网址如下所示:http://mydomain.com/invite/some_id可添加一些Cookie并重定向到http://mydomain.com/。在/上,如果设置了Cookie,页面标题,说明和页面内容将会有所不同(即Some user has invited you to mydomain.com!)。

但是在调试/共享特殊链接时我无法显示更改的标题(我使用https://developers.facebook.com/tools/debug/进行调试)。这可能是因为机器人/刮刀在重定向时不存储任何会话/ cookie。

我知道这可以使用share api,但我不想依赖它,因为用户也可以在不使用它的情况下与朋友分享链接。此外,我希望这些更改能够显示在Facebook以外的其他平台上(即Google,LinkedIn,Twitter等)。

我看到的一些可能性是:

  1. 在设置Cookie后,从/invite/重定向到/时,我可以在网址中加入一个查询(即/?ref=some_id)。这似乎是简化解决方案。 但是,我不想分享ref_id(因为人们很容易篡改它)。 最重要的是,如果用户想要复制和分享此链接,他们也会共享ref_id,这是错误的,因为邀请是个人的,并且是针对当前查看者的仅

  2. 检测请求访问/invite/的用户是否是机器人(找到解决方案,即检测用户,IP或其他方式)。如果是Facebook / Google Bot / etc,那么我不会重定向,而只是输出有意重定向的内容(/)。

  3. 你有什么想法吗?也许它比我想象的要简单得多。或者也许我正在考虑的可能性是正确的方式。你觉得怎么样?

    更新

    到目前为止我做了什么:

    • 在从/invite/重定向到/之前,我会检查facebookexternalhit字符串中是否存在HTTP_USER_AGENT。如果是,它将重定向到/?ref_id=some_id。基本上这只是意味着Facebook刮刀查看该页面。

    • 如果在ref_id上设置/,则会更改内容,标题等,并og:url更改为/?ref_id=some_id

      < / LI>

    这样可行,但?ref_id仍然非常公开。如果您偶然发现了这个问题,并认为您有更好的解决方案,请告诉我您的想法!

0 个答案:

没有答案