WordPress「リダイレクトが多すぎます」問題の原因と解決方法【ERR_TOO_MANY_REDIRECTS】

2018年7月2日

どうも!俺のSEO対策、管理人のスズキです。

今回は、急に「ERR_TOO_MANY_REDIRECTS リダイレクトが多すぎます。」という文言のみが表示されるホワイトアウト状態になった場合の解決法を紹介します。

WordPressで「リダイレクトが多すぎます」問題の原因とは?

まず、この「ERR_TOO_MANY_REDIRECTS リダイレクトが多すぎます。」の原因について解説します。

一言で言うと、これは『リダイレクトループ』が起こっている状態です。リダイレクトループに関しては以下の記事をご覧ください。

==>>リダイレクトループとは?

リダイレクトループとは、301/302リダイレクトが多重に掛けられていることから、そのページが永続的にリロードされ続けていることから起こる現象。まぁ、ずっと読み込みし続けている訳なので、そのままだと検索エンジン的にもサイト的にも危険です。

そこで、今回のように「ERR_TOO_MANY_REDIRECTS リダイレクトが多すぎます。」エラーとなってサイトが見れなくなってしまう訳です。

今回のトラブルの解決法は、このリダイレクトループの原因を特定するところから始まります。

トラブルが起こる前に自分が何をしたかに原因が隠れています。複数の原因が考えられるので、順番にチェックしてみてくださいね。

トラブル解決のための基本原則について

今回のトラブルの解決方法を試す際に注意すべき点が1つあります。

それは、1つの解決方法を試すごとにWebブラウザのキャッシュをクリアすることです。お使いのWebブラウザ(Google Chromeや Apple Safariなど)には過去のサイトのキャッシュデータが残っている場合があります。

トラブルが解決されているのにも関わらず、パニックになって色々と解決方法を試してしまうと、状況が更に悪化する可能性もあるので、『1つ解決方法を試したらブラウザのキャッシュをクリア』。これを忘れないようにしてくださいね。

ブラウザキャッシュのクリア方法は以下の記事で詳しく解説されていますので読んでみてください。

==>>Webブラウザのキャッシュをクリアする方法

今回はWordpress使用時、記事を投稿した瞬間から「ERR_TOO_MANY_REDIRECTS リダイレクトが多すぎます。」という表示がされるようになりました。

しかも、ブログのトップページは表示されているのですが、各固定ページと投稿が表示出来なくなってしまうという状況

そこで以下の対処法を試してみました。

今回のトラブルの5つの解決方法

WordPressで使用中のプラグインを全て停止する

使用しているプラグインを全て停止しましょう。リダイレクトに関連するプラグインを入れている場合、設定ミスなどでリダイレクトループが発生している場合があります。その場合は、プラグインを停止した後にブラウザのキャッシュクリアすれば解決するでしょう。

ちなみに、リダイレクトループが起こる可能性があるプラグインは以下の通り。

  • Redirection
  • WP no category base
  • W3 Total Cache
  • WP touch
  • Custom Permalinks

主に、キャッシュ系プラグインとパーマリンク変更系プラグインでトラブルが起こる可能性が高いですね。それと、『Auto OptimizeとLitespeed Cacheを一緒に使うとリダイレクトループエラーが起こった』という情報もありました。

使用中のWordpressテーマを変更する

WordPressテーマのソースコードを間違えて編集してしまった場合、リダイレクトループが起こる場合があります。

その場合は、WordPressテーマを一度別のものに変更してみてください。その後、ブラウザキャッシュをクリアで直る場合があります。ただ、ソースコードを弄っていない場合、このテーマ変更では直らないので別の方法を試して下さい。

WordPressのパーマリンク設定を変更

トップページは表示されているけど、投稿ページなどにリダイレクトループが起こっている場合、パーマリンク設定が原因の可能性があります。

一度、WordPressのパーマリンク設定を一番上の『基本』に戻してみてください。その後ブラウザキャッシュクリアで解決する場合があります。

.htaccessファイルを修正

.htaccessファイルを編集しませんでしたか?編集した人は、それを元の状態に戻してください。.htaccessファイルはリダイレクト設定などをするファイルです。

逆に、.htaccessファイルなんて触ってないんだけど…という方は、この解決方法はスルーしてください。

プラグインによっては.htaccessファイルを自動的に編集しているものもあるのですが、その場合はプラグインOFFで直るはずなので。

WordPressアドレス&サイトアドレスをhttps→httpに戻す

SSL証明書が無い状態で、httpsに設定するとリダイレクトループが発生する場合があるようです。その場合、WordPressの管理画面→設定→一般からサイトアドレスとWordPressアドレスを共にhttpに戻してみてください。

すると直る場合があるのだとか。僕自身はこの解決方法を試したことはありません。そもそもSSL関係でリダイレクトループになったことが無いのでちょっとわかりませんが、一度試してみてください。

やらない方が良い解決方法

ここからは、ネット上にある解決方法で辞めといた方が良いよってものを紹介します。

template-loader.phpを修正

ネット上にある解決方法の1つですが、これは間違いですね。template-loader.phpを修正しても一時しのぎにしかなりません。

というか、そもそも論として、phpファイルなどを弄っていないのにトラブルが発生しているのであれば、触っていないファイルを編集してはダメです。トラブルが泥沼化します。『直近で編集したファイルに原因がある』可能性が高いことをお忘れなく。

問題が直ったその後はどうする?

今回の解決方法を試して頂けば、まず間違いなく解決するはずです。さて、その後にすべきことは、『実際にトラブルを起こしていた原因を特定すること』です。

原因がわからない場合、また同じトラブルが再発する可能性はゼロではありません。

そうならないためにも、上記の解決方法のどのタイミングで直ったかはチェックしておきましょう。

例えば、プラグインを停止したら直った場合、プラグインのどれかにリダイレクトループを起こす設定になっているものが含まれているわけです。

その場合、1個ずつプラグインをONにして、リダイレクトループが発生するかどうか試してみると良いでしょう。

ループが発生したタイミングで、原因のプラグインがわかります。そのプラグインの設定を1から見直してみて、設定に間違いが無いかどうか、またプラグイン同士の相性でループが起こる設定になっていないか?などを確認するのをおすすめします。

面倒と感じるかもしれませんが、WordPressでサイト制作をするにあたって今回のようなトラブルは絶対に避けられません。

トラブルを繰り返さないために、原因究明をしっかりしておくことをおすすめします。地味な作業ですが、問題解決スキルが爆上がりしますよ。頑張ってみてください。

それでは、今日はこの辺で。