WordPressのログインページがリダイレクトループを繰り返す場合

結論

WordPressのログインリダイレクトループは通常、`siteurl` と `home` の値の不一致、古いログインCookie、またはWordPressとリバースプロキシ間でHTTPSの認識が一致していないことが原因です。プライベートウィンドウで `wp-login.php` をテストし、optionsテーブルのURL値を確認してサイトCookieを削除し、プロキシとSSLの動作を確認してください。ログイン時だけ発生するループは、サイト全体のリダイレクト問題とは分けて扱います。

要点

  • siteurl と home が現在のドメインを使用し、意図した同じプロトコルになっていることを確認します。
  • プライベートウィンドウまたは別のブラウザーでテストし、保存されたCookieとサーバー側の設定を切り分けます。
  • プロキシまたはロードバランサーがSSLを終端している場合は、WordPressが正しいHTTPS状態を受け取っていることを確認します。
  • ループが始まる直前に行ったドメイン変更、移行、キャッシュ、セキュリティ、Cookie関連の変更を確認します。
  • URLまたはリダイレクト設定を変更する前に、データベースと設定をバックアップし、一度に1つの設定だけを変更します。
更新日: 2026-09-25 · 編集レビュー待ち WordPressのエラー
SA

Site Administrator

このエラーの意味と見分け方

  • wp-login.php を開くと、繰り返しログインページに戻ります。
  • ブラウザーにリダイレクトが多すぎると表示される、またはログインフォームの読み込みが完了しません。
  • ログインに成功したように見えても、セッションがすぐにログイン画面へ戻ります。
  • あるブラウザーではループが発生するが、別のブラウザーでは発生しない、またはプライベートブラウジングウィンドウでは解消します。
  • ドメイン変更、HTTPからHTTPSへの移行、ホスティング環境の移転、プロキシ変更、またはCookie関連の設定変更後に問題が始まります。

可能性の高い順の主な原因

  1. siteurl と home の値が一致していない: WordPressデータベースの値で、異なるドメインやプロトコル、移行前の古いアドレスが使われている可能性があります。その結果、ログイン時のリダイレクトが競合するURL間を移動することがあります。
  2. 古いCookieまたはスコープが正しくないCookie: 以前のドメイン、プロトコル、パスのCookieに利用できない認証状態が含まれ、ブラウザーを繰り返しログイン画面へ戻すことがあります。
  3. SSL終端またはリバースプロキシの認識不一致: プロキシはHTTPSを受信しているのに、オリジンサーバーがリクエストをHTTPとして解釈することがあります。その場合、WordPressが誤ったプロトコルに基づいてリダイレクトを発行する可能性があります。
  4. 移行またはドメイン変更が不完全: 設定やデータベースの値に、以前のサイトアドレスが残っている可能性があります。
  5. リダイレクト、キャッシュ、セキュリティ、Cookie設定の競合: URL、Cookie、HTTPSの問題ほど可能性は高くありませんが、通常のWordPressログイン動作を上書きしたり、競合したりすることがあります。

修正方法

12siteurl と home3HTTPSはプロキシ、ロードバランサー、また4
Diagnostic flow at a glance — full detail in the steps below.

1. 問題が特定のブラウザーだけで発生するか確認する

プライベートブラウジングウィンドウまたは別のブラウザーで wp-login.php を開きます。ループが解消する場合は、元のブラウザーで対象ドメインのCookieとサイトデータを削除し、新しいセッションを開始します。

このテストにより、保存されたブラウザーの状態とサーバー側の問題を切り分けられます。ただし、サーバー設定が正しいことを証明するものではありません。

2. siteurl と home を確認する

データベース管理ツールまたは信頼できる別の保守方法を使用して、WordPressのoptionsテーブルにある siteurl と home のエントリを確認します。テーブルには、デフォルトの wp_ プレフィックスではなく、カスタムプレフィックスが使われている場合があります。

編集する前にデータベースをバックアップし、正しいサイトを操作していることを確認します。両方の値は次の条件を満たす必要があります。

  • 現在のドメインを使用する。
  • 意図した同じプロトコルを使用する。通常、サイトがHTTPSに設定されている場合はHTTPSを使用する。
  • 古いドメイン、移行用アドレス、意図しない別のホスト名を使用しない。
  • ユーザーが実際にサイトへアクセスするアドレスと一致する。

値が誤っている場合は、承認済みの保守手順に従って一貫性を保ちながら修正し、ログインページを再テストします。同時に無関係な設定を変更しないでください。

対象ドメインのCookieとサイトデータを削除し、現在のログインタブを閉じて新しいセッションを開きます。可能であれば、プライベートウィンドウでも再度テストします。

これは、ドメイン変更、HTTPSの有効化、サイトの移転後に特に有効です。Cookieを削除しても一時的にしかループが解消しない場合は、Cookie削除を恒久的な解決策と考えず、URLとHTTPSの確認を続けてください。

4. HTTPSとリバースプロキシの動作を確認する

リバースプロキシ、ロードバランサー、またはホスティング層がSSLを処理してからWordPressにリクエストを渡している場合は、正しいHTTPS状態が転送されていることと、オリジンサーバーがその構成に合わせて設定されていることを確認します。

ブラウザー、プロキシ、Webサーバー、WordPressは、リクエストがHTTPSかどうかについて同じ認識を持つ必要があります。よくある障害パターンは、HTTPSリクエストがオリジンサーバーにHTTPとして到達し、その後HTTPSへリダイレクトされるケースです。次のリクエストも同じように解釈されるため、サイクルが繰り返されます。

ホスティング環境と承認済みの保守手順に従って変更を適用し、wp-login.php を再テストします。プロキシやサーバーの設定はサイト全体に影響する可能性があるため、権限なく変更しないでください。

5. 最近の変更を確認する

移行、ドメイン変更、SSL変更、プロキシ変更、またはホスティング環境の移転後にループが始まった場合は、現在の構成を以前の構成と比較します。古いドメインへの参照、一貫性のないプロトコル、以前の環境を示したままのCookie設定を探します。

6. リダイレクトとセキュリティの競合を切り分ける

URL値、Cookie、HTTPSの構成が正しい場合は、リダイレクト、キャッシュ、セキュリティ、Cookie関連の設定を確認します。承認済みの保守手順を使用し、バックアップを保持して、一度に1つの変更だけをテストします。

目的はログイン動作を変えている設定を特定することであり、保護機能を恒久的に無効化することではありません。

7. 再テストし、最初の予期しないリダイレクトを記録する

変更するたびに、ブラウザーの新しいセッションを開始してログインページへ直接アクセスします。フォームが読み込まれるか、認証情報を送信するとログイン画面に戻るか、ドメインまたはプロトコル間でアドレスが変わるかを記録します。

最初に発生した予期しないリダイレクトから、修正が必要な設定を特定できることがよくあります。

予防と修正確認

  • WordPressのURL設定を変更する前に、意図するドメインとプロトコルを記録します。
  • 移行、URL変更、プロキシ変更の前に、データベースと設定をバックアップします。
  • SSLまたはプロキシを有効にした後、クリーンなブラウザーセッションでフロントエンドと wp-login.php の両方をテストします。
  • 移行後は古いドメインへの参照を削除または更新します。
  • プロキシがHTTPSをオリジンサーバーに伝達する方法を文書化します。
  • リダイレクト、セキュリティ、キャッシュ、Cookie関連の設定は一度に1つだけ変更し、ログインフローを再テストします。

外部の助けが必要なタイミング

データベースにアクセスできない、SSLがプロキシで終端されているか分からない、またはCookieとURL値を確認してもループが続く場合は、ホスティングプロバイダーまたはWordPress管理者に問い合わせてください。

移行後に、どのデータベース値または設定値が正しい情報源なのか分からない場合は、速やかにエスカレーションしてください。おおよその発生開始時刻、最近行った変更、プライベートブラウジングで結果が変わるか、ドメインとプロトコルの動作、最初の予期しないリダイレクトを伝えます。パスワードや認証Cookieは共有しないでください。

Webサイトを確認

関連ドキュメント

実装の詳細については、サイトURLの変更、ログインCookie、HTTPSまたはリバースプロキシの設定を扱っているWordPressのドキュメントを参照してください。また、HTTPSの状態がWordPressにどのように転送されるかを確認するため、サイトのホスティングプロバイダー、プロキシ、ロードバランサー、Webサーバーのドキュメントも参照してください。