常時SSLへの対応などでサイトURLが変わると、SNSボタンでカウントされていたシェア数もリセットされてしまいます。これはSNS側で参照しているのがURLベースになるため、URLが異なるサイトは全く別のものという扱いになるためです。
SNSボタンの機能としては問題ないのですが、見た目的に少し気になってしまいますよね、、そこで今回は少し技術的な部分もありますが、各種SNSのシェア数を引き継ぐ方法をまとめてみました。
SNSシェアのカウント数を引き継ぐ
SNSのシェア数については変更前の旧URLに紐づいていますので、参照アドレスを旧URLに向けてあげる必要があります。具体的にはOGPのURLを変更したり、WordPressの場合はプラグインを使うことで対応可能です。
WordPressプラグイン「SNS Count Cache」を使う
WordPressサイトの場合はプラグインの「SNS Count Cache」を使うのが便利です。このプラグインはキャッシュ情報からSNSのシェア数を取得できるプラグインです。
【SNS Count Cache】
まずはプラグインをインストールして、有効化にします。そしてサイドメニューにある「SNS Count Cache」の項目をクリックします。画面が切り替わり「設定」タブを選択し、プラグインの設定を進めていきます。
いくつか項目があるのですが、下記の通り入力を進めていきます。ただしサイトの仕様に合わせて適宜変更してください。
【シェア基本キャッシュ機能】
・対象SNS
→対象となる各種SNSを選択します。
・カスタム投稿タイプ
→カスタム投稿タイプも対象となる場合、スラッグを入力していきます。
※その他はデフォルト値でOKです
【シェア基本キャッシュ – Facebook -】
・App ID
→いいね!ボタンやシェアボタンの実装時に使っているAPP IDを入力します。
APP IDはフェイスブックの開発者向けページで確認できます。
・App Secret
→いいね!ボタンやシェアボタンの実装時に使っているAPP Secretを入力します。
APP Secretはフェイスブックの開発者向けページで確認できます。
・Access Token
→App IDとApp Secretを入力すると自動的に値が入りますのでそのままでOKです
【シェア基本キャッシュ – Twitter -】
・代替Twitter API
→widgetoon.js & count.jsoonを選択
そして、次の登録先の項目で登録サイト( https://jsoon.digitiminimi.com/)にドメイン登録の作業が必要となります。まずはサイトにアクセスし「サイト登録申請」のボタンをクリックします。
規約を確認しドメインとメールアドレスを入力し「サイト登録」ボタンをクリックします。
登録処理が順次行われ、完了したらメールで通知されます。
プラグインの設定について、それ以外の項目はデフォルトの値で構いません。これでキャッシュ処理が走り、SNSのカウントが反映されてきます。ただこのままではまだ完全に引き継ぎが行われないので引き続き以下の作業を進めていきます。
OGPのURLを旧サイトアドレスに変更する
Facebookのいいね!などのカウントはURLが変更前の旧URLを参照する形になっていますのでメタタグのOGPのURL値を変えてあげる必要があります。それに伴い、SNSシェアボタンなどもURL値をOGPのものに合わせていきます。
下記コードでそれぞれのURLを変数で持たせてOGPとシェアボタンなどのdata-href値に入れます。はてなブックマークの場合はhref値内のエントリーURLの最後に追記します。
<?php $oldUrl = "http://old.example.com/" $newUrl = "http://new.example.com/" ?> (一部省略) // OGPメタタグ ※ブログ記事の場合はパーマリンク出力などの対応が必要です <meta property="og:url" content="<?php echo $oldUrl ?>"> (一部省略) // Facebookいいね!ボタン <div class="fb-like" data-href="<?php echo $oldUrl ?>" data-layout="box_count" data-action="like" data-size="small" data-show-faces="false" data-share="false"></div> // はてブ追加ボタン <a href="http://b.hatena.ne.jp/entry/<?php echo $oldUrl; ?>" class="hatena-bookmark-button" data-hatena-bookmark-layout="vertical-normal" data-hatena-bookmark-lang="ja" title="このエントリーをはてなブックマークに追加"><img src="https://b.st-hatena.com/images/entry-button/button-only@2x.png" alt="このエントリーをはてなブックマークに追加" width="20" height="20" style="border: none;" /></a><script type="text/javascript" src="https://b.st-hatena.com/js/bookmark_button.js" charset="utf-8" async="async"></script>
これでSNSのシェア数のカウント表示を引き継ぐことができました。
メディアサイトなどでは記事のシェア数などが、信用の一定の目安となる場合もあります。特に最近は常時SSL対応が求められているのでサイトのURLが変わるケースも増えてきています。ちょっとしたことですが、ユーザーに与える印象も変わるので是非オススメします。