本ブログにOGP(Open Graph Protocol)を追加しました。

OGP(Open Graph Protocol)という仕様の存在を知ってから、それなりに経ちますが、これまであまり意識せずにここまできましたが、FacebookなどのSNSのことを考えると非常に大事なことで、これは何とかしないといけないと思い、このブログにOGPを追加しました。

OGPって何

そもそもOGPが何かというと、以下はてなキーワードからの引用ですが、

ウェブページの内容をプログラムに読める形で記述する方法。Facebook、mixi、GREEなどの大手SNSがOGPを利用している。

と書かれている通り、ページの内容をプログラムで識別するための仕様です。

事の発端

そもそも、OGPを追加しようと思った動機ですが、Facebookのニュースフィードで表示されるサムネイルを何とかしたいと思ったからです。

よくニュースフィードの表示の仕方というのが変わるなぁと思っていたのですが、「いいね!」を押したら、ニュースフィードに、「○○さんが、~についていいねッ言ってます。」という感じでテキストのみしか表示されませんでしたが、いつ頃からか分かりませんが、最近では、サムネイルまで表示されるようになりました。

そのサムネイルが表示されるのはいいのですが、欠点として、表示されるサムネイルが選べないというところです。

ニュースフィードに、URLを入力したら、サムネイルを選べる場合があるのですが、「いいね!」の場合は、サイト内にある適当な画像が表示されます。

そのため、そのサムネイルがサイトのイメージに合っているものが表示されれば良いのですが、広告の画像だったりとそのサイトに関係の無いサムネイルが表示されるとそれは問題です。

上記の画像で示しているように、広告のサムネイルが表示されました。そのため、OGPを追加しようと思った次第です。

OGPを実装したい

まず、『OGPってどうやって実装するんや』と思ったわけですが、下記のサイトを参考にまず下調べ。

分かったことは、HTMLにmeta要素として記述する、簡単です。早速やってみました。

<meta property="og:title" content="E-riverstyle Vanguard | CSSやXHTML,JavascriptやWeb製作に関する事を紹介">
<meta property="og:type" content="blog">
<meta property="og:description" content="CSSやJavaScriptからWebアクセシビリティなどのWeb製作に関する事を紹介するブログ">
<meta property="og:url" content="http://blog.e-riverstyle.com/">
<meta property="og:image" content="http://blog.e-riverstyle.com/image/ogp.jpg">

このブログの情報を上記のように記述します。それぞれのプロパティに関しては、上記で記したサイトが分かりやすいです。

しかし、こうやってしまうと「いいね!」が押されたときに問題が起こります。

このブログのトップページならば、上記で記したURLやサイト名や説明なので良いのですが、各ブログ記事に「いいね!」が押されたときにも、上記の情報がニュースフィードに表示されます。ニュースフィードに各エントリーごとの情報を表示させたい場合には、そのブログに最適化された実装が必要です。

MTにOGPを実装したい

このブログはMTなので、MTに最適化されたOGPを実装していきます。実装にあたっては下記サイトを参考にさせていただきました。

<MTIf name="entry_archive">
<meta property="og:title" content='<$MTEntryTitle encode_html="1"$>' />
<meta property="og:type" content="article" />
<meta property="og:description" content="<$MTEntryExcerpt$>" />
<meta property="og:url" content="<$MTEntryPermalink$>" />
<meta property="og:image" content="http://blog.e-riverstyle.com/image/ogp.jpg" />
</MTIf>

指定したサムネイルとエントリータイトルがちゃんと表示されています。

最後に

まぁ、この指定してある画像が良いかは別として、これでなんとかサイトと関係の無いバナー広告の画像が表示されることはなくなりました。少なくとも「いいね!」を押してもらったときに関係の無い画像が表示されるよりかはマシです。

本当に、今まで全く気にしてなかったのですが、facebookの強力さを考えるとこういう最適化したサムネイル表示など本当に大事だなぁと今回強く感じました。

そもそもそもそも広告を貼れなければいいんじゃね、みたいなツッコミはご遠慮いただければ幸いです。