Webサイトの閲覧時に「ERR_TOO_MANY_REDIRECTS」や「リダイレクトが多すぎます」と表示され、ページが開けなくなる現象を「リダイレクトループ」と呼びます。結論から述べると、主な原因は①WordPressの「サイトアドレス」と「WordPressアドレス」の不一致、②.htaccessの転送ルールの不備、③常時SSL化やCDN(Cloudflare等)との通信設定の不整合、④プラグイン競合や古いキャッシュの残存の4点です。
リダイレクトループを解消するには、ブラウザのキャッシュをクリアした上で、転送ステータスコード(301/302)の推移から発生箇所を特定することが重要です。本記事では、現象が発生する仕組みから原因別の修正手順、再発防止対策まで実務目線で徹底解説します。
リダイレクトループ(ERR_TOO_MANY_REDIRECTS)とは?仕組みと影響
リダイレクトループとは、ブラウザが特定のURLにアクセスした際、サーバーからの転送指示が循環し、無限にリダイレクトが繰り返される障害です。
リダイレクトループが起こる仕組み
サーバーはURL変更時などに「301(恒久的転送)」や「302(一時的転送)」のHTTPステータスコードを返します。ブラウザはその指示に従い指定先へアクセスします。しかし、「ページA→ページB」と「ページB→ページA」の転送命令が同時に存在すると無限循環に陥ります。Google Chrome等の主要ブラウザは無限処理を防ぐため、転送回数が上限(約20回)を超えた時点で処理を中断し、「ERR_TOO_MANY_REDIRECTS」を出力します。
SEOやコンバージョン(CVR)への深刻な影響
リダイレクトループの放置はWebサイト運用に深刻なダメージを与えます。
- ユーザー離脱と機会損失:訪問者がコンテンツに到達できないため、アクセス直後に離脱します。問い合わせやECサイトの受注機会を失います。
- SEO評価の低下とインデックス削除:Googleクローラーがページを読み込めない状態が続くと、アクセス不能と判定され検索順位が下落・インデックス削除されるリスクがあります。
- 企業の信頼性低下:エラー表示の放置は、管理体制への不信感に繋がりブランド価値を損ないます。
ホームページでリダイレクトループが発生する6つの主な原因
リダイレクトループの背景には、サーバー、WordPress、SSL、CDNなどの設定不備が関係しています。
1. WordPressの「URL設定」の不一致
WordPress管理画面の「設定」>「一般」にある「WordPress アドレス (URL)」と「サイトアドレス (URL)」の記述不一致です。一方に「http://」、他方に「https://」が設定されている場合や、「www」の有無がずれていると転送処理が循環します。
2. .htaccessの記述ミス・転送ルールの矛盾
Apacheサーバーの「.htaccess」に記述したリダイレクト処理に論理的矛盾がある場合に発生します。HTTPからHTTPSへの常時SSL化やドメイン統一の際、RewriteCond(条件分岐)の設定漏れにより、すでにHTTPS化されたアクセスにも再転送命令が出されてループします。
3. 常時SSL化の設定不備とCDN(Cloudflare等)の影響
Webサーバーの手前にCloudflareなどのCDNやロードバランサーを導入している場合に起こりやすいトラブルです。仕組みの詳細はホームページのSSL化とは?常時SSLの仕組みと未対応リスク・導入手順を徹底解説でも詳しく解説していますが、ブラウザとCDN間がHTTPS、CDNとWebサーバー間がHTTPで接続されると、Webサーバーが繰り返しHTTPSへの転送を指示してしまいループが生じます。
4. プラグインの競合・不具合
「Really Simple SSL」や「Redirection」、SEO・キャッシュ系プラグインの重複利用により、複数のプラグインが異なる転送命令を同時出力することで発生します。
5. ブラウザやサーバーに残った古いキャッシュ
「301リダイレクト」はブラウザに強くキャッシュされます。サーバー側の設定修正後も、ブラウザ内の古いキャッシュが原因でエラーが表示され続けるケースがあります。キャッシュの基本的な仕組みについてはホームページのキャッシュ(Cache)制御とトラブル対策|表示速度向上と表示崩れを防ぐ設計・運用手順を参照してください。
6. サーバー側の転送機能と.htaccessの重複
レンタルサーバー管理画面の「ドメイン転送」機能と、WordPress内の設定や.htaccessの記述が競合しているケースです。
【ステップ別】リダイレクトループの原因特定・切り分け手順
不具合が発生した際は、次のステップで原因箇所を段階的に絞り込みます。
ステップ1:シークレットモードでの表示確認
ブラウザのキャッシュ影響を確認するため、Google Chromeの「シークレットウィンドウ」で該当URLを開きます。正常表示される場合はローカルキャッシュの問題です。シークレットモードでもエラーが出る場合はサーバー・WordPress側の設定不備です。
ステップ2:デベロッパーツールで転送経路の確認
F12キーでデベロッパーツールを開き、「Network」タブの「Preserve log」にチェックを入れてアクセスします。301/302ステータスが並ぶログの「Location」ヘッダーを確認し、どのURL間で転送が循環しているかを把握します。
ステップ3:管理画面へのアクセス可否確認
「/wp-admin/」から管理画面へ入れるか確認します。アクセスできる場合は画面上から設定を修正し、入れない場合はFTP経由でファイルを編集します。
リダイレクトループを解消する具体的な修正手順
原因に応じた復旧作業を実施します。作業前に必ずバックアップを取得してください。
修正手順1:wp-config.phpでのURL強制指定
WordPress管理画面にログインできない場合、FTPソフトで「wp-config.php」を開き、以下の記述を追加してURLを強制適用します。
define('WP_HOME', 'https://example.com');
define('WP_SITEURL', 'https://example.com');
※「https://example.com」は自社の正しいドメインに変更してください。
修正手順2:.htaccessファイルの初期化
.htaccessの記述ミスが疑われる場合は、内容をWordPress標準記述に初期化して検証します。
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^index.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
常時SSL化の正しい記述例は以下の通りです。
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
修正手順3:CDN(Cloudflare等)のSSLモード変更
Cloudflare導入環境でループが起きる場合、SSL/TLS暗号化モードを「Flexible」から「Full」または「Full (strict)」へ変更します。これによりCDN・サーバー間のHTTP通信が解消されます。
修正手順4:プラグインの強制無効化
FTPで「/wp-content/plugins/」内の該当プラグインフォルダ名を変更(例:`redirection` → `redirection_off`)し、強制無効化します。PHPバージョン変更に伴う不具合対応についてはWordPressのPHPバージョンアップ手順と互換性エラー対策|安全な移行とトラブルを防ぐ手順をプロが解説も参考にしてください。
原因と確認ポイント・対応策の比較一覧
以下の表で主な原因と対応策を一覧で確認できます。
| 発生原因 | 主な確認ポイント | 解消方法 |
|---|---|---|
| WordPress URL不一致 | 管理画面設定のHTTP/HTTPSやwwwの食い違い | wp-config.phpに`WP_HOME`等を追記し強制統一 |
| .htaccess記述エラー | 転送命令の論理的矛盾・ループ | 標準状態へ初期化し正しい転送構文へ書き直す |
| CDN設定不備 | Cloudflare等で「Flexible」モードが有効 | 暗号化モードを「Full」または「Full (strict)」へ変更 |
| プラグインの不具合 | SSL化・転送管理プラグインの導入直後 | FTP経由でプラグインフォルダ名を変更し無効化 |
| 301ローカルキャッシュ | 修正後も特定の端末でのみエラー継続 | シークレットモード検証とブラウザキャッシュ消去 |
リダイレクトループの再発を防ぐ運用・予防策
トラブル防止のための運用ルールを整えましょう。
1. テスト環境(検証環境)での事前検証
本番サーバー変更前にテスト環境で転送動作を確認し、ステータスコード200が返るかチェックします。
2. 設定ファイルのバックアップ保持
.htaccessやwp-config.phpの改修前には必ずローカルにバックアップを保存し、不具合時に即時復元できるようにします。
3. 変更管理と運用ルールの統一
サーバー側の転送設定とWordPressプラグイン側の設定の重複を防ぐため、変更履歴を記録する体制を構築します。
よくある質問(FAQ)
Q1:WordPress管理画面に入れなくなった場合の対処法は?
A:FTPソフト等でサーバー上の「wp-config.php」を開き、`define(‘WP_HOME’, ‘https://example.com’);` および `define(‘WP_SITEURL’, ‘https://example.com’);` を追加してURLを強制指定してください。これで管理画面へアクセス可能になります。
Q2:Cloudflare導入直後にエラーが出た場合どうすればいいですか?
A:CloudflareのSSL/TLS設定が「Flexible」になっていることが原因です。管理画面で暗号化モードを「Full」または「Full (strict)」に変更してください。
Q3:解消後、Googleの検索順位に影響はありますか?
A:短時間の解消であればSEOへの影響は最小限で済みます。数日放置された場合は一時的にインデックスが低下する可能性があるため、復旧後にGoogle Search Consoleから「URL検査」を行いインデックス再リクエストを行ってください。
Q4:キャッシュを消してもエラーが消えない場合の確認先は?
A:ブラウザキャッシュ以外に、①WordPressのキャッシュプラグイン、②サーバー会社のキャッシュ機能、③CDNのキャッシュに古い情報が残っている可能性があります。それぞれの管理画面からキャッシュクリアを実行してください。
まとめ
ホームページのリダイレクトループ(ERR_TOO_MANY_REDIRECTS)は、アクセス遮断やSEO低下を引き起こす重大なエラーですが、「URL設定」「.htaccess」「SSL/CDN設定」のポイントを押さえて対応すれば確実に復旧可能です。
自社での復旧作業や保守対応に不安がある場合は、専門のWeb制作会社へのご相談をおすすめします。
イノベートスコープ株式会社では、大阪市中央区を中心にWordPressのトラブル復旧やサイト保守運用をサポートしています。Webサイト運用でお困りの方はお気軽にお問い合わせください。詳細はイノベートスコープ株式会社 TOPをご覧ください。
CONTACT
Web制作・SEO・AIOについてお気軽にご相談ください
ホームページ制作・リニューアル、WordPress、SEO・AIO対策、 ECサイト、Web集客、保守・セキュリティなど、 Webに関するご相談を承っています。 「何から相談すればよいかわからない」という段階でもお気軽にお問い合わせください。
