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にチェックが入っているか確認↓
そして「シェア基本キャッシュ機能 – Twitter」の項目で、使用する外部APIを選択します↓
デフォルトで「widgetoon.js & count.jsoon」が選択されていると思います。
プルダウンに隠れている「OpenShareCount」と「TwitCount」はどちらも海外のサービスです。
widgetoon.js & count.jsoonは日本の会社が運営しているサービスなので、特にこだわりが無ければそのままで良いと思います。
widgetoon.js & count.jsoon に登録する
「登録先」とされているサイトにアクセスしましょう。
http://jsoon.digitiminimi.com/
サイト登録申請をクリックします↓
利用規約に同意したら、登録するサイトのURLとメールアドレスを入力して「サイト登録」をクリック↓
登録処理は大体が1日で完了しますが、人力でやっているようなので週末を挟むと2,3日かかったりします。
登録が完了するとメールでお知らせが来て、記載されているURLにアクセスするとユーザーページにアクセスできます。
これでSNS Count Cache側では特に何もしなくてもシェア数の取得ができるようになっていますが、Twitterアカウントを連携させると登録以前のツイートも回収できるようなので連携しといた方が良さそうです。
ツイッターアカウントを連携する
ユーザーページのTwitter連携のところにある「連携する」をクリックします↓
連携認証の画面になったら「連携アプリを認証」をクリック↓
ユーザーページで「正常稼働中」になっていればオッケー↓
これでTwitterのシェア数取得のための設定は完了です。
Facebookのシェア数を復活させる
Facebookも仕様変更により、シェア数を安定して取得するために「App IDとApp secret」を設定しなければいけなくなりました。
ということでまずは「App IDとApp secret」を取得しましょう。
App ID と App secret の取得
まずは https://developers.facebook.com/ にFacebookのアカウントでログインします。
初めて使う場合は「開発者登録」がありますが簡単だと思います。
次に右上の「マイアプリ > 新しいアプリを追加」をクリック↓
ウィンドウが開いたら、表示名・メールアドレス・カテゴリを入力してから右下の「アプリIDを作成してください」をクリック↓
表示名はサイト名とか自分が分かりやすいもので。日本語でも大丈夫です。
セキュリティチェックで画像認証があるので、入力したら「送信」します↓
そうしたらこのような「プロダクト設定」の画面になるので、左のメニューから「ダッシュボード」をクリックしましょう↓
作成した App ID と App secret を確認することができます。
「表示」をクリックするとFacebookのパスワードを求められることもあります↓
SNS Count Cache での設定
次はSNS Count Cache側での設定です。
「SNS Count Cache > 設定」を開いて、「シェア基本キャッシュ – Facebook」の項目で取得した App ID と App secret を入力してから「設定の更新」をクリックします↓
本来はこれで完了のはずですが、SNS Count Cacheの「バージョン0.10.0」はバグがあるようで、まだエラーが表示されています↓
SNS Count Cache のバグを修正する
プラグイン内のファイル「sns-count-cache.php」を編集する必要があります。
FTPソフトでサーバーから「wp-content > plugins > sns-count-cache」にアクセスするか、またはWordPress管理画面の「プラグイン」からSNS Count Cacheの「編集」をクリックしてもファイルにアクセスできます。
修正するのは「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のシェア数取得が復活します。
こちらの記事を参考にさせて頂きました。ありがとうございます。
Pocketのシェア数を復活させる
最後にPosketのシェア数を復活させる方法です。
やること多くて大変ですね・・・(笑)
あと少しなので頑張りましょう!
プラグインファイルの「class-scc-share-pocket-strategy.php」を編集します。
FTPソフトでサーバーにアクセスするか、WordPress管理画面からの場合は文字検索(Windowsは”Ctrl + F”、Macは”Command+ F”)すると見つけやすいです↓
修正その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のシェア数も復活させることができました。
こちらの記事を参考にさせて頂きました。ありがとうございます。
まとめ
ということで長くなってしまいましたが2016年11月時点での「SNS Count Cache」の不具合対策はこれでオッケーでしょう!
SNSはどこも仕様変更が多いのでプラグインの作者様も大変でしょうね〜。
修正の情報を提供してくださっている皆様に感謝!ありがとう〜!
ではまた〜♪
comment
めちゃくちゃ参考になりました。
まとめてくれて見やすいです。ありがとうございます。
コメントありがとうございます!
お役に立てて幸いです♪