「FaceBook いいねボタン」、meta タグ、OGP

FaceBookの「いいねボタン」で少しハマったのでメモ。

Like Button
http://developers.facebook.com/docs/reference/plugins/like

設置のしかたについては略。

このボタンに設定したURLと、実際にFaceBook上に表示されるURLが違う、という問題が発生。


どうも、 hrefプロパティで指定したURLがそのまま使われるのではなく、
そのURLに対して一度、クローラーが情報を収集しに来るようです。


[**/Jan/2011:**:**:** +0900] "GET /siteurl HTTP/1.1" 200 44836 "-" "facebookexternalhit/1.1 (+http://www.facebook.com/externalhit_uatext.php)"

(クローラーアクセスログ)

その後、クローラが サイトのtitle、meta、description、OGP、等の情報を収集し、FaceBook内のDBに登録した後に「いいね」ボタンが押された数を集計しているようです。

(そんなわけで、APIに登録してないページタイトル等が、FaceBookのタイムライン上に表示される)



今回、問題を起こしたのは link タグ。

ここの指定にミスがあったために、ボタンを設置したURLとFaceBook上に表示されるURLが変わってしまったようでした。



○link rel="canonical" についての詳細は

link rel="canonical"によるURL正規化タグ——SEOにとって非常に重要な進歩(前編)
http://web-tan.forum.impressrd.jp/e/2009/03/05/5112


○OGPについての詳細は

フェイスブックミクシィ、グリーで使われている OGP (Open Graph Protocol) とは何か
http://d.hatena.ne.jp/amachang/20110117/1295233078




ちなみに、link を修正してもFaceBook上のキャッシュデータが更新されるまで2日ほどかかりました。