2026年8月3日
2026年8月3日
WordPressの「Too many redirects」エラーを解決する方法
はじめに
「Too many redirects」エラーは、WordPressサイトの管理者にとって頻繁に遭遇する問題の一つです。このエラーは、ウェブブラウザがリクエストを受けるたびに同じページへのリダイレクトが発生し続け、最終的にリダイレクトループが生成されることで表示されます。これにより、ユーザーは期待通りのコンテンツを閲覧できず、サイトの信頼性やアクセス数にも影響が出る可能性があります。
この記事では、「Too many redirects」エラーの原因と対処法について詳しく解説します。また、具体的な解決策として、プラグインの確認から.htaccessファイルの編集まで、ステップバイステップで手順を紹介していきます。
症状・背景
このテーマが必要になる主な場面:
- ドメイン名変更後のサイト移行時に発生
- HTTPS対応のためにSSL証明書を追加した後
- 301リダイレクト設定の誤りがある場合
- WordPressプラグイン間での競合が原因
手順・設定方法
ステップ1: リダイレクトプラグインの確認と無効化
# WordPress管理ダッシュボードを開く
wp-admin/index.php
# "プラグイン"メニューから有効なリダイレクト関連プラグインを探す
/wp-admin/plugins.php?page=example_redirect_plugin
# 調査した結果、問題があると思われるプラグインを無効化する
/wp-admin/admin-post.php?action=disable-plugin&slug=example_redirect_plugin
ステップ2: .htaccessファイルの内容確認と修正
# WordPressサイトルートディレクトリに移動
cd /var/www/html/wordpress/
# 現在の.htaccessファイルをバックアップコピーを作る
cp .htaccess .htaccess.bak
# リダイレクトループの原因となる行を探し削除またはコメントアウトする
vim .htaccess
# 修正後、ブラウザでサイトを確認して正常に動作しているかチェックする
http://localhost/wordpress/
ステップ3: WordPress設定からサイトURLとホームURLの再設定
# WordPressデータベースに接続し、wp_optionsテーブルを開く
mysql -u username -p wordpress
# サイトURLとホームURLを再設定するためのSQLクエリ実行
UPDATE wp_options SET option_value = 'http://localhost/wordpress/' WHERE option_name IN ('siteurl', 'home');
# チェンジを保存してデータベースからログアウト
\q
ステップ4: プラグインの一時無効化によるトラブルシューティング
# WordPress管理ダッシュボードの「プラグイン」メニューを開く
/wp-admin/plugins.php
# 「一括操作」タブで「すべてを無効にする」を選択する
/wp-admin/admin-post.php?action=disable-selected&checked[]=example_plugin_1&checked[]=example_plugin_2
# 無効化後、サイトの動作が正常になったか確認する
http://localhost/wordpress/
注意事項
- リダイレクトループを解決する際は、必ずバックアップを作成すること。
- HTTPS設定に問題がある場合、Certbotなどのツールを使用してSSL証明書とHTTPS設定を再構築することを検討。
- プラグインの一時無効化で問題が改善した場合は、問題のプラグインを探し、代替手段や更新版を探す。
まとめ
1. リダイレクトプラグインの確認: 問題のあるプラグインを特定し無効化する。
2. .htaccessファイルの調整: リダイレクトループ原因の行を修正または削除。
3. WordPress設定の再設定: サイトURLとホームURLが正しい値に更新されていることを確認。
4. プラグインの一時無効化: 問題のある特定のプラグインを見つけるための一連の手順。
5. 定期的なバックアップ: リダイレクトループを防ぐために、サイト全体と設定ファイルを定期的にバックアップ。
関連記事: