
WordPressを稼働しているとどうしてもアクセス解析等を行うことも多いと思いますが、その際によく利用するのがGoogleのSearch Consoleとかだと思います。
で、毎回Google Search Consoleなどにアクセスするのは手間だなぁと思っていますが、どうやらGoogleが公式解析プラグイン「Site Kit」を公開していたようです。
で、そちらのセットアップを使用したいと思った時、なぜかエラーで手間取ったのでメモ代わりに書いておきます。
公式サイト
こちらのプラグインを導入することで、Googleの「Search Console」「Analytics」「PageSpeed Insights」「AdSense」などが一つの画面で管理、確認できるようになります。
ちなみGitHubで開発が行われています。
セットアップ手順
こちらについては、以下のWebサイトが詳細に書いておりますので丸投げします(申し訳ありません)。
基本的には、Site Kit By Googleの公式サイトから、Site kitプラグインのzipファイルをダウンロードし、WordPress側でプラグインファイルをアップロードするだけです。
正常にインストールすることが出来たら、あとはウィザードに従ってセットアップを進めるだけ、なのですが、うちの環境では以下のようなエラーが。
問題

json形式のパラメータを貼り付けて、いざGoogle API側との連携のためにサインインをしようとすると、以下のようなエラー画面に。

なんか、client_id
とかredirect_url
などのパラメータが正しく渡せていないようです。他のWebサイトで導入した時はこのようなエラーが発生しなかったのでなんでかなーと思い、ちょいと調べてみました。
Googleを検索してみると、以下のような感じ。
これに該当するような直接的な情報は見つからず。
Apache側の問題かなーと思い、error.logを確認したところ以下のようなメッセージが。
[Thu Aug 01 13:37:49.736834 2019] [proxy_fcgi:error] [pid 27215:tid 140322364118784] [client xxx.xxx.xxx.xxx:52249] AH01071: Got error 'PHP message: PHP Warning: json_decode() expects parameter 1 to be string, array given in /var/www/html/wp-content/plugins/simple-ga-ranking/vendor/google/apiclient/src/Google/Client.php on line 165nPHP message: PHP Warning: call_user_func() expects parameter 1 to be a valid callback, no array or string given in /var/www/html/wp-content/plugins/google-site-kit/includes/Core/Modules/Module.php on line 296nPHP message: PHP Fatal error: Uncaught Error: Call to a member function getLighthouseResult() on null in /var/www/html/wp-content/plugins/google-site-kit/includes/Modules/PageSpeed_Insights.php:133nStack trace:n#0 /var/www/html/wp-content/plugins/google-site-kit/includes/Core/Modules/Module.php(298): Google\Site_Kit\Modules\PageSpeed_Insights->parse_data_response('GET', 'site-pagespeed-...', NULL)n#1 /var/www/html/wp-content/plugins/google-site-kit/includes/Core/REST_API/REST_Routes.php(518): Google\Site_Kit\Core\Modules\Module->get_batch_data(Array)n#2 /opt/bitnami/apps/wordpress/htdocs/wp-includes/rest-api/class-wp-rest-server.php(946): Google\Site_Kit\Core\REST_API\REST_Routes->Google\Site_Kit\Core\REST_API\{closure}(Object(WP_REST_Request))n#3 /opt/bitnami/apps/wordpress/htdocs/wp-includes/rest-api/class-wp-rest-server.php(329): WP_REST_Server->dispatch(Object(WP_REST_Request))n#4 /opt/bitnami/apps/wordpress/htdocs/wp-includes/rest-api.ph...n', referer: https://blog.komeho.info/wp-admin/admin.php?page=googlesitekit-dashboard&ip-geo-block-auth-nonce=
うまく渡せていない、ぐらいしか分かりませんね。
他にも要因になるようなものがあったかなーと改めて確認したところ、ようやく原因が分かりました。
原因
こちら「Simple GA Ranking」というWordPressのプラグインなのですが、 WordPressにGoogle Analyticsのデータと同期してランキングを表示させることで、WordPressのデータベースにランキングデータを格納しないため軽量に動作することを売りとしているものです。
で、上に書いたようにこちらのプラグインもGoogle Analyticsと連携して動作するものでして、どうやらこちらのプラグインが動作していると、今回セットアップしようとしているSite KitのAPIへのリダイレクトが正常に動作しないことが分かりました。
対応
なので、Site Kitプラグインをセットアップするときは、一旦、「Simple GA Ranking」プラグインを停止させ、Site Kitプラグインのセットアップを行うようにすれば、セットアップが正常に行われるようになりました。
ですので、Site Kitプラグインを稼働させるときは、Simple GA Rankingプラグインは使用できない、と認識していればよいと思います。
どこかで困っている人の一助になれば幸いです。