og:image を挿入してみる

2013年01月08日 公開

facebookとかでリンクしたり[いいね!]したりすると、タイトルや概要、サムネイル等が自動的に拾われてきて表示されるわけだけれども、トンチンカンな広告画像とかナビゲーション画像とかが拾われたりすることも無いとは言えない。どれが拾われるのかは運次第。

og:image 例

ということではもったいないので、「これだ!」という画像を指定するためにog:imageに入る値をMTから自動で指定する。

この画像は、OGP(Open Graph protocol)情報を<head>内に<meta>として書き並べているだけなので、<meta>タグを書き出せばよい。

<mt:If name="entry_archive">

<MTSetvarblock name="ogimage">

<MTEntryAssets sort_order="ascend" lastn="1"><$MTAssetURL$></MTEntryAssets>

</MTSetvarblock>

<meta property="og:image" content="<mt:If name='ogimage'><$MTGetvar name='ogimage'><mt:Else>http://www.photopierre.com/img/pp0.png</mt:If>"><mt:Else><meta property="og:image" content="http://www.photopierre.com/img/pp0.png" />

</mt:If>

  1. 記事ページの場合だけ
  2. 記事内アイテムのから
  3. 最初の1つを指定する
  4. 無い場合は決まった画像を指定する
  5. 記事ページ以外の場合は決まった画像を指定する

となる。

ちゃんと指定できているかどうかは、facebook debugger などで確認できる。

ちなみに、画像は外部ライブラリにリンクしている場合なんかも、このままではできません。「記事内の最初のアイテム」を拾ってくるだけなので、完全に制御できているとは言えないじゃん! というヒトは、カスタムフィールドで画像ズバリとかURLを直接指定できるようにするとか、そんなのもアリですね。

【リンク】facebook debugger

.