https(SSL)化で0(ゼロ)になったFaebookのシェア数を復活させる方法

ABOUTこの記事をかいた人

兵庫県加古川市在住の2児の父親です。
・ブログのサポート(月額会員制スポット
・某コミュニティの技術サポート
オルゴナイトのネットショップ店長
アクセスバーズ™️プラクティショナー

最近は、ダークファンタジーもののマンガやアニメが好きすぎて困ってますw

どうも、癒せるブログサポーターがみたかです。

この記事にアクセスしていただいたということは、https(SSL)化したことで、Facebookのシェア数が0のままカウントされなくなったのでしょうか?

カウントが消えてしまったFacebookのシェア数

正常にカウントされているFacebookのシェア数

 

獲得したシェア数がhttps(SSL)化によってリセットされるだけならまだしも、それ以降もカウントしなくなるのはなんとも悲しいです。

モフモフさん
記事の人気が無いみたいモフ…

 

厳密にはhttps(SSL)化とシェア数カウントの因果関係は少ないのですが、これがきっかけでカウントしなくなった(SSL化やスポットサポートの)クライアントさんがいらっしゃるようなので、その解決方法について解説しようと思います。

ただし、Wordpressはユーザーの環境に大きく左右されるシステムのため、必ず解決できるとは限りません。その場合は個別に対応させていただきますので、お気軽にスポットサポートにお申し込みください^^

 

https(SSL)化後にFacebookのシェア数がカウントされなくなった時に確認する3つのポイント

https(SSL)化をした後で、Facebookのシェア数がカウントされなくなってしまった時に、まずはこの3つを確認及び試してみてください。

おそらくこれで9割は復旧(シェア数のカウント+http時代のシェア数引き継ぎ)ができると思います。

偉大な冒険家
プラグインの『SNS Count Cache』は必ずインストールしておけよ!

 

ポイントその1:『SNS Count Cache』のスキーム移行モードを有効にする。

これは定番で、どのサイトでもhttps(SSL)化の仕上げとして紹介されていると思いますが、念のため…

 

1.「SNS Count Cache」→「設定」をクリック。

 

2.「HTTPからHTTPSへのスキーム移行モード」を「有効」にして「設定の更新」をクリック。

通常は、この設定だけでhttp時代のシェア数を引き継ぎ、https後のシェア数をカウントしていくはずですが、

偉大な冒険家
それでもカウントされないからこのページに来たんだよ!

という怒りの声が聞こえそうなので、ひとまず次のポイントに行きましょう(^_^;)

がみたか
余談ですが、この手のジャンルで5時間以上ネットで調べているとあまりの非ユーザー目線の記事ばかりで殺意が芽生えてきますw
偉大な冒険家
なんてデカいブーメランだw

 

ポイントその2:FacebookのAPI(アプリ)バージョンが2.8以下になっているか確認する。

おそらく『SNS Count Cache』でFacebook設定をする時に、アプリを作って「App ID」と「App Secret」をFacebook開発者向けページからコピペしたことだと思います。

詳しい話は専門的すぎるので後で書くとして、確認の手順を書いて行きます。

 

 

1.Facebookにログインし、『Facebook開発者向けページ』にアクセスする。

 

2.「マイアプリ」をクリック。

3.該当するアプリ(この場合は「シェア数カウント」)をクリック。

 

4.「APIバージョン」を確認する。

 

Facebookのシェア数がカウントされない場合は、おそらくこのAPIバージョンが「v2.9」より新しいはずです。

2017.9.7現在「v2.10」が最新です。

ただ、困ったことにこのアプリは新規で旧バージョンを作ることも、既存のものをダウングレードすることができません。

そのため手持ちのアプリにv2.9以下のものがない場合、

  • プラグイン『SNS Count Cache』のアップデートを待つ。
  • 僕の手持ちのアプリを使って設定する。

v2.9以降の変更点は情報として公開されているのでアップデート待つのも良いですが、すぐに復活させたい場合は後者の方法で『スポットサポート』にて対応させていただきます^^

旧バージョン(v2.8以下)を持っていた場合は、そのまま読み進めてください^^

 

5.旧バージョン(v2.8以下)の「アプリ ID」と「app secret」(表示させたもの)をコピーする。

 

6.「SNS Count Cache」→「設定」と開く。

 

7.「シェア基本キャッシューFacebook」にある「App ID」「App Secret」にそれぞれ貼り付けて「設定の更新」をクリック。

 

8.全てのカウントが「N/A(キャッシュされていない状態)」になるので、「キャッシュ状況」のタブを開き、「キャッシュ」をクリックすると強制的にキャッシュを取得します。

(画像は取得後の状態になります。)

 

9.キャッシュを取得すると、少しFacebookのシェア数が復活すると思います。

しかし、この状態はhttps(SSL)化以降のシェア数になります。

ブログ開設と同時にhttps(SSL)化している場合はそれでも良いのですが、http時代のシェア数がある場合、できれば合算したいのがブログ運営者というもの。

次のポイントでhttp時代のシェア数も取得しましょう!

 

ポイントその3:プラグインファイル「sns-count-cache.php」を編集する

ここも詳しい解説はあとにして、まず手順を書いていきます^^

1.「プラグイン」→「プラグイン編集」をクリック。

 

2.右上のドロップダウンから「SNS Count Cache」を選び「選択」をクリック。

 

3.『sns-count-cache.php』が開くので「scheme_migration_exclude_keys」をページ内検索する。

 

Ctrl+f」(Macは「command+f」)でページ内検索ができ、画像の場所は2つめの場所になります。

4.該当箇所を「//」の追記で無効化(コメントアウト)する

必ず「ファイルを更新」で保存してください^^

がみたか
TwitterやPocketはついでですw

 

5.「SNS Count Cache」→「設定」を開き、キャッシュを消去する。

 

6.「キャッシュ状況」のタブを開き、「キャッシュ」をクリックして取得する。

 

7.これでhttp時代のシェア数とhttps(SSL)化以降のシェア数が合算されて表示されるようになります。

 

ただし、冒頭で書いたようにこの環境によってはシェア数が取得されない場合がありますので、その時は「スポットサポート」にお任せください^^

興味があれば続きの復活までの経緯と解説も読んでください^^

 

シェア数を取り戻すまでの経緯と参考サイト

かなり専門的な案件なので、当然僕1人では解決できなかったので、先人の知恵として参考にさせていただいたサイトと、Google先生に感謝です^^

ここからは専門的すぎるので、ユーザー目線を無視したややテキトーな説明になるので、ここでこのページを閉じてご自身のブログを修正しに戻っていただいても結構です^^

シェア数を表示されなくなる理由

Facebookでシェアした記事(URL)は記事ごとにFacebookのデータベースに保存され、URLが載った投稿に「いいね!」されたり、コメントがついたり、シェアされたりすると、カウントが増えていくのだと思います(たぶんw)

それぞれのURL情報は、「シェアデバッガー」で確認することができます。

そのため、https(SSL)化すると「s」が付いただけとはいえ、URLが変わことになるので、見た目上のカウントがゼロになってしまいます。

http://ドメイン.com」→「https://ドメイン.com

そこで、シェア数がなんとか引き継げないか?となった時に、プラグイン『SNS Count Cache』が便利なので、多くの人が使っているんじゃないかなと思っています。

偉大な冒険家
俺は誰かに言われるがままに入れただけだけどな!
がみたか
そういう人も多いやろうね(^_^;)

それはどっちでもいいけどw

また、「シェア数が表示されなくなる」というのは、システムのバージョンアップに伴い、何らかの理由(コードの記述的な部分)で現状では対応できなくなることで、

「データベースから必要な情報(シェア数)を取り出せなくなることによって起こる」

のではないかと思われます。

 

では、それらを踏まえた上で、各ポイントについて書いていこうと思います。

 

ポイント1の経緯と解説(『SNS Count Cache』の「httpsへのスキーム移行モード」について)

『SNS Count Cache』にある「httpsへのスキーム移行モード」というのは、httpのシェア数を取得しつつ、https(SSL)化より後で獲得したシェア数を、合算して表示させるモードになります。

これは多くのサイトで解説されているのですが、「とりあえず有効にしといたらOK」ぐらいに考えてたらいいと思いますw

 

ポイント2の経緯・解説と参考サイト(Facebook apiバージョンについて)

詳しい説明は専門的すぎるので割愛しますが、

「APIバージョンが「v2.9」より新しいと『SNS Count Cache』の仕組み上、対応できなくなってしまうためFacebookのシェア数がカウントできなくなる」

というのが直接的な原因だそうです。

もちろん、v2.9以降でどのようにすればシェア数を取り出せるか?という情報はあるので、プラグインをカスタマイズすればシェア数を取得することができるようになると思います。

偉大な冒険家
俺は面倒だからプラグインのアップデートを待つぜ!
がみたか
でもこの理屈を知らないままアップデートしたら混乱するやろね(^_^;)

 

この時に参考にさせていただいたサイトはこちら。

WordPress プラグイン「SNS Count Cache」で Facebook のシェア数が取得できない理由は API バージョン|雑記BOOOKS 様

この方もヒントにされた下記のツイートで、今回の「Facebookのシェア数が表示しない事件」に光が差し込んだのは間違いありませんw

実はこのツイートにも続きがあって、

どういうことかというと、

  1. 一度ブログをhttpに戻してシェア数を取得し直す。
  2. 『SNS Count Cach』のデータをcsvにエクスポートする。
  3. 再度ブログをhttpsにしてからデータ内にある「http」を「https」に書き換えてインポート
  4. シェア数復活!ヽ(゚▽^*)乂(*^▽゚)ノ バンザーイ♪

 

あああ!!めんどくせぇぇぇ!!ノ ゚Д゚)ノ ==== ┻━━┻

 

とはいえ、試しに少しだけhttpのデータをエクスポートして試したものの、なぜか上手くいきませんでした(^_^;)

まあ、この方法ですと「キャッシュを削除」するとその都度http時代のデータをインポートする必要があるかもしれないで、全然実用的ではありませんね(^_^;)

がみたか
それに気付いたからか、検証するのもめんどくさくてやっていませんw

 

さらに専門的な話になりますが、v2.9以降とv.2.8以前の違いは、Facebook側で決めた「シェア数を読み込むためのコード」です。

GET {url}のshareフィールドは削除されました。代わりに、engagementフィールドが追加されました。
FacebookGraph API 更新履歴より

このように、v2.8までは[share]で読み込んでいたものがv2.9から[engagement]と全く別の名前になってしまったので、v2.8までしか対応していない『SNS Count Cache』が「そんなフィールドねぇよ」となり、シェア数がカウントされなくなったんだと思います。

しかし、この辺りを上手く置き換えるカスタマイズができれば、v2.9でもFacebookのシェア数をカウントすることができるかと思っています。

偉大な冒険家
マジで!プラグインの開発者さんお願いしますm(_ _)m

 

ポイント3の経緯・解説と参考サイト(http時代のシェア数取得)

ポイント2でのhttp時代のシェア数取得に失敗(諦めた)僕が次に見つけて参考にさせていただいたサイトはこちらです。

お宿にもSSL化の波が押し寄せてキター|あかつきのお宿

 

このサイトによると、「sns-count-cache.php」で「//」を追記した部分というのは、

これは「公式の方がhttpからhttpsにシェア数を引き継いでくれるサービスに関しては、こっちではhttpとhttpsの両方からは取得しないよ」的な設定です。
引用:あかつきのお宿より

とのことで、通常httpかhttpsのどちらか片方しかシェア数を取得できなかったものを、コードに「//」を入れて無効化することで、httpとhttpsの両方から取得してくれるようになるみたいです。

参考サイトには「2倍に水増しできちゃうかも?」と書かれていましたが、こちらで作業した環境では大丈夫だったので、僕の書いた記事どおりの手順だとhttp時代のシェア数を引き継ぎつつ、https(SSL)化以降のシェア数をカウントしてくれる仕様にうまくできたのではないかと思います^^

 

https(SSL)化で失ったFacebookのシェア数を復活させる方法:まとめ

なにはともあれ、https化によってFacebookのシェア数が0(ゼロ)になってカウントしなくなった時は、この3つを試してみてください。

  • プラグイン「SNS Count Cache」の「httpsへのスキーム以降モード」を有効にする。
  • Facebookアプリで、apiがv2.8以下のものを使う。
  • 『sns-count-cache.php』にある「self::REF_FOLLOW_FACEBOOK,」に「//」を追記する。

これで9割はFacebookのシェア数が正常に取得できるようになると思います^^

 

ですが冒頭にも書いたようにWordpressは環境によって全然変わってきますので、もしこれらをやっても上手くできなかった場合は他の原因が考えられるので、そんな時こそ「スポットサポート」を活用していただけたらと思います^^

 

それでは、今回はこの辺で!また次の記事でお会いしましょう^^

 

次の記事はこちらです!
SSL化をする時に混在コンテンツ「!」の原因がわからない時に確認する方法

 

ブログ運営者のためのサポート保険!

ブログのトラブルや困ったことに時間を取られて

自分のやるべきことが出来ていない人のためサービスです!

 

アクセスバーズ™️を詳しく知りたい?

アクセスバーズ™️を、わかりやすく解説したメルマガ講座やってます。

登録していただいた特典として、

アクセスバーズ™️のセッションを特別価格で受けていただけます^^

 

アクセスバーズ™️を受けてみませんか?

「脳のデトックス」で、頭の中をクリアに!

アクセスバーズ™️セッションのお申し込みはこちらまで^^

Facebookアイキャッチテンプレ02

 

この記事が気に入ったら
いいね!をお願いします。

Twitter で

記事が気に入ったらシェアをお願いします^^