JetPackのサイト統計が初期化(0pv)にされる理由がなんとなくわかった
2014/11/22
JetPackの「WordPress.comサイト統計情報」は非常に便利な機能で、
ほぼ(数十秒のタイムラグはある)リアルタイムでアクセス履歴が確認できます。
ただ、怖いのがJetPackプラグインを停止した際などに、
サイト統計情報がリセットされて過去の統計情報が見れなくなることがあります。
そんな症状が発生する原因と対処方法についてご紹介します。
JetPackのサイト統計が初期化(0pv)にされる理由がなんとなくわかった
まず、先日2014/09/02にサイト統計がリセットされてしまった
サイトのご紹介から。
サイトの公開は8/11でしたが、現在は9/2以降のサイト統計しか表示されていません。
公開時からトラッキングを開始
JetPackの「WordPress.comサイト統計情報」
さて、これはわざと9/2に動作確認を兼ねて、
JetPackプラグインの停止・再有効化を行ったので、まぁ、消えてもいいかなと思っての実験です。
実験すると、実際に消えてしまって「あららー」と思ったのですが、
これが1年以上経過したサイトで発生したら、悲しみは半端ない訳です。
そこで、どんなパターンで発生するのかを検証しようと、以下の投稿でパターン検証しました。
しかし、実際にサイト統計が初期化される症状には出会うことができませんでした。
要は、再現しないんですよね・・・。
再現しない理由と原因はサポートに明記されている
なぜ、何度やっても再現しないのかと調べていましたら、
サポートページに対して、明確に発生する理由が明記されていました。
また以下でご紹介していますが、発生したらサポートページで依頼して、
サイトを正しいサイト統計情報に対して接続するように対応してもらうことができます。
発生する原因は以下のように書かれています。
With Jetpack, your stats information is connected to a unique blog ID. Sometimes, if a site owner was using a development site or a different URL address when they set up Jetpack, disconnecting and reconnecting may create a new blog ID. When this happens, it may appear that your stats and/or followers were lost.
(意訳)
Jetpackのでは、 あなたの統計情報は、一意のブログIDに接続されています。
時に、サイトオーナーが開発用サイトや異なったURLアドレス(ドメイン)でJetPackをセットアップしたとした、(JetPackをWordPress.comアカウントから)連携解除し、再連携すると新しいブログIDが作成され、問題が発生する場合があります。
それはあなたの統計情報およびフォロアーを失ったように見えることがあります。
ということなので、現状で特に別のサイトなどを構成したり、
引っ越したりといったことをしなければ、こうした症状が発生することはほぼないと言えます。
何度テストをしても、発生しない訳です。。。
もしこうしたケースに出会った人は諦める前に、一度サポートに依頼してみてはいかがでしょうか?
2014/09/28追記
実際の依頼手順を以下でご紹介しました。
私の原因はサーバー移動
このサイト統計がリセットされてしまった私のサイトはドメイン名は変更していないのですが、
100円サーバーからminibirdに引っ越しをしたサイトです。
ドメインを変更していませんので、
両方のサーバーを並行運用してDNSの切り替えを行っています。
データはSQLのインポート同様に丸ごと移行しています。
ファイルもFTPで落として、アップロードです。
要は、同じドメイン名とは言え、
2サイト上で同時にJetPackが有効になっている状態でした。
サイト移行ですから当然どちらも有効なので仕方ないのですが、
こうして異なったサーバー(IP)から、
同じアカウントで接続されていたことが問題なのかもしれません。
プラグインを停止するまでは問題は発生しない
こうしてデータベースをごっそり移動した時には、
JetPackのオプションデータもそのまま移行するため、
ミラー状態になっていても正常にアクセス統計もカウントされ、一応は動きます。
しかし認証を有効にしているのはあくまでも旧サイト側のJetPackのままになっています。
旧サイトで有効になっているJetPackに対して、
移行先の新サイト側が、アクセスデータを送信しているに過ぎません。
そして・・・
新しいブログIDが割り当てられて、サイト統計がリセットされるのは、
WordPress.comアカウント再連携を行った時です。
ですから「WordPress.comアカウント連携解除・再連携」または、
「プラグインの停止・再有効化(のちにWordPress.com連携が必要)」を行うまでは、
問題なく動いて見えているわけです。
プラグインを一旦停止してみて「WordPress.comアカウント再連携」を行なったら最後、
サイト統計が見えなくなります。
言うならば、スリーピングボムのようなもので、
自分で発動スイッチを押してしまっている状態です。
触らなければ、ブログIDが変わることはなかったのです。
「プラグインを停止したらサイト統計がみれなくなった」 というのは、
そういう動きだからです。
過去にサイトを移行した等の事情があって、ずっと爆弾を抱えていたということなのです。
自己解決の手法をいろいろ試しましたが、
上記で記載したとおり、WordPress.com側で接続を切り替える必要があるようなので、
サーバー側でいくらデータを触っても解決はしませんでした。
2014/09/28追記
メインのサイトで発生していたサイト統計が見れない症状が、
発生するまでに行った操作について以下でご紹介しています。
おそらく同じ症状に出会った人は、
別サイトを新たに作成するなどの操作をされているはずです。
以下は、自分でなんとか解決できないかと色々試行錯誤をしましたが、
結果としてJetPack連携をした時点でテーブルデータが上書きされ上手くいきませんでした。
以下の情報は、正しい情報ではありません。
同じようにやってみても何も解決はしません。
発生したサイトのテーブルデータを確認して自己解決試行(失敗)
これまで様々なパターンで検証をしても再現しないという状況ですので、
逆のアプローチをするしかありません。
データベース内部の値をチェックします。
問題が発生したサイトのサイト統計をWordPress.com側で確認してみます。
ダッシュボードを開きサイト統計から[Show me]をクリックすると確認できます。
※これは9/2にサイトがリセットされて、そのまま過去データを諦めたサイトです。
過去に統計情報がリセットされたサイト
サイト統計をWordPress.com側で確認すると、このサイトのブログIDが分かるのですが、
URLを見るとブログIDが「72140479」となっています。
さて、ではデータベースを確認してみます。
ここでは、SQLデータをエクスポートしたレコード(一部抜粋)でご紹介します。
wp-optionsテーブル内の各レコードを確認していくと、 以下のようなオプション名のレコードがあります。
- stats_options
- jetpack_options
それぞれのレコード内の一部に以下のように8桁のコードが埋め込まれていると思います。
この8桁のコードがブログIDです。
‘stats_options’, ・・・・ ;i:72658547;s:12:”do_not_track” ・・・ となっています。
‘jetpack_options’, ・・・ ;i:72140479;s:6:”public”; ・・・となっています。
ちょっと長いので転記しませんが「jetpack_log」というレコードでは、
上記のサイトIDの両方が混在してログが残っていました。
サイトのブログIDが新しいサイトに更新されてしまい、
旧データにアクセスできなくなっているようです。
私の場合、本来表示したかった(以前から統計情報を利用していた)ブログIDは、
‘stats_options’に残っているままの「72658547」なのです。
ちなみに、このブログIDを利用してWordPress.com側のサイト統計を表示すると、
有効になっていない為、アクセスすることができません。
統計情報がリセットされたことのないサイト
JetPackでサイト統計がリセットされたことのないサイトのデータベースを確認してみると、
この2レコードやログレコードに埋め込まれたサイトIDすべてが一致しています。
こちらのサイトのサイトIDは「75170940」です。
‘stats_options’, ・・・・ ;i:75170940;s:12:”do_not_track” ・・・ となっています。
‘jetpack_options’, ・・・ ;i:75170940;s:6:”public”; ・・・となっています。
となると、自分でテーブルデータを意図するサイトIDに変えればいいんじゃね?
そう思いますよね。
レコードの更新を試行したがNG
サイトIDの不一致が発生しているサイトのレコードをデータベース上で変更してみます。
‘jetpack_options’ レコードを旧サイトIDに変更するために、
一旦、JetPackプラグインを念のため停止します。
そののち、’jetpack_options’側のレコードを、旧サイトIDに更新します。
‘stats_options’, ・・・ ;i:72658547;s:12:”do_not_track” ・・・
‘jetpack_options’, ・・・ ;i:72658547;s:6:”public”; ・・・
レコードを更新したら、再びJetPackを有効化します。
有効化したらWordPress.comアカウントと連携します。
※私の場合は連携済みの状態で表示されました(そもそもこの動作がおかしい!)
次にサイト統計情報を確認します。
と表示すると・・・
‘jetpack_options’, ・・・ ;i:72140479;s:6:”public”; ・・・に
戻された!! orz…
‘jetpack_options’を単独で変更してJetPackにWordPress.comアカウントを接続した際に、
おそらくドメイン名などからサイトを判定し、
正しい(新しいブログID側)サイトのブログIDに更新されてしまいます。
では、プラグインを停止せずに更新
前回はプラグインを停止してからレコード更新を行ったので、
今回は停止せずにすり替えてみます。
これならWordPress.comのアカウント連携がいらないでしょうから。
しかし結果は、サイト統計を確認すると表示でエラーになります。
ま、そうですよね。
You are not a member of this site.
If you have just installed the WordPress.com Stats plugin, this error probably appeared because the API key entered in the plugin belongs to a different WordPress.com user account.
The owner of the API key must visit this site’s stats page to grant access.
なんか、この画面は見た記憶がありますね。
昔一度、この画面に出会って、JetPackを停止しなきゃダメか、、と
しぶしぶ停止・再有効化をして、サイト統計を消した記憶があります。
色々とテーブルのレコードをあれこれ変更しては、再連携と試しましたが、
結局、今利用しているドメインに紐づけられてしまっているようで、
何度やってもエラーになって「WordPress.comアカウント連携の解除」をさせられ、
WordPress.comアカウント再連携するとブログIDを戻されるという繰り返しになりました。
さいごに
サポートで「私たちが再接続する」と言っているように、
サーバー側でいくらブログIDを変更してもうまくいきません。
やはり、WordPress.com側に登録されているデータの変更が必要なようです。
WordPressはWordPress Foundation の登録商標(第5049965号)です。
WordPressロゴ、アイコンその他のマーク等はWordPress Foundation の商標であり、
WordPress Foundation の著作物です。
WordPress.comはWordPress Foundation が管理運営を行うドメインならびにサービスの名称です。
WordPress.com、WordPress.net、WordPress.org、WordPress.tv、
WordPressFoundation.orgはWordPress Foundationが
管理運営を行なう正式なトップレベルドメインであるとともに、
WordPress Foundationが運営を行うサービスの名称です。
wordpressはFree Software Foundation, Inc.によってGPL2+でライセンスされています。
関連記事
-
phpMyAdminでMySQLデータをサーバー上からインポートする
Google or AdMax Promotion(it) 禁断の機能がau公式 …
-
headタグ挿入にWP Headmaster_v0.2-wordpressプラグインを利用
Google or AdMax Promotion(it) 禁断の機能がau公式 …
-
WordPressのサイドバーにサイト内検索フィールド(ボックス)を設置する方法(標準)
Google or AdMax Promotion(it) 禁断の機能がau公式 …
-
headタグ挿入にAdd Text To Head(Add Code to Head)-wordpressプラグインを利用
Google or AdMax Promotion(it) 禁断の機能がau公式 …
-
WordPress4.0が公開されインストール(日本語化は画面選択のみ)
Google or AdMax Promotion(it) 禁断の機能がau公式 …
-
Twitter™への共有をJetpack by WordPress.comで行う動作
Google or AdMax Promotion(it) 禁断の機能がau公式 …
-
ローカル環境へのApache設置
Google or AdMax Promotion(it) 禁断の機能がau公式 …
-
headタグ挿入にInsert Headers and Footers-wordpressプラグインを利用
Google or AdMax Promotion(it) 禁断の機能がau公式 …
-
(phpMyAdmin)タイムアウト設定の動作と確認
Google or AdMax Promotion(it) 禁断の機能がau公式 …
-
GoogleAnalyticsのユニバーサルアナリティクスコードを取得する(追加)
Google or AdMax Promotion(it) 禁断の機能がau公式 …