先日の開発ブログで、OGPの仕様追加が公開されました。これを用いることで、記事がニュースフィード上に流れるとき、その記事にひもづくFBページへのいいね!や個人アカウントのフォローを促すことができるようになります。
方法
方法は簡単で、Facebookページを紐づけるならarticle:publisherを指定<meta property="article:publisher" content="https://www.facebook.com/cnn" />
個人アカウントを紐づけるならarticle:authorを指定します。
<meta property="article:author" content="https://www.facebook.com/fareedzakaria" />
fb:adminsで指定していたのとは別に指定する必要があるので気をつけてください。これにより、Facebookページを紐づけているならいいね!ボタンが、個人アカウントを紐づけているならフォローボタンが、記事がニュースフィード上に流れる時に出ることになります。
また、フォローやいいね!が出るのは、閲覧者がまだフォローやいいね!をしていない場合のみとなります。
Facebook側のキャッシュ
ただし、既存の記事に対してこのタグを追加しても、すぐには反映されない場合があります。Facebook側でページの情報をキャッシュしているためです。これをクリアして再取得させるには、Facebook Debuggerを用いるのが確実です。 以下のキャプチャの一番下の項目をみると、article:publisherとして追加したFBページのIDが出ているのがわかります。多量のページのキャッシュを更新させる必要がある場合は、Facebook DebuggerのAPIを用いると便利です。Facebook::OpenGraphにはcheck_objectというメソッドが用意されていて、キャッシュの有無にかかわらず強制的にスクレイピングさせ、キャッシュを更新するとともにOGPの内容をチェックさせる実装になっています。
https://github.com/oklahomer/p5-Facebook-OpenGraph/blob/master/lib/Facebook/OpenGraph.pm#L516