Google Search Consoleを利用していると、「『インデックス カバレッジ』の問題が新たに検出されました」というメールが届くことがあります。
今回は「リダイレクトエラー」というエラー原因と改善方法について解説していきます。
インデックスカバレッジについてはこちらも参照して下さい
インデックスカバレッジの問題が新たに検出されました の通知と対処法
リダイレクトエラーの原因
リダイレクトエラーとは、リダイレクト処理でエラーが発生している場合に表示されます。リダイレクトは、指定のWebサイトに来訪したユーザーを自動的に指定した別ページに転送する処理のことを指します。
ドメインのよくある事例としては、ドメインのSSL化(httpからhttpsへの移行)の時やページのURLが変更された時などに使われます。

URLが変更されたページでも、リダイレクトは使うことで、クローラーが変更したページのことをクロールすることができます。
ページのURLが変わっても、リダイレクトの処理をクローラーに説明することができれば、SEOに影響を与えるドメインパワーが継続して引き継がれます。
ドメインパワーについてはこちらも参照ください
ドメインパワーって何?強化できる?わかりやすく解説します
しかし、このリダイレクトが正しく設定されていないと、転送先のURLにクローラーが巡回することができないため、SEO効果は引き継がれずWebサイトへの流入数に悪影響を与えます。
リダイレクトエラーが発生している場合は、リダイレクトが意図した通りになっているかを確認するようにしましょう。
ちなみにSearch Consoleヘルプではリダイレクトエラーについて
リダイレクト エラー: Google で、リダイレクト チェーンが長すぎる、リダイレクト ループが発生している、リダイレクト URL が最終的に URL の最大長を超えた、リダイレクト チェーンの URL が無効である、のいずれかのタイプのリダイレクト エラーが発生しました。Lighthouse などのウェブ デバッグツールを使用して、リダイレクトに関する詳細情報を入手してください。
と説明されています。
やはり、どれもリダイレクトが複数回行われていることが好ましくない状態ということですね。
リダイレクトエラーの改善方法
訪問者側の場合は「cookie」に関する解決法もありますが、今回はサイトの運営者側としての対応策を紹介していきます。
対象のURLがどのような状況なのか確認する
エラーとして扱われているページがどのような状態なのかをまずは知るところから始めましょう。
先ほどもお話をしましたが、このエラーが出ているということはリダイレクトが多すぎる(ループしてしまっている)状況がほとんどです。
chromeの拡張機能などでも確認をすることができますが、今回は、URLを入力するだけでリダイレクトの状態を教えてくれるページがあるのでこちらをご紹介しておきます。
ループの原因となっているリダイレクトの特定ができたら、そのリダイレクトを設定しているファイル(.htaccessやCMSプラグインなど)を修正・無効化等を行います。
ですが、.htaccessなどサイトにとって非常に重要なファイルなので自信がない方は慎重に記述の変更を行ってください。
リダイレクトループの原因別対応
ワードプレスでリダイレクトループが起こる原因は様々ですが、大きく分けて、パーマリンクの設定不全、テーマの関数のリダイレクト設定の不全、何らかのプラグインのリダイレクトの設定不全、httpsの設定不全等が考えられます。
URLやパーマリンクの設定不全が原因の場合
サイトのURLの変更や、ディレクトリ変えによってリダイレクトループが発生した場合は、サイトURLの設定やパーマリンクの設定が正しく記載されていない可能性があります。そもそも、管理画面にもログインできなくなっている場合は、wp-config.phpに下記のようにまず記載してみます。
wp-config.phpに追加するコード
define('WP_HOME','http://ワードプレスのサイトトップページURL');
define('WP_SITEURL','http://ワードプレスのインストールディレクトリURL');
Code language: JavaScript (javascript)
次に、http://ワードプレスのインストールディレクトリURL/wp-admin/ にアクセスし、ログイン後、管理画面の「設定」→「一般」に行き
WordPress アドレス (URL) → http://ワードプレスのサイトトップページURL
サイトアドレス (URL) → http://ワードプレスのインストールディレクトリURL
を正しく記載して更新しましょう。
パーマリンクを再設定
次に管理画面の「設定」→「パーマリンクの設定」に行き、そのままページ下の「変更の更新」ボタンを押します。
(.htaccessが書き込みできなかった旨のエラーが表示されたら、FTPソフト等で直接.htaccessファイルにエラー画面に表示されている内容を書き込みましょう)
この事によりパーマリンク設定が自動的に正しい値で書き出される為、設定不全が解消される事があります。
プラグインが原因の場合
プラグインがリダイレクトループを引き起こしている場合があります。この場合、該当のプラグインを発見しプラグインの停止を行い、その結果サイトのリダイレクトループが解消されたら、今一度そのプラグインの設定を見直す必要がありますね。
W3 Total Cache
このプラグインでよくあるリダイレクトループの現象は、サイトの上記URL設定にwww.を加えると直る事があります。
WPtouch
WPtouchはユーザーがモバイルでサイトにアクセスしたときに、URLをモバイルサイトにリダイレクトします。
この機能が他のプラグインと相性が悪い場合にリダイレクトループを引き起こすことがあります。
対処方法は、他のプラグインで、モバイルアクセス時にリダイレクト機能を仕様しない設定を書き加えたりする事となります。
Redirection
Redirectionプラグインは、その名の通りワードプレスに様々なリダイレクト設定を追加できるプラグインです。
誤ったしかし、ここで誤った設定を一旦書き込んでしまうとリダイレクトループが発生する事があります。
手間はかかりますが、設定を一つ一つ検証しておかしな状態になっていないか確認しましょう。
ワードプレス本体やテーマの関数が原因の場合
ワードプレスの本体には、様々なURLを自由にリダイレクトする機能が含まれています。この機能をテーマが使用していてリダイレクトループが発生している事があります。
強制的にワードプレスのリダイレクト関数の一部を停止すると、リダイレクトループが解消される事があります。
しかし、かなり強引な方法になりますのであまりお勧めはしませんが、どうしてもほかの手段で解決できそうにない場合は、検討してみてください。
テーマのfunctions.phpにのこの記載を一番上に追加してみてください。
functions.phpに追加するコード
remove_action('template_redirect', 'redirect_canonical');
Code language: JavaScript (javascript)
https化によるリダイレクトループが原因の場合
ワードプレスをhttps化してhttpのURLからhttpsへのリダイレクトの設定を行った後に、リダイレクトループが発生する事があります。
この場合の代表的な対処方法をいくつか記載します
サイトのURLが正しく設定されているか確認する
管理画面の「設定」→「一般」より、サイトのURL設定にhttpsが含まれているか確認してみてください。
また、www.をドメイン名の前に加えてリダイレクトループが解消するかどうかも確認してみましょう。
wp-config.phpを修正する
テーマのカスタマイズとり、wp-config.phpの末尾に下記の記載を追加します
wp-config.phpの末尾に追加するコード
$_SERVER['HTTPS'] = 'on';
Code language: PHP (php)
管理画面へのログイン時に「このページにアクセスするための十分なアクセス権がありません。」と表示される場合
wp-config.phpへの対応をした場合に、こうなってしまうことがあります。
その場合は、「$_SERVER[‘HTTPS’] = ‘on’;」の記述を削除して、wp-config.php内の
「define(‘ABSPATH’, dirname(__FILE__) . ‘/’);」
という部分の下に
wp-config.phpの末尾に追加するコード
$_SERVER['HTTPS'] = 'on';
$web_site = 'sample.jp';
$web_site_url = 'https://' . $web_site;
define('WP_HOME', $web_site_url);
define('WP_SITEURL', $web_site_url);
define('FORCE_SSL_LOGIN', true);
define('FORCE_SSL_ADMIN', true);
Code language: PHP (php)
sample.jpの部分は、閲覧いただいてる皆様のワードプレスのドメインURLを記載されてください。
まとめ
リダイレクト問題は「どこが原因」なのかを探すのが一番大変な部分になりますが、1つ1つ今回紹介した方法を試して、根気強く原因究明に取り組んでみてください。
放っておくとせっかく訪問してくれたユーザーがたらいまわしにされて、不快な思いのまま離脱という最悪なケースが待っています。
わからない点はお気軽にご相談ください
急に警告メールが届いて不安に思った方もいらっしゃると思います。
この記事が多少なりとも、お役に立てばと思います。
今回は結構テクニカルなお話も多かったので、ある程度ウェブに関する知識がないと難しい部分もあると思います。
記事を読んで不明な点等がありましたらお気軽にTwitter(@kaznak_com)などでご質問ください。
では失礼します。