だれかのなにかに役立てるウェブ制作者YoTaの趣味ブログ

sns count catheでfacebookカウント数がどうしても0になる時の対処法まとめ

本記事では、wordpressのプラグイン「sns count cathe」にて、facebookのいいね数やシェア数などのカウントを正常にさせる方法をまとめています。

とくに、「コード修正したのに気づいたらfacebookのカウントが再び0になっている」というエラーに遭遇した人は、その対処法も掲載していますので、ぜひ参考にしてみてください!

sns count catheのfacebook対策まとめ

Facebookの各種アカウント作成

まずは、「facebookのアカウント作成⇒開発者アカウントの作成⇒マイアプリの作成」をしましょう。

▼ここの順番の通りに作業すればOK
https://developers.facebook.com/docs/apps/register?locale=ja_JP

これにより、「アプリID」と「app secret」という項目について、マイアプリ画面のサイドメニューの「設定>ベーシック」から確認できるようになります。

なぜ、「アプリID」と「app secret」が必要になるのかというと、sns count cathe(外部)から、facebookに関連づいている"いいね数"と"シェア数"を取得するために必要だからです。(アプリIDとapp secretを組み合わせたものをアクセストークンと呼び、これでFBからデータを呼び出すことができるようになります。)

アカウントの作成が終わったら、さっそくsns count catheをインストールして、改修していきましょう。

プラグインのインストール

facebookアカウント側の準備ができたら、sns count catheをインストールしましょう。普通にインストールして、有効化すればOKです。

設定画面を開いたら、facebookのチェックボックスをオンにして、先ほどの文字列を入力します。(アクセストークンは自動生成されるので、入力しなくてOK。)

sns count catheのコード修正

インストールが終わったら、とにかく下記URLの記事を読み、この通りにコード修正をしましょう。

▼とても分かりやすく手順がまとめられています。
https://www.islog.jp/entry/sns-count-cache-facebook/
⇒記述内容に従って、「class-scc-share-facebook-strategy.php」と「sns-count-cache.php」のコードを修正すればOKです。

この修正作業により、facebookのいいね数とシェア数のカウントおよびhttp/https両方のデータをカウントできるようになります。

なお、httpsの際は、設定画面にて、「HTTPからHTTPSへのスキーム移行モード」を"有効"にすることも忘れずに。(HTTPからHTTPSへのスキーム移行日は設定無し=空欄でもOK)

facebookのカウントが再び0になってしまった時の対処法

他の記事では見かけなかったんですが、著者の場合、コード修正をして、facebookがカウントするようになったことを確認したにもかかわらず、後日、あらためてシェア数を見返すと、なぜかfacebookのカウントがすべて0になってしまうエラーに遭遇しました。

そして調べてみたところ、これはsns count cathe側の問題ではなくて、facebook側の「アプリレベルでのレート制限」に引っかかってしまったことで発生していたようです。

通常、sns count catheの設定を見た時、

・シェア数のチェック間隔(秒)
 ⇒600

・一度にチェックするコンテンツ数
 ⇒20

が規定値です。

しかし、どうやら人によっては、この設定だと、facebook側から「お前、俺(facebookのAPI)のことを呼び出し過ぎやぞ??」って怒られてしまうみたいです。そして、この制限に引っかかると、たとえアクセストークンやソースコードが正常であっても、データを呼び出した際、0しか取得できないようになってしまうみたいです。

▼100%以上になっている時にエラー発生

このFB側のペナルティを受けている状態だと、すでに正常にカウント数を取得できていた記事を繰り返しキャッシュしようとした時、0が上書きされてしまいますので、キャッシュの設定次第では、すべての記事のFBカウントが0になってしまうこともあるので注意が必要です。

そこで対策としては、

・シェア数のチェック間隔(秒)
 ⇒800

・一度にチェックするコンテンツ数
 ⇒5

というように、facebook側を呼び出す回数を減らす設定に切り替えたことで、再び0カウントになってしまう問題を回避できました。

ですので、「ちゃんと設定したのに、facebookのカウントが0になってるんですけど!!」って方は、まずはfacebook側のアプリレベルでのレート制限をチェックしましょう!

あと、参考ですが、著者の場合、手動で記事を4つほどキャッシュしてみたら、facebookのアプリ使用状況が7%ほど増えました。なので、キャッシュは時間をかけてゆっくりと進行したほうが良いです。(SSL対応のhttps化するからといって、一気にキャッシュを試みると、上記FBエラーが発動して、FBカウントがすべて0になってしまうことがありますので、要注意です!)

まとめ

以上の流れで、sns count catheは、facebookのカウントを正常にしてくれるようになります。

SSL対応の際、SNSのカウント引継ぎにはsns count catheが便利ですが、バージョン 0.11.1以降、更新が止まっており、SNSの一部についてカウントがうまくできない仕様となってますので、facebookなどでは、ちょっと手間をかける必要があります。これから着手する人は、ぜひ参考にしてみてください!

ページ上部に戻る