0

紹介リンクのあるサイトがあります。http://site.com/refer/abcにリダイレクトされるように設定されていhttp://site.com/destinationます。

http://site.com/refer/abcしかし、Facebook の Like ボタンの data-href として入力すると、リンクが に書き換えられるだけhttp://site.com/destinationで、参照トラッキングが失われます。

Facebookのいいねボタンで紹介リンクを保持する方法はありますか?

4

1 に答える 1

1

訪問したのがボットなのか人間なのかを確認することで、これを解決しましたhttp://site.com/refer/abc。Railsを使用している場合:

request.env["HTTP_USER_AGENT"].match(/\(.*https?:\/\/.*\)/) ? "is robot" : "is human"

人間の場合は通常通りリダイレクトさせます。ボットの場合は、リダイレクトなしでページをレンダリングしました。これは、人間が表示するのと同じものですhttp://site.com/destination。これにより、Facebookは元のリファラーURLを保持しますが、誰かがページを高く評価したときに、そのページに関連するメタタグを表示します。

編集:Facebookが作成されたとおりに「いいね」ボタンをクロールする場合は、新しいボタンが作成されるたびにFacebookのURLリンターをカールする必要があることがわかりました。

curl https://developers.facebook.com/tools/lint/?url={YOUR_URL}&format=json

これにより、「いいね」ボタンのメタデータがすぐに更新されます。詳細はこちら。

于 2012-09-20T21:36:03.267 に答える