こんにちは。ちゃぼP(@chabo0429)です。
当ブログでも導入しているWordPress用プラグイン「SNS Count Cache」ですが、先日Facebookシェアカウント用APIエンドポイントが廃止になった影響で、カウント数が取得できなくなりました。
そこで、自分なりに公式のAPIからシェア数を取得できるようにプラグインファイルを改造したので、記事にしておりました。
その後数時間後に修正版のv0.9.2がリリース。作者のまるぼんさんにも同様の問い合わせが入っていたようで、修正されたようですね。
私も公開された公式のアップデートを導入して、「メデタシメデタシ」という感じだったのですが、しばらくすると、再びカウント取得が行えない状態に・・・
実は、これには原因がちゃんとありました。
公式APIエンドポイントは一定時間内に何度も問合せを行うと、しばらくは取得ができない仕様
実は、今まで「SNS Count Cache」は非公式のAPIエンドポイントを使っていたため、あまり意識をすることはなかったのですが、今回から採用となったFacebook公式APIエンドポイントに関して、一定時間における制限回数が設けられているようです。
8月23日現在、「SNS Count Cache」の作者のまるぼんさんのサイトで、この制限に対策された「v0.9.3」がBeta版として公開されています。
公式APIで一定時間内の問合せ回数に制限がある以上、その制限内での運用を行うしかないわけですが、まるぼんさんのサイトによりますと、コレを回避するために今回公開されたBeta版では以下の対策が施されているようです。
- カウント取得失敗時のリトライ処理の削減
- 動的キャッシュ機能(ユーザのアクセスをトリガとした動的キャッシュ)のデフォルト無効化
- 臨時キャッシュ機能のシェア数のチェック間隔の変更(300秒→600秒)
また、運用に於けるリスク軽減策として、以下の方法も推奨されています。
- [設定]→[シェア基本キャッシュ機能]→[シェア数のチェック間隔(秒)]の値を増やす(チェック間隔をひろげる)
- [設定]→[シェア基本キャッシュ機能]→[一度にチェックするコンテンツ数]の値を減らす
- HTTPからHTTPSへのスキーム移行モードを有効にしている場合は、[設定]→[シェア基本キャッシュ機能]→[HTTPからHTTPSへのスキーム移行日]を設定する
ということで、早速Beta版をインストールしてみることにしました。
「V0.9.3 Beta」はWordPress公式からはまだダウンロード出来ないので注意!
V0.9.3 Betaは現在のところ、まだテスト運用中とのことなので、WordPress公式サイトからはダウンロードできません。ダウンロードする際は、まるぼんさんのサイトからzipファイルをダウンロードし、解凍した上でFTPツールを使って「SNS Count Cache」フォルダ以下をすべて上書きします。
上書き後に、「インストール済みプラグイン」の画面で、
のように、「バージョン0.9.3 beta」と表示されていれば正常に完了しています。
念のため、チェック間隔を1800秒に変更しておく
今回新たに実装された、「動的キャッシュを無効化」する機能や、エラー発生時のリトライを抑制する機能がデフォルトで効いているので、インストールするだけである程度制限に達するリスクは回避されているのだと思いますが、サイトで推奨されている通り、念のためチェック間隔を広げておきます。
「設定」ページの「シェア基本キャッシュ機能」のチェック間隔は、デフォルトだと600秒(10分)ですが、1800秒(30分)に変更しておきました。
最初の取得が一巡するまではちょっと時間がかかるとは思いますが、一回これで様子を見たいと思います。
今のところ、少しずつシェア数をカウント中!
キャッシュする間隔が30分ですので、ちょっと時間がかかりますが、今のところ少しずつ順調に取得が再開されています。
コレでうまくいくといいですね!
「SNS Count Cache」は、簡単にシェア数を関数で呼び出せるので非常に重宝しているんですよね。単一ページなどにカウント数の表示したい場合にとても便利です。
今後も末永く使っていきたいプラグインです。作者のまるぼんさんに感謝デス!