WordPress プラグイン

【2016年11月版】SNS Count Cache で Twitter、Facebook、Pocket のシェア数を復活させる方法まとめ

当サイトはアフィリエイト広告を利用しています。

eye_wp

SNSのシェア数を取得できて、サイトの高速化もできる便利なプラグイン「SNS Count Cache」ですが、SNS側の仕様変更によりシェア数が上手く取得できないことが度々ありました。

このブログでもTwitter、Facebookのシェア数を復活させる方法を紹介してきましたが、Facebookのシェア数取得はまだ不安定だったり、最近ではPocketのシェア数も取得できなくなっています。

ということで、現時点(2016年11月)で最新バージョンの「SNS Count Cache(Var. 0.10.0)」でTwitter、Facebook、Pocketのシェア数を復活させる方法を紹介したいと思います。

Twitterのシェア数を復活させる

まずはTwitterのシェア数を復活させる方法です。
Twitter公式のAPIが2015年11月に廃止となってしまったので、非公式ではありますが外部のAPIを利用するのが最近の方法です。

SNS Count Cache をインストールして有効化したら、管理画面にメニューが出るので「SNS Count Cache > 設定」と開きましょう。

まずは対象のSNSにチェックが入っているか確認↓

20161128a

そして「シェア基本キャッシュ機能 – Twitter」の項目で、使用する外部APIを選択します↓

20161128b

デフォルトで「widgetoon.js & count.jsoon」が選択されていると思います。
プルダウンに隠れている「OpenShareCount」と「TwitCount」はどちらも海外のサービスです。
widgetoon.js & count.jsoonは日本の会社が運営しているサービスなので、特にこだわりが無ければそのままで良いと思います。

widgetoon.js & count.jsoon に登録する

登録先」とされているサイトにアクセスしましょう。
http://jsoon.digitiminimi.com/

サイト登録申請をクリックします↓20161128c

利用規約に同意したら、登録するサイトのURLとメールアドレスを入力して「サイト登録」をクリック↓

20161128d

登録処理は大体が1日で完了しますが、人力でやっているようなので週末を挟むと2,3日かかったりします。
登録が完了するとメールでお知らせが来て、記載されているURLにアクセスするとユーザーページにアクセスできます。

これでSNS Count Cache側では特に何もしなくてもシェア数の取得ができるようになっていますが、Twitterアカウントを連携させると登録以前のツイートも回収できるようなので連携しといた方が良さそうです。

ツイッターアカウントを連携する

20161128e

ユーザーページのTwitter連携のところにある「連携する」をクリックします↓

20161128f

連携認証の画面になったら「連携アプリを認証」をクリック↓

20161128g

ユーザーページで「正常稼働中」になっていればオッケー↓

20161128h

これでTwitterのシェア数取得のための設定は完了です。

Facebookのシェア数を復活させる

Facebookも仕様変更により、シェア数を安定して取得するために「App IDとApp secret」を設定しなければいけなくなりました。
ということでまずは「App IDとApp secret」を取得しましょう。

App ID と App secret の取得

まずは https://developers.facebook.com/ にFacebookのアカウントでログインします。
初めて使う場合は「開発者登録」がありますが簡単だと思います。

次に右上の「マイアプリ > 新しいアプリを追加」をクリック↓20161128i

ウィンドウが開いたら、表示名・メールアドレス・カテゴリを入力してから右下の「アプリIDを作成してください」をクリック↓

20161128j
表示名はサイト名とか自分が分かりやすいもので。日本語でも大丈夫です。
セキュリティチェックで画像認証があるので、入力したら「送信」します↓

20161128k

そうしたらこのような「プロダクト設定」の画面になるので、左のメニューから「ダッシュボード」をクリックしましょう↓

20161128l

作成した App ID と App secret を確認することができます。
「表示」をクリックするとFacebookのパスワードを求められることもあります↓

20161128o

SNS Count Cache での設定

次はSNS Count Cache側での設定です。
「SNS Count Cache > 設定」を開いて、「シェア基本キャッシュ – Facebook」の項目で取得した App ID と App secret を入力してから「設定の更新」をクリックします↓

20161128p

本来はこれで完了のはずですが、SNS Count Cacheの「バージョン0.10.0」はバグがあるようで、まだエラーが表示されています↓

20161128q

SNS Count Cache のバグを修正する

プラグイン内のファイル「sns-count-cache.php」を編集する必要があります。

FTPソフトでサーバーから「wp-content > plugins > sns-count-cache」にアクセスするか、またはWordPress管理画面の「プラグイン」からSNS Count Cacheの「編集」をクリックしてもファイルにアクセスできます。

20161128r2

修正するのは「sns-count-cache.php」の1239〜1240行目です。
文字検索(Windowsは”Ctrl + F”、Macは”Command+ F”)で「Share Facebook Crawl Strategy」を検索すると該当箇所をすぐに見つけられます。

修正前↓

// Share Facebook Crawl Strategy
$parameters = array(
  'app_id' => $this->follow_facebook_app_id,
  'app_secret' => $this->follow_facebook_app_secret
  );

修正後↓

// Share Facebook Crawl Strategy
$parameters = array(
  'app_id' => $this->share_facebook_app_id,
  'app_secret' => $this->share_facebook_app_secret
  );

「follow」の文字を「share」に変更しています。
ファイルを更新すればSNS Count Cacheのエラーも消え、Facebookのシェア数取得が復活します。

こちらの記事を参考にさせて頂きました。ありがとうございます。

「SNS Count Cache」v0.10.0におけるFacebook取得の不具合を解決する
「SNS Count Cache」がFacebookのAccesstokenに対応した最新バージョン0.10.0ですが、こちらにも不具合があり、Facebookのカウント数が取得できない問題が発生し続けていますので、不具合を解消する方法を紹介します。

Pocketのシェア数を復活させる

最後にPosketのシェア数を復活させる方法です。
やること多くて大変ですね・・・(笑)
あと少しなので頑張りましょう!

プラグインファイルの「class-scc-share-pocket-strategy.php」を編集します。

FTPソフトでサーバーにアクセスするか、WordPress管理画面からの場合は文字検索(Windowsは”Ctrl + F”、Macは”Command+ F”)すると見つけやすいです↓

20161128s

修正その1

ファイルを見つけたらまずは35行目の「http」を「https」に修正します。
文字検索するなら「const DEF_BASE_URL」で。

修正前↓

const DEF_BASE_URL = 'http://widgets.getpocket.com/v1/button';

修正後↓

const DEF_BASE_URL = 'https://widgets.getpocket.com/v1/button';

修正その2

次に47行目「horizontal」を「vertical」に変更します。
文字検索は「horizontal」で。

修正前↓

$this->query_parameters['count'] = 'horizontal';

修正後↓

$this->query_parameters['count'] = 'vertical';

修正その3

最後に82行目が空白行になっているので、そこにこのコードを挿入します↓

$this->query_parameters['src'] = $this->query_parameters['url'];

81行目の「$url = self::DEF_BASE_URL」を検索すると見つけやすいです。

修正前↓

$url = self::DEF_BASE_URL . '?' . http_build_query( $this->query_parameters , '' , '&' );

return $url;

修正後↓

$url = self::DEF_BASE_URL . '?' . http_build_query( $this->query_parameters , '' , '&' );
$this->query_parameters['src'] = $this->query_parameters['url'];
return $url;

これでPocketのシェア数も復活させることができました。
こちらの記事を参考にさせて頂きました。ありがとうございます。

http://www.spiral-change.com/the-ground.jp/2733

まとめ

ということで長くなってしまいましたが2016年11月時点での「SNS Count Cache」の不具合対策はこれでオッケーでしょう!

SNSはどこも仕様変更が多いのでプラグインの作者様も大変でしょうね〜。
修正の情報を提供してくださっている皆様に感謝!ありがとう〜!

ではまた〜♪

comment

  1. よっしー より:

    めちゃくちゃ参考になりました。
    まとめてくれて見やすいです。ありがとうございます。

タイトルとURLをコピーしました