2012-09-20 56 views
0

我有一個網站具有推介鏈接。它的設置使http://site.com/refer/abc重定向到http://site.com/destination將推介鏈接放入Facebook Like按鈕

每當我輸入http://site.com/refer/abc作爲Facebook Like按鈕的data-href時,它只是將鏈接重寫爲http://site.com/destination,這會導致我失去引用跟蹤。

任何方式,我可以保持推薦鏈接與Facebook Like按鈕?

回答

1

我解決了這個問題,通過檢查它是否是訪問http://site.com/refer/abc的機器人或人類。如果您使用Rails:

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

如果是人類,我讓它像正常一樣重定向。如果它是一個機器人,我只是呈現沒有重定向的頁面 - 與人類在http://site.com/destination上看到的一樣。這使Facebook保留了原始引薦來源網址,但當有人點擊該網頁時,仍然會顯示該網頁的相關元標記。

編輯:我發現,如果你想的Facebook抓取您的Like按鈕的權利,因爲它的創建,您需要每一個新的按鈕創建時間捲曲Facebook的網址棉短絨:

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

這將更新Like按鈕元數據立即。 More info here.