先日、Google Search Console Teamからこのようなメールが届きました。
何のことを言っているのかさっぱりわからなくて焦りましたが、なんとか対応できましたので忘備録として残しておきます。
この問題の原因
原因は、SSLの登録をした後、常時SSL化してなかったことでした。
「http://~」のURLと、「https://~」のURLが両方使えて、どちらでもアクセスできるようになっていました。
原因を検証するために、サーチコンソールの「URL検証」で、https://のトップページのURLを入力します。
そうすると、ユーザーが指定した正規URLとGoogleが選択した正規URLが異なっていることがわかります。
このブログでは「スターサーバー」を使っていて、独自無料SSLの登録をしていましたが、それだけでは常時SSL化はされないようです。
私は「https://」のページを正規URLに指定していたのですが、googleはなぜか「http://」のURLを正規URLとみなしていたようでした。
問題の解決方法
この問題を解決するためにやったことは以下の通りです。
①WordPressに設定されているアドレスをhttpsに変える
②プラグイン「Better Search Replace」を用いて修正が必要なページを修正
③.htaccessを設定してhttpのURLをhttpsにリダイレクト
ひとつづつ説明していきます。
①WordPressに設定されているアドレスをhttpsに変える
WordPressのダッシュボードを開き、設定からWordPressアドレス(URL)とサイトアドレス(URL)を変更します。
http://~になっている場合、https://~に変更します
②プラグイン「Better Search Replace」を用いて修正が必要なページを修正
WordPressで以前に設定された内部リンクなどのURLを変更する必要がありますが、このプラグインを使うと簡単に変更できます。
まずは以下のプラグインをアップロードし、有効化します。
ダッシュボードを開き、「ツール」の中の「Better Search Replace」を開きます。
「検索」欄にhttpのURLを入力し、「次と置き換え」欄にhttpsのURLを入力します。
「テーブルを選択」欄に表示されているテーブルをすべて選択します。
※ctrl+Aもしくはcmd+Aで全選択できます。
「Run as dry run」にチェックを入れれば、置き換えを行う前に変更箇所を確認できます。
確認を行い、問題がなければ「Run as dry run」のチェックを外して置き換えを実行します。
③.htaccessを設定してhttpのURLをhttpsにリダイレクト
私はスターサーバーを使っていますので、スターサーバーの例で説明いたします。
サーバー管理画面から、「FTPアカウント設定」→「WebFTP」のログインに進みます。
ファイルマネージャーが開くので、「.htaccess」を探し、4つ並んだボタンの一番左、「紙と鉛筆のボタン」をクリックします。
編集画面が開くので、もともと入っているコードを消さないように気を付けて、上に以下のコードをコピペします。
RewriteEngine On
RewriteCond %{HTTPS} !on
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
「http://~」のURLでアクセスしてみて、自動的に「https://~」のURLへ転送されれば設定完了です。
Search Consoleで修正を検証を申請
サーチコンソールから届いたメールのリンクを開き、修正を検証をクリックします。
検証が開始されます。
※検証には数日以上かかります。
問題がなければこのエラーアラートは消えるはずです。
注意点
今回の方法はスターサーバーを利用している場合に限りますので、リダイレクトの方法は契約しているサーバーによって変わる場合があります。
また、私の場合は常時SSL化されていなかったことが原因のエラーでしたが、別な要因でこのエラーが出ることもあるかもしれません。
サーチコンソールで「URL検証」を行い、それに沿って対応を考えるようにしましょう。
コメント