WordPressリダイレクトループ
「このページのリダイレクトが繰り返し行われました」「リダイレクトが多すぎます」と表示されてサイトにアクセスできない問題の原因と解決方法を詳しく解説します。
⚠️ このような症状が出ていませんか?
- 「このページのリダイレクトが繰り返し行われました」(Chrome)
- 「リダイレクトが多すぎます」(Firefox)
- 「ページを開けません。リダイレクトが多すぎます」(Safari)
- 管理画面(wp-admin)にアクセスできない
- SSL化後に発生した
- 特定のページだけリダイレクトループになる
リダイレクトループとは
リダイレクトループとは、ページAからページBへリダイレクトし、そのページBからまたページAへリダイレクトされる、という無限ループ状態です。
よくあるパターン
- http://example.com → https://example.com → http://example.com...
- example.com → www.example.com → example.com...
- /wp-admin/ → /wp-login.php → /wp-admin/...
主な原因
1. WordPress設定URLの不一致
「設定」→「一般」のWordPressアドレスとサイトアドレスが、実際のURL(httpかhttpsか、wwwありかなしか)と一致していない。
2. .htaccessのリダイレクト設定の競合
.htaccessに複数のリダイレクトルールがあり、お互いに競合している。
3. プラグインのリダイレクト設定
Really Simple SSL、Redirectionなどのプラグインの設定が不適切。
4. CloudflareなどCDNのSSL設定
CloudflareのSSL設定が「柔軟」になっていて、サーバー側のSSL設定と競合している。
5. ブラウザのCookie破損
ブラウザに保存されているCookieが破損している。
解決方法(優先度順)
ブラウザのCookieとキャッシュをクリア
最も簡単で最初に試すべき方法です。
Chromeの場合:
- Ctrl+Shift+Delete(Mac: Cmd+Shift+Delete)
- 「Cookieと他のサイトデータ」にチェック
- 「キャッシュされた画像とファイル」にチェック
- 期間を「全期間」に設定
- 「データを削除」をクリック
wp-config.phpでURLを強制設定
管理画面にアクセスできない場合の確実な方法です。
手順:
- FTPでwp-config.phpをダウンロード
- 「/* 編集が必要なのはここまでです ! 」の直前に追加:
define('WP_HOME','https://example.com');
define('WP_SITEURL','https://example.com');
- example.comを自分のドメインに変更
- 保存してアップロード
- サイトにアクセス
.htaccessの設定を確認・修正
重複したリダイレクト設定を削除します。
手順:
- FTPで.htaccessをダウンロード(バックアップ)
- .htaccessの内容を確認
- リダイレクト関連の記述が重複していないか確認
- 重複がある場合は1つだけ残して削除
- 正しいリダイレクト設定:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
プラグインを無効化
リダイレクト系プラグインが原因かを確認します。
手順:
- FTPで /wp-content/plugins/ を開く
- pluginsフォルダ名を「plugins_old」に変更
- サイトにアクセス
- 解決すれば、プラグインが原因
- フォルダ名を戻して、プラグインを一つずつ有効化
特に確認すべきプラグイン:
- Really Simple SSL
- Redirection
- Yoast SEO(リダイレクト機能)
- SiteGuard WP Plugin
- WP Force SSL
データベースのURL設定を直接修正
phpMyAdminから直接URL設定を変更します。
手順:
- phpMyAdminを開く
- 該当データベースを選択
- wp_optionsテーブルを開く
- option_nameが「siteurl」の行を探す
- option_valueを正しいURL(https://example.com)に変更
- 同様に「home」も変更
Cloudflare設定を確認(使用している場合)
CloudflareのSSL設定が原因の場合があります。
手順:
- Cloudflareダッシュボードにログイン
- 該当ドメインを選択
- 「SSL/TLS」→「概要」を開く
- SSL/TLS暗号化モードを確認
- 「柔軟」になっている場合は「フル」または「フル(厳密)」に変更
- 柔軟:リダイレクトループの原因になる
- フル:推奨設定
- フル(厳密):最も安全だが有効なSSL証明書が必要
サーバーのSSL強制設定を確認
レンタルサーバー側の設定を確認します。
手順:
- レンタルサーバーの管理画面にログイン
- SSL設定を開く
- 「常時SSL化」または「HTTPS強制」の設定を確認
- .htaccessでもリダイレクトしている場合は、どちらか一方を無効化
テーマをデフォルトに変更
テーマが原因かを確認します。
手順:
- FTPで /wp-content/themes/ を開く
- 現在使用中のテーマフォルダ名を変更
- WordPressが自動的にデフォルトテーマに切り替わる
- サイトにアクセスして確認
特定のケースの対処法
管理画面だけリダイレクトループする
カスタムログインURLプラグイン(SiteGuard WP Pluginなど)が原因の可能性があります。
- FTPでプラグインを無効化
- 標準のログインURL(/wp-admin/)でアクセス
特定のページだけリダイレクトループする
そのページ固有のリダイレクト設定がある可能性があります。
- Redirectionプラグインで該当ページのリダイレクト設定を確認
- 固定ページの「リダイレクト」設定を確認
SSL化後に発生した
最も多いパターンです。
- WordPress設定のURLがhttpsになっているか確認
- .htaccessのリダイレクト設定が正しいか確認
- サーバー側のSSL強制設定を確認
予防策
1. URL変更時は慎重に
- WordPressアドレスとサイトアドレスを間違えない
- 変更前に必ずバックアップ
2. SSL化は正しい手順で
- SSL証明書のインストール
- WordPress設定のURL変更
- .htaccessでリダイレクト設定
- この順番を守る
3. リダイレクト設定は一箇所で管理
- .htaccess、プラグイン、サーバー設定のどれか一つで管理
- 複数箇所で設定しない
4. 設定変更後は必ず確認
- 複数のブラウザでアクセス確認
- httpとhttps両方でアクセス確認
よくある質問
Q1. Cookie削除しても解決しません
A. Cookie以外の原因(WordPress設定や.htaccess)です。wp-config.phpでURLを強制設定する方法を試してください。
Q2. 管理画面だけリダイレクトループします
A. ログインURLを変更するプラグイン(SiteGuardなど)が原因の可能性があります。FTPでプラグインを無効化してください。
Q3. SSL化後に発生しました
A. WordPress設定のURLがhttpsになっているか、.htaccessのリダイレクト設定が正しいか確認してください。Cloudflare使用時はSSL設定を「フル」にしてください。
Q4. すべて試しても解決しません
A. サーバー側の設定問題の可能性があります。レンタルサーバーのサポートに連絡して、SSL設定やリダイレクト設定を確認してもらってください。
まとめ
リダイレクトループ解決チェックリスト
- ✓ ブラウザのCookieとキャッシュをクリア
- ✓ wp-config.phpでURLを強制設定
- ✓ .htaccessのリダイレクト設定を確認
- ✓ プラグインを無効化して確認
- ✓ データベースのURL設定を確認
- ✓ Cloudflare使用時はSSL設定を「フル」に
- ✓ 解決後、リダイレクト設定は一箇所で管理