今回紹介するWordPressプラグイン「SNS Count Cache」は、SNSシェア数を一定時間ごとにデータベースにキャッシュします。通常のソーシャルボタンどころか、毎回APIを実行するよりも高速にシェア数を表示できます。
ゆめぴょんです。こんちはっ(^^)/
ソーシャルボタンは、今はほとんどのWebサイトやブログに付けられています。ネットに慣れた人はSNSボタンがなくてもシェアできますが、慣れてない人にとっては目につく位置にソーシャルボタンがあった方が押しやすいそうです。
またトップページや記事一覧を表示する場合に、シェア数をアピールできると、よく読まれている記事がわかるのでアクセスアップにもつながります。
ただし、考えなしにソーシャルボタンを設置しても効果を得られないどころか、表示速度を遅くしたり、シェアなしアピールになってしまいます。Webサイトやブログが重いな、表示が遅いなと感じたなら、ソーシャルボタンが原因の場合も多いです。
下はSNSボタン設置やその高速表示化に関する記事です。参考にしてみてください。
- 【Webサイト高速化】ソーシャルボタンを1つにまとめるコードを共有するよ
- 【Webサイト高速化】SNSソーシャルボタンをあと読み設定する方法とコードを紹介
- コピペでOK!ソーシャルボタン設置と追尾方法。プラグイン不要
- 【WordPress】WPtouchでソーシャルボタンやAdsense設置と日付表記の変更方法
WordPressプラグインSNS Count Cacheの特徴とメリット
さて今回紹介するWordPressプラグイン「SNS Count Cache」の特徴や、他より優れた点・メリットは下のとおりです。
- SNSシェア数の取得は、バックグラウンドで実施され、表示を遅くしない
- SNSシェア数の取得は、一定時間ごとに自動的に行われる
- 自動取得されたシェア数は、データベースにキャッシュされ、いつでも参照可能
- シェア数の表示時は、APIを一切使わないで、DBキャッシュ参照なので高速
- シェア数の表示方法は、PHPの関数を使うだけなので簡単
- WordPressのループ関数に対応してるので、ホームなどの記事一覧でも使える
- オリジナルのSNSボタンを作りやすくなり、デザインの幅が広がる
メリットが少し分かりにくいかもしれません。要するにSNSのシェア数を一定時間ごとに自動的にデータベースに記録して、読込みもキャッシュなみに速いということです。
一定時間とは「SNS Count Cache」の標準設定では、10分おきに20記事分をデータベースにキャッシュしていきます。例えば120記事を公開してる場合、1時間ごとに最新のシェア数がキャッシュされます。
小さなデメリットは、SNSシェア数がリアルタイムではないという点です。個人的には半日くらい遅れても問題ないですが、バズってる最中なら1時間も待てないかもしれませんね。
いずれにしろ、APIで毎回アクセスのたびにシェア数を取得してた頃や公式ソーシャルボタンに比べると、このWordPressプラグインを使うことにより、格段に表示が高速化されたと感じています。
実際に作成者まるぼんさんにも確認しましたが、毎回APIでソーシャルカウント数を取得するよりも、データベースでのキャッシュを使う方が飛躍的に高速化できます。
(2014.8.28追記)なおこの記事執筆時点のバージョンは0.1.0ですが、現在はアップデート版がリリースされています。そのバージョン0.2.0については下記事を書きましたので、新機能などは参考にしてください。
SNS Count Cacheの利用例と導入方法と使い方
私の「SNS Count Cache」の活用例と、インストール方法、表示コードの使い方について解説します。
このブログでの活用例
このブログでは、次のような使い方をしています。デザインはまだ気に入ってるわけではないので、いろいろ変わると思います。
PC用デザインでの、個別記事のソーシャルボタンです。カウント数でこのプラグインを利用してます。
PC用の記事一覧でも、ソーシャルメディアのシェア数を表示しています。
スマホ版では、個別記事の上部と記事下に、ソーシャルボタンを表示しています。いずれもカウント数はSNS Count Cacheプラグインを利用しています。
これらの表示方法、CSS/スタイルシートについては、長文になりそうなので別記事で紹介する予定です。Webフォントやアイコン作成方法は、下記事を参考にしてくださいね。
SNS Count Cacheのインストール方法と設定
WordPress管理画面の左メニューの「プラグイン」→「新規追加」から「SNS Count Cache」を検索。インストールして、有効化するのを忘れずに。
現バージョン 0.1.0には設定項目はありません。「設定」→「SNS Count Cache」では、最初はURLごとに「not cached」と表示されてるかもしれません。10分毎に「cached」が増えていきます。
SNSシェアのカウント数を表示する方法(PHPコード)
プラグインSNS Count Cacheをインストールすると、下のようなPHP関数が定義されて使えるようになります。
[php]
ツイッター:
Facebook:
Google+:
はてブ:
[/php]
function_exists関数はなくてもいいけど、SNS Count Cacheプラグインをはずした時などにも不具合が発生しないよう、つけておくことをオススメします。製作者のブログでも推奨しています。
たったこれだけのコードで、簡単にソーシャルカウント数が表示できます。しかもデータベースのキャッシュを参照するだけなので高速です。
このプラグインを作成した、まるぼんさんのブログ「試行錯誤ライフハック」でも、プラグインのことを紹介しています。参考にしてみてください。
⇒[試] WordPressプラグイン SNS Count Cache | シェア数キャッシュで表示速度向上 | 試行錯誤ライフハック
プラグインの改善要望など
最後に少しだけ改善の要望などを書いてみます。
- feedly、Facebookページ、Google+ページのフォロー数もキャッシュ希望
- URLを引数にしてシェア数取得したい。内部リンクのはてブ数表示などに利用
- DB Cache Reloaded Fix使用時のnot cachedを改善
- 最新記事の公開直後だけは、数分ごとに取得してほしい
- またはシェア数の増加がある記事だけ、優先取得してほしい
- 逆にnoindexの記事などは、1日1回程度の取得でもいい
PocketやLINEの数もほしいけど、API的に無理っぽいので開放されたら同じく要望したいです。
WordPressプラグインDB Cache Reloaded Fixを使ってる場合は、たまにシェア数のキャッシュが失敗して「not cached」になってしまいます。ただこれは私の環境固有のものかもしれません。作成者にも連絡済みです。
ちなみにDB Cache Reloaded Fixをラッパーモードで使うとキャッシュ失敗は改善されます。しかし私の環境では他の部分に不具合が出るため、DB Cache Reloaded Fixを無効化にすることで対応しています。
まとめ:今日のゆめぴょんの知恵
今回の記事内容をざっくり言うと。
- SNS Count Cacheは、SNSシェア数を高速表示するWPプラグイン
- シェア数取得はバックグラウンドで行って、DBにキャッシュする
- シェア数表示時には、APIではなくDB参照だけなので高速表示
- トップページなどの記事一覧表示でも遅くならない
- オリジナルSNSボタンで、サイトに合ったデザインを作りやすくなる
SNS Count Cacheプラグインの紹介記事は、下ブログも参考になります。
⇒ツイート数やはてブ数を取得して高速表示できるSNS Count Cache
ちなみにAPIでソーシャルカウント数を取得してた時は、下の記事を参考にしました。
◆PHPとJSでソーシャルカウントを取得する方法まとめ(全9サイト)
◆Transients APIを使って各ソーシャルのカウント数をWordPressデータベース内に一時保存&表示するのよ!
ゆめぴょんでした。ちゃおっ!