SNS Count Cache で Facebook のシェア数が表示されない問題の対処方法

      2016/11/28

eye_wp

「SNS Count Cache で Facebook のシェア数が取得できない問題」ですが、暫定的な解決方法を紹介してくださっている記事があったので当ブログでも参考にさせていただきました。

やろうやろうと思ってたんだけど遅くなっちゃった。
SNS Count Cacheを使っていて、まだFacebookのシェア数が表示できていない方は参考にしてみてください。

【追記:2016.11.28】
このページの方法は古くなりました。
「SNS Count Cache」は現在(2016年11月)有効にしただけだとTwitter、Facebook、Pocketのシェア数が表示されません。シェア数を復活させる方法はこちらの記事を参考にしてください↓

【2016年11月版】SNS Count Cache で Twitter、Facebook、Pocket のシェア数を復活させる方法まとめ
SNSのシェア数を取得できて、サイトの高速化もできる便利なプラグイン「SNS Count Cache」ですが、SNS側の仕様変更によりシェア数が上手く取得できないことが度々ありました。

このブロ

スポンサーリンク

シェア数が表示されないのはFacebookの仕様変更のせい

SNS Count Cacheではシェア数の取得先として非公式のAPIエンドポイントを使っていたんですが、それがFacebookの仕様変更で使用不可になってしまったそうです。

そこで公式APIを使ったバージョン(Ver. 0.9.2)がリリースされたんですが、この公式APIは時間あたりのコール数に制限があるので、制限に達してしまうとシェア数が取得できなくなってしまうんですね。

そのためSNS Count Cacheの新しいバージョン(2016年9月22日時点でVer. 0.9.3)でも動作が不安定で、Facebookのシェア数が取得できなかったりしていました。

しかし今回ご紹介する方法であれば、600秒に600回までコール数の上限を上げることができるので、ほぼ制限なくシェア数を取得して表示できるようになります。
それでは早速やってみましょう!

SNS Count Cacheのファイルを修正する

SNS Count Cacheのプラグインフォルダの中にあるファイルを2箇所編集します。FTPクライアントソフトなどでサーバーにあるファイルをダウンロードして編集しましょう。

SNS Count Cacheが入っているディレクトリの中から「class-share-facebook-strategy.php」を探します。

ファイルの場所は「wp-content / plugins / sns-count-cache / includes」の中です。

またはWordPress管理画面の「プラグイン」をクリックしてからSNS Count Cacheの「編集」からでもファイルの編集ができます↓

snscountcache_edit1

「編集」をクリックすると右側にファイルがたくさん出るので該当ファイルを探してください↓

snscountcache_edit2

ファイルを見つけたら35行目のこのコードを探してください↓
行数が分からない時は「command + F」(windowsは Ctrl + F)で文字列を検索するとすぐに見つかると思います。

見つけたらこのように変更します↓

最後の部分「access_token=appid|appsecret';」の赤字の部分をそれぞれFacebook Developerで作成したアプリIDとapp secretに置き換えてください↓

fb-appid-appsecret

Facebook Developerってなんぞや?っていう方はこちらの記事で分かりやすく解説してくださっているので参考にしてみてください↓

FacebookアプリID(fb:app_id)を取得する方法を図解入りで!
WebサイトでOGPを設定する場合などでFacebookアプリID(Facebook App ID)が必要となることがあります。OGPであれば『fb:app_id』の部分で必要となります。OGPの詳し

次に同じファイルの79行目を編集します。
変更前がこちら↓

このように変更してください↓

「self::DEF_BASE_URL . '?' .」の ?& に変わっただけですね。

修正したらサーバー上にアップして元のファイルを上書きすれば、Facebookのシェア数が取得されるようになります。

キャッシュされるまでしばらく待つか、「キャッシュ状況」のページで「キャッシュ」のボタンを押せば手動でキャッシュできます。

SNS Count Cacheが更新されたら

もしSNS Count Cacheがバージョンアップされた場合、プラグインを更新すると今回修正した部分は全て上書きされるので注意が必要です。

もしかしたら次のバージョンアップでもFacebookのシェア数が取得できないかもしれないので、更新する前に内容を確認するのを忘れないようにしてください。

今回参考にさせて頂いた記事はこちらです↓

「SNS Count Cache」のFacebookカウント数取得できない問題を暫定的に解決した
WordPressプラグイン「SNS Count Cache」。先日からFacebookのカウント数取得ができないということで、いろいろ調べてみた結果、暫定的ではありますが、プラグインのファイルを一部書き換えて暫定的ですが解決しました。

スポンサーリンク

この記事をシェアする!

 - WordPress