[試] シェア数表示に新たな選択肢を!WordPressプラグイン SNS Count Cacheアップデート

[試] シェア数表示に新たな選択肢を!WordPressプラグイン SNS Count Cacheアップデート

シェア数表示に新たな選択肢を!

あなたを公式シェアボタンから解放するWordPressプラグイン SNS Count Cacheアップデートのお知らせです。

Version 0.2.0となりました。

SPONSORED LINK

アウトライン

WordPressプラグイン SNS Count Cacheとは

SNS Count Cacheは、Twitter、Facebook、Google+、はてブのシェア数をキャッシュするWordPressプラグインです。表示時にネットワークを介さずキャッシュ経由でシェア数を取得できるようになるため、複数の記事、複数のSNSにまたがるシェア数取得時に表示速度の改善が見込めます。

プラグインの概要と基本的な利用方法は、以下のエントリを参照して下さい。

[試] WordPressプラグイン SNS Count Cache | シェア数キャッシュで表示速度改善

改善に関して頂いたご意見

本アップデートに際し参考にさせて頂いたご意見を紹介します。

コメント頂いた皆様、ありがとうございました。

ゆめぴょん(@yume_pyon)さんには、コメントを頂いただけでなく、上記事象の原因切り分けに色々とご協力頂きました。

アップデート内容

記事数が多い場合と新着記事のキャッシュ更新間隔に関する改善要望が多かったと認識しています。頂いた他のご要望もふまえて以下のアップデートを行いました。

  • ベースとなる定期的なシェア数キャッシュ処理の実施間隔、及び一度にチェック対象とする記事数の設定機能の追加
  • シェア数のキャッシュ対象コンテンツとして、固定ページを新たに追加
  • シェア数が急激に変動しやすい新着コンテンツに特化したキャッシュ更新機能の追加
  • ユーザアクセスを起点とする動的なシェア数キャッシュ機能の追加

少し具体的なお話をすると、必要な機能の再整理を行い以下の通り実装しなおしました。

No. 機能 区分 対象コンテンツ 対象SNS 概要
1 Base Cache デフォルト 投稿、固定ページ Twitter
Facebook
はてブ
Google+
ベースとなる定期的なシェア数キャッシュ処理。設定(シェア数の取得間隔と一度にチェック対象とするコンテンツ数)に従い定期的に対象コンテンツを巡回し、シェア数再取得とキャッシュ更新を行う
2 Rush Cache 作成日時が3日以内の投稿、固定ページ シェア数が急激に変化しやすい新着コンテンツに特化したシェア数キャッシュ処理。Base Cache処理とは別に短い間隔(5分)で新着コンテンツ(作成日時3日以内)のみ巡回し、シェア数再取得とキャッシュ更新を行う
3 Dynamic Cache オプション ユーザからアクセスされた投稿、固定ページ ユーザからのアクセスを起点とする動的なシェア数キャッシュ処理。アクセスされたコンテンツのシェア数キャッシュが存在しない場合にシェア数再取得とキャッシュ処理を行う。利用有無は、オプションで選択可能。利用する場合は、アクセスに対して同期で取得するか、非同期で取得するか方式を選択可能。

Version 0.1.0で対応していたのが、Base Cacheになります。本バージョン(Version 0.2.0)で新たに追加した機能が、Rush CacheとDynamic Cacheになります。

Dynamic Cacheの機能説明

Dynamic Cacheは、ユーザからコンテンツにアクセスがあった場合、かつそのコンテンツのシェア数キャッシュがない場合の随時処理です。キャッシュがすでに存在する場合は、この処理は行わず既存キャッシュを活用します。

Dynamic Cacheのメリットは、キャッシュの早期補填が可能になることです。これは、Base Cacheの巡回を待たずにユーザからのアクセス起点で動的にキャッシュ処理が行われるためです。

Dynamic Cache機能において選択可能な方式

Dynamic Cacheはオプション機能であり、利用有無も含め以下3つから選択可能です。

No. 方式 メリット デメリット
1 使用
(同期キャッシュ)
アクセス時のページ生成と同期してシェア数取得が行われるため、シェア数が非表示となることがない。 シェア数取得とキャッシュ保存がページ生成と同期する関係で、ページ表示に時間がかかる。(ただし、シェア数がキャッシュされた後は、キャッシュを活用するため遅くなることはない)
2 使用
(非同期キャッシュ)
アクセス時のページ生成と非同期でシェア数取得とキャッシュ保存が行われるため、同期キャッシュと比較して、ページ生成時のオーバーヘッドが少ない。
(ページ生成時は、キャッシュ処理の予約のみ行う。ある意味キャッシュ処理の遅延実行)
シェア数取得がページ生成と同期して行われないため、キャッシュがない状態でアクセスされたコンテンツにおいては、シェア数が表示されない。
3 未使用 Dynamic Cache機能使用時のオーバヘッドがない。(上記非同期キャッシュのキャッシュの予約処理もなくなる) シェア数取得とキャッシュ保存を定期処理(Basic Cache)に任せるため、全コンテンツのシェア数キャッシュが完了するまで時間を要する。(コンテンツ数が多い場合に全てキャッシュされるまで時間がかかる)

尚、Dynamic Cache機能の対象となるコンテンツは、キャッシュからシェア数を取得するための以下関数が使用されている投稿、及び固定ページになります。これらが使用されていないと、オプション上有効でも動的キャッシュ処理は行われないのでご注意ください。

関数説明
get_scc_twitter()Twitterシェア数の取得
get_scc_facebook()Facebookシェア数の取得
get_scc_gplus()Google+シェア数の取得
get_scc_hatebu()はてなブックマーク数の取得

Dynamic Cache機能の利用TIPS

記事数が多い状況で極力早くキャッシュを確保したい場合は、最小のオーバーヘッドで最速でキャッシュ補填が可能な非同期キャッシュの利用をおすすめします。

W3 Total CacheやSuper Cacheのページキャッシュ利用時等、ページ生成時にどうしてもシェア数を出力させたい場合は、同期キャッシュがおすすめです。

設定項目

本バージョンアップに際して新たに追加した設定項目に関して補足説明します。

[WordPress管理画面]→[設定]→[SNS Count Cache]画面のSettingタブで以下の通り各種設定が可能です。

intro-wordpress-plugin-sns-count-cache-02

フォームにて値を入力、または選択後、「Update Optionsボタン」をクリックすることで設定を更新できます。現行設定値は、スクリーンショットの通りSettingタブの上部で確認可能です。

キャッシュの更新間隔をせばめたい場合は、Base Cache機能のシェア数取得間隔と一度にチェックするコンテンツ数を増やすことで対応可能です。尚、デフォルト値は、シェア数取得間隔が600秒(10分)、一度にチェック対象とするコンテンツ数が20です。

まとめ

シェア数表示に新たな選択肢を!

あなたを公式シェアボタンから解放するWordPressプラグイン SNS Count Cacheアップデートのお知らせでした。

本プラグインがWordPressを活用したコンテンツ作成の一助になれれば幸いです。

限られた余暇時間での可能な範囲での対応となりますが、ご要望等がありましたらこちらからお問い合わせ頂くか、Twitterで@marubon_jp宛にメンションを頂けると幸いです。