常時SSL化して無くなったFacebookの「いいね!」数を取り戻す
私が運営しているサイト「イマスグチャット」を常時SSL化にしました。
あまりユーザーの来ないサイト(汗)ではありますが、それでもfacebookの「いいね!」が少しずつカウントアップされていくので励みになってます。ありがとうございますw
「イマスグチャット」を常時SSL化にして、ふと思ったんですが、「いいね!」の数が0(ゼロ)になってしまっている。。。
これをなんとか解決できないものかと調べたら簡単だったので記録として残しますね。
対処法
1.SSL化したサイトのヘッダに書いてあるmetaタグ(og:url)を旧URL(非SSLサイト)に指定する
<meta property="og:url" content="http://imasugu.web-arena.com/">
2.旧URL(非SSLサイト)にて.htaccessを利用し、facebookのbotのみ旧URL(非SSLサイト)を閲覧できるようにする。
Rewriteを利用します。
すでに旧URL(非SSLサイト)へアクセスしてきたら.htaccessにて常時SSL化したサイトへ301でリダイレクトする設定をしてますので、それを少し変更します。
RewriteEngine on RewriteCond %{HTTP_USER_AGENT} !(Facebot|facebookexternalhit/1.1) [NC] RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
3.facebookのシェアデバッガーにて動作確認
常時SSL化したサイトのURLを入力し、デバッグを掛けると結果が表示されます。
facebookもリアルタイムで「いいね!」数を読み込んでないので、表示された数が違う場合は、『もう一度スクレイピング』ボタンを押してください。
4.あとは常時SSL化したサイトにて、「いいね!」数が反映されていることを確認してください。
ふと思うこと
「いいね!」の数が戻ったのはいいのですが、常時SSL化したサイトに蓄積された「いいね!」の数と合算出来ないのだろうか?
今は旧URL(非SSLサイト)が残っているからいいが、これを消したら「いいね!」の数も消えてしまうのではないか?
facebookはhttpとhttpsのサイトは同じドメインでも別サイトとして認識してしまうらしいので、ここら辺の解決策を知っている方がいるなら、ぜひ教えていただきたいです。
※そんな疑問があったので、現在はmetaタグのog:urlは常時SSL化したサイトのURLを入れてます。
end
ディスカッション
コメント一覧
まだ、コメントがありません