Site Kitプラグインで別URL を認識させる方法
内容
WordPressの管理画面のURLとエンドユーザ向けのURLのドメインを変えている場合に、Site Kitにエンドユーザ向けのURLを認識させる方法。
公式の下記案内に沿って試したが上手くいかず、色々試したら理由はわからないが登録する手順を見つけたので、備忘録として残しておく。
Use Site Kit with a staging environment
https://sitekit.withgoogle.com/documentation/using-site-kit-on-a-staging-environment/
前提
- WordPressの管理画面のURLを https://wp.example.com とする
- 認識させたいURLを https://front.example.com とすし、以下では「フロントのURL」と呼ぶ
事前準備
- 管理画面のURLにアクセス制限がある場合は、一時的に解除する
- 「Site Kit by Google」プラグインと「Site Kit by Google Dev Settings」をインストールし、有効にする
- 管理画面のURLのTOP(https://wp.example.com) でHTTPステータス200、かつwp_head、wp_footer関数を実行した結果をレスポンスする(補足後述)
- 下記を満たすGoogleのアカウントを用意する
- Search Consoleに https://front.example.com が登録されており、閲覧以上の権限を持っている
- Googleアナリティクスに https://front.example.com が登録されており、閲覧以上の権限を持っている
管理画面のURLのTOP(https://wp.example.com) で必要なレスポンスをするためのコード例
<?php
wp_head();
print("index");
wp_footer();
?>
登録手順
1. 管理画面「Site Kit Developer Settings」で「OAuth 2.0 クライアント」を作成
「Create your credentials」からGoogle Cloud Platformの「OAuth 2.0 クライアント」を登録する。
「OAuth 2.0 クライアント」の「承認済みのリダイレクト URI」には下記を設定する
https://wp.example.com/wp-admin/index.php?oauth2callback=1
2. 管理画面「Site Kit Developer Settings」で設定
「Google OAuth2 Client ID」「Google OAuth2 Client Secret」に登録手順1で用意した「OAuth 2.0 クライアント」のクライアントIDとクライアントシークレットを設定、保存する
3. 管理画面「Site Kit Dashborad」で設定
「SIGN IN WITH GOOGLE」ボタンからGooeleのログインページに遷移し、用意していたGoogleアカウントでログイン。
その時求められる認可は全て許可する。
4. Site Kitの認証ステップ「Verify URL」で失敗する
下記のエラーメッセージが表示されて失敗する
The necessary verification token could not be found on your site
この時、管理画面のURLに対して下記のようなリクエストが発生している。
"GET / HTTP/1.1" 200 3557 "-" "Mozilla/5.0 (compatible; Google-Site-Verification/1.0)"
"GET /?cachebuster=2754430646 HTTP/1.1" 200 3557 "-" "Mozilla/5.0 (compatible; Google-Site-Verification/1.0)"
4. 再び管理画面「Site Kit Developer Settings」で設定
「Google OAuth2 Client ID」「Google OAuth2 Client Secret」を空にする。
さらに、「Custom Site URL」に https://front.example.com を登録する。
5. 管理画面「Site Kit Dashborad」で設定
画面の案内に沿って登録していくと、前回失敗した「Verify URL」も成功する。(理由は不明)
この登録時に管理画面に対して下記のようなリクエストが発生している。(HTMLファイル名は変えています)
"GET /googleabcdefg12345.html HTTP/1.1" 200 64 "-" "Mozilla/5.0 (compatible; Google-Site-Verification/1.0)"
"GET /googlezyxwvut98765.html HTTP/1.1" 404 13 "-" "Mozilla/5.0 (compatible; Google-Site-Verification/1.0)"
"GET /googlezyxwvut98765.html HTTP/1.1" 404 13 "-" "Mozilla/5.0 (compatible; Google-Site-Verification/1.0)"
"GET /googleabcdefg12345.html HTTP/1.1" 200 64 "-" "Mozilla/5.0 (compatible; Google-Site-Verification/1.0)"
「/googleabcdefg12345.html」が200になっているが、こんなファイルはサーバー上に置いていない。
でも
https://wp.example.com/googleabcdefg12345.html
にアクセスすると、たしかにレスポンスがある。
Site Kitが良しなにしてくれていると予想。(これ以上は調査していない)
6. 管理画面「Site Kit Dashborad」で設定
登録手順5でSite KitとSearch Consoleが連携しているはずなので、後は通常の使い方と同様にアナリティクスなど連携したいツールを追加する