Sunday, March 27, 2011

糾正面子書分享博文的錯誤

很多人都有在面子書(Facebook)分享(share)文章或網頁的經驗,當然也包括分享博文。一般上,在面子書分享某個鏈接時,面子書會顯示該鏈接的標題、圖片(如有)以及一段該鏈接的文字。一次,我無意中看到有人在面子書上分享我的博文。高興之餘卻發現所顯示的文字並不是有關文章裡頭的內容,而是讀者在該博文中的留言。我覺得奇怪,於是便做了一些實驗,結果發現面子書無法正確顯示 blogspot 的博文摘要,反而顯示該博文的第一篇留言,如果該篇博文沒留言,它可能顯示你在頁面的其他內容或者不顯示任何摘要。(而因為我的實驗,FB一度把我的博客列為"Like-jacking"網頁。)

好奇之下,我到谷歌搜了一下。結果在 Blogger Help Center 發現原來很多人都面對同樣的問題,而且這個問題已經存在了整一年,而很多網民還在苦苦尋找解決之道。我向來相信網上有很多高手,這個問題不可能存在那麼久仍沒人可解。所以不灰心的繼續搜,結果終於讓我找到了這篇 "Facebook share showing wrong description –solved!"。這篇文章不但提供解決之道,還清楚的解釋了箇中原因。

這裡只分享該文介紹的一勞永逸的解決之道:
1. 翻到 Dashboard > Design > Edit HTML。
2. 備份你的模板。(如果使用我以下的建議,也可以冒險不備份)
3. 勾選 "Expand Widget Templates"。
4. 找出 <data:post.body/> (建議你用瀏覽器的 "Find" 指令)
5. 加入 p 碼;即 <p><data:post.body/></p>
(我建議先按 “Preview”, 預覽確定網頁正常顯示後,才按 “Save Template”。若發現網頁無法正常顯示,則按 “Clear Edits”,然後從頭來過。)

我的實際經驗發現這個方法對新博文及不曾分享過的博文立竿見影的管用,但是對於已經分享上面子書的博文卻無效。於是我再到網絡上搜尋,才明白原來面子書把所有分享到面子書的鏈接都記憶起來,而之後就只從它的記憶體 (cache) 攫取資料。所以就算我們更新了我們的博客,它的記憶體存着的仍是舊的資料。而且看來面子書要好幾天才會更新它的記憶體,雖然它的網頁說它每24小時更新。不過幸好我們可以自行到 Facebook URL Linter 去更新面子書的記憶體。方法及更多詳情請閱讀: "How to clear Facebook Share’s Cache"。要特別注意的是,通過 Blogger 分享按鈕
分享的博文,它的URL會加上後綴。因此面子書會把它當成一個不同的URL處理,若需要也得另外更新。

我後來還發現,若我們的博文開頭使用了一些HTML編碼,如<div>,以上的方法也會失效。這時我們就只能使用該文中所介紹的第一種方法,即在博文中自行加上<p>及</p>了。這個方法雖然麻煩,卻也有一個好處,就是你可以選擇你要顯示的內容,而不一定是文章的開頭。

Facebook以善變著稱。實際上這個面子書分享博文的錯誤也是因為它做了一些更改而blogspot沒有相應的跟進。所以這個糾正的方法也許有一天在面子書又更改它的程序後變得無效。

8 comments:

  1. 谢谢您的分享,让我省却了不少时间去找这方面的资料。

    ReplyDelete
  2. 啊,是我当了白老鼠。哈哈。

    ReplyDelete
  3. 筠婷:你甚麽時候當了白老鼠?
    漢棟:不用客氣。其實我也是以感恩的心來分享。我從網上許多人的分享中獲得了很多的網絡知識,我覺得最好的回報就是把他們的知識讓更多人分享。

    ReplyDelete
  4. 啊啊,我以为是因为我link了您的文,让发现了这个疏漏。:)
    白老鼠的意思,是以身试法的第一个。

    ReplyDelete
  5. 確實應該是你的link。但是那不叫白老鼠吧?

    ReplyDelete
  6. (想不到更好的形容词....:p)

    ReplyDelete
  7. Thanks for sharing~ I learn a lots from ur blog~

    ReplyDelete
  8. 最近,不知道FB又做了甚麽變更,以上的方法不管用了。往往只能看到有關文章的鏈接,連標題也沒有。

    ReplyDelete