対応:FBいいね!カウント壊れ→OGP設定 | 風標(old)
Category: スポンサー広告 | edit ]
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
Category: IT関連 ≫WEB関係 | edit ]
web関係のネタが続きますが、お許しを。。。

この前から、Facebookのいいね!カウントがおかしくなった件
テンプレートを変えても何度か現象再現し、これの対応に四苦八苦。
しかたなくOGP設定をこのブログのテンプレートに仕込みました。


OGP(Open Graph Protocol)とは、例えて云うなれば、
Aのサイトの「今朝の果物」は「バナナ」ですよー
っという情報をBという別サイトに教えるモノ。

人間なら話をすれば済んでしまうことでも、
コンピュータの世界は、なんかしらの情報をあたえるフラグというものが
必要になります。

実際の話をしたほうがわかりやすいかもしれませんね。


FBのTLにブログのURLを貼り付けたとします・・・①
2013062601.jpg
しばらくすると、その下にURLの情報が表示されます・・・②~⑤
  ②:サイトの個別タイトル
  ③:サイトのURL
  ④:サイトの説明文
  ⑤:サムネイル画像
ここの②~⑤の情報を引き渡す(実際はココに情報置いといたから、
ココから勝手に拾っといてください。FB様。って感じ)のが
OGPというものの役目になります。

このため、データ引渡し元のブログ側のテンプレートに
以下の様な表記が必要になります。

<meta property="og:title" content="②:サイトの個別タイトル" />
<meta property="og:type" content="サイトの種別" />
<meta property="og:url" content="③:サイトのURL" />
<meta property="og:description" content="④:サイトの説明文" />
<meta property="og:image" content="⑤:サムネイル画像" />
<meta property="og:site_name" content="サイトのタイトル" />


通常、ブログ側にOGPが設定されてなくても、
ブログ記事のTitleやブログの情報から自動で取得するようになっていますが、
たまに間違って取得されるようです。
というか、こちらで出た現象は、結構な頻度で③のURLが
ブログ記事毎のURLでなくって、ブログ自体のURLに変わってしまうという!
このために、FBのいいね!カウンタがおかしな数を叩きだすように。

で、この設定が大変でして、
FC2ブログの仕様に合うように設定しないといけないわけですよ。
一応やったことは↓

<!-- OGP設定 -->

<!-- ②:サイトの個別タイトル -->
<meta property="og:title" content="<!--index_area--><%blog_name><!--/index_area-->
<!--not_index_area--><%sub_title> | <%blog_name><!--/not_index_area-->" />

<!-- サイトの種別 -->
<meta property="og:type" content="blog" />

<!-- ④:サイトの説明 -->
<meta property="og:description" content="<%introduction>" />

<!-- ⑤:サムネイル画像 -->
<meta property="og:image" content="http://blog-imgs-62.fc2.com/k/a/z/kazajirushi/DSC0005420130603a.jpg" />

<!-- サイトのタイトル -->
<meta property="og:site_name" content="<%blog_name>" />

<!-- ③:サイトのURL -->
<script type="text/javascript">
<!--
function a(){
return location.href;
}
document.write('<meta property="og:url" content=' + a() + ' \/>');
// -->
</script>

このタグを、<head>タグの他の<meta>タグの下の行に貼り付け。

ここでFC2ブログのテンプレート変数などの補足説明。

②:サイトの個別タイトル
最新一覧表示の場合は、<%blog_name>(ブログのタイトル)を
個別ブログ記事表示の場合は、
<%sub_title> | <%blog_name>(記事タイトル | ブログのタイトル)
を表示するようになってます。

サイトの種別
article/blog/website の3種のうちどれかを設定します。
ここではblogを設定。
この情報にはbookやvideo:movieなどもあるようです。

「いいね!」が流れるだけじゃない!OGPの知られざる機能とは?
by nobish.jp


④:サイトの説明
面倒だったので<%introduction>(ブログ自体の説明)に。
本当はブログ記事の本文要約がいいんだろうけどネ。

⑤:サムネイル画像
サムネイルに表示する画像のURLを設定。
お気に入りの花の写真をサイズ変更して用意しました。
どうやら150px以上の画像がいいとかなんとか??

サイトのタイトル
<%blog_name>(ブログ自体のタイトル)を設定。

③:サイトのURL
本来、<%topentry_link>(ブログ記事毎のURLを表示する)変数が
使用できれば、最新一覧表示ではブログURLを、
個別ブログ記事表示の場合はこの変数でブログ記事毎のURLを設定する。
ことでそんなに悩むことはなかったと思うのですが、
この<%topentry_link>変数は、

<!--topentry--> ~ <!--/topentry--> 内で有効
by FC2ヘルプ | FC2ブログ | テンプレート用 変数一覧

であるため、<body>タグ内での記述しかできない。
しかしOGP設定は<meta>タグであって、<head>内の記述。
どうやったって無理やねん!!
しかも、どこでも使えるハズの<%topentry_rlink>変数は
値を返してくれない。。。これはFC2内のバグか??
なので、しかたなくJavaScriptで現在のページのURLを強制的に
取得してしまおうという魂胆。
これがちゃんと動いてくれてるかどうかは微妙なところzzz


こーんな感じで設定しておりますよっと。
これでとりあえず様子見なのである。。。


<2013/09/13追記>
結論を載せるのを忘れてましたよ。(アセアセ
一応、OGP設定したら現象がでなくなりましたよ。

ただ、一回いいね!カウンタがおかしくなったページはそのまんま。
FB開発者ツールってものでデバックすれば治るらしいんだけど、
ページ数が多過ぎて、やる気がしなーい!
もぅこのまんま放置するんだ。。。


<広告>

関連記事
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。