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. 定期的なバックアップ: リダイレクトループを防ぐために、サイト全体と設定ファイルを定期的にバックアップ。

関連記事:

お気軽にご相談ください

お見積りへ お問い合わせへ