幫忙調整了一個頁面,在裡頭加上 facebook 的「讚」按鈕 (like button),一開始測試看起來正常,所有「讚」的按鈕都有出現,就交差出門了。回家後收到訊息:「那些按讚的按鈕怪怪的耶,按下去後會跳出幾十萬個『讚』,但是重新整理後卻一個讚也沒有?」

詳細追究了一下,嘗試了幾個可能:

  1. 先到 facebook debugger 看看是不是少了什麼。
    把要顯示「讚」按鈕的頁面丟去檢測,看到畫面上說少了 "og:image"、"og:url" 這些 tag,從善如流的補上。
    <meta property="og:title" content="網站的標題">
    <meta property="og:site_name" content="網站名稱">
    <meta property="og:image" content="http://絕對路徑的圖片網址">
    <meta property="og:type" content="movie">
    <!-- ↑↑↑這邊你可以填你的頁面適合的 type,詳情可參考
    facebook 的說明 -->
    <meta property="og:url" content="網頁網址">
    <!-- ↑↑↑網址加上參數後,會被 facebook 視為不同的頁面,而分散了按讚的數量。之前有看到有人說,指定這個網址後,能避免這情況 -->


  2. 我參考《facebook] 解決 confirm after like 按讚後還要確認的問題 》
    在頁面裡加入以下兩段 meta tag:
    <meta property="fb:admins" content="0123456789"/>
    <meta property="fb:app_id" content="1234567890">

    fb:admins 裡的 ID 可以填多個,以逗號分隔。
    至於要怎麼找出這邊要填寫的 ID 呢?方法有兩種。

    第一種方法是,你還沒有申請過個人化網址,那麼你可以連結到自己的 facebook 頁面,在網址裡找到自己的  uid。
    https://www.facebook.com/profile.php?id=0123456789

    第二種方法是,因為你申請過個人化網址了,你的個人頁面已經變成這樣的網址,可能長成這樣:
    https://www.facebook.com/test
    你可以透過 "http://graph.facebook.com/test"(test 改成你自己的帳號),
    找出你自己的 uid,以便填入 fb:admins。

    另外 fb:app_id 要填的值,我是在 facebook apps 新建一個 App 取得的。

 

但是,即使是這樣調整過後,按下「讚」,還是沒辦法馬上讓數字向上加一個,反而跑出「確認」連結來。

[Web] facebook 按讚異常:按下讚後,必須先確認,才能真正為按讚數字加一

點選「確認」這個超連結後,會跳出一個視窗,內容像這樣,要求你再次確認,你是否要為這則訊息按讚。

[Web] facebook 按讚異常:必須要再次確認要為這則訊息按讚,才能真正為訊息增加計數

確認後,有時會直接將既有的按讚數字向上加一,有時候會變成幾十萬之類的驚人數字。

 

所以我接受了這個討論串的說法:「這是 facebook 防止垃圾行為 (anti-spam behavior) 的作法,免得有人用騙取點擊 (click-jacking) 的方式來取得按讚數。」

(類似的討論串我用 "facebook like button confirm" 找到滿多的。有的人說只要 facebook 觀測到你網頁的行為正常,就不會再這樣要求了。)

 

目前先向對方解釋,之後看看有沒有人能提出更好的解法來。

 

此外,facebook 的「讚」按鈕,目前可以透過 iframe、HTML5、XFBML、URL 等方式嵌入。在我看來,考慮到目前主流瀏覽器尚有部分不支援 HTML5,所以我暫時不會用 HTML 5 的做法嵌入;URL 和 iframe 基本上是類似的,功能比較陽春,只能單純按讚、讓推文數字累加上去。

相較之下,XFBML 比較好用,按讚後還能加上一段留言,讓自己的動態時報(塗鴉牆)上顯示為某個網頁按讚時,能帶上一段推薦語。我覺得這樣推薦還滿有吸引力的,以後嵌入按讚按鈕時會優先考慮使用 XFBML 方式。

(不過實際用起來我又覺得 XFBML 顯示出「按『讚』按鈕」的速度比較慢,所以如果有人反映按鈕出現速度太慢,我還是會回頭用 iframe 嵌入。)

 

文章標籤
創作者介紹

小攻城師的戰場筆記

fannys23 發表在 痞客邦 PIXNET 留言(5) 人氣()


留言列表 (5)

發表留言
  • 沈岱緯
  • 這個現象是因為blogger會把網址轉成 .tw ,而按讚的網址卻是 .com

    造成facebook認為這兩個網站不同,要求確認。

    因此,解決方式就是加一段 javascript,使之將網址轉換成 .com

    請到範本->修改html

    在<head>下方加上以下的程式碼

    <script type='text/javascript'>
    var blog = document.location.hostname;
    var slug = document.location.pathname;
    var ctld = blog.substr(blog.lastIndexOf("."));
    if (ctld != ".com") {
    var ncr = "http://" + blog.substr(0, blog.indexOf("."));
    ncr += ".blogspot.com/ncr" + slug;
    window.location.replace(ncr);
    }
    </script>
  • 您好,您的解決方式僅適用 blogger,
    而我要應用 like button 的位置是在私人站台,domain name 並不是 blogspot.com/blogspot.tw,
    而是其他 PR 值還很低、很年輕的 domain name。

    其實 blogspot.tw 遇到的問題也是 facebook 的 spam 誤判。
    我想再過一陣子被 facebook 視為白名單網站就會好了。

    fannys23 於 2013/01/18 22:28 回覆

  • 沈岱緯
  • 我還以為只有blogger有這問題@@
  • 訪客
  • 請問一下~我的blogger也遇到按「讚」後需要再點「確認」~~是不是真的過陣子等 facebook 視為白名單就會好了~我找了好多文章都無解??
  • 根據之前收集的資料顯示,blogger 可以透過一樓指導的方法,讓 facebook 吃到 "blogspot.com" 的網址(而非 blogspot.tw),這樣按讚按鈕就可以正常運作了。

    fannys23 於 2013/02/27 17:08 回覆

  • 訪客
  • 我現在也遇到這樣的問題
    可是痞客邦卻不能在header中加入Meta參數

    而您說過段時間facebook認為沒有anti-spam的行為時會自動恢復

    請問您發生此問題的網站有解決此問題了嗎?
  • 當時網站持續營運一段時間就沒這問題哩,你要不要寫信請 pixnet 客服幫你確認這個問題有沒有辦法解呢?

    fannys23 於 2014/06/07 14:14 回覆

  • 訪客
  • 您好 我是上面#4的訪客 感謝您的回答

    想請問這問題是否過個禮拜就會自動解決(無新增Meta Tag)

    還是需要很長的時間?
  • 因為當時是活動網站,我記得在活動結束前就正常了。
    但我只有經驗過一個網站,不確定一般的狀況是否都如此喔,不好意思。
    我剛剛試著對自己的文章按 like,是正常的,
    所以應該不是整個 pixnet 都如此,
    建議您就您自己的 sub domain 向 pixnet 提問。

    fannys23 於 2014/06/07 17:35 回覆