[WP]「ログイン状態を保存する」にチェックしても強制リダイレクトされる場合の対処法

WordPress
スポンサーリンク

WordPressで「ログイン状態を保存する」にチェックを入れているのに、次にwp-admin/にアクセスすると「wp-login.php?redirect_to=:&reauth=1」というURLにリダイレクトされ、またログイン画面に逆戻り…。

この無限リダイレクトは本当に頭に来ますよね!

デザイン作業やクライアント対応で忙しいWEBデザイナーにとって、無駄なログイン作業は作業効率を著しく低下させる大敵です。この厄介な問題に遭遇したとき、どうすれば迅速に解決できるか、2025年時点の確実な対策を網羅的に解説していきましょう!


問題放置コストは甚大!リダイレクトループを放置するリスクとは?

「まあ、毎回ログインすればいいか」と放置していませんか?

しかし、このリダイレクトループは単に時間が無駄になるだけではありません。これはWordPressのコアな機能や設定に異常が発生しているサインである可能性が高く、放置すると以下のような甚大なコストにつながりかねません。


クライアントサイトへの不信感

クライアントサイトでこの問題が発生すると、「サイト管理に問題があるのでは?」と不信感につながり、最悪の場合、契約打ち切りや評判の低下を招きます。


作業時間のロス

頻繁に管理画面にアクセスするたびにログインを強いられるため、1日に数分〜数十分の貴重な時間を浪費し続けます。チリも積もれば山となる、とはこのことです。


さらなる重大エラーの誘発

原因がプラグインの競合や.htaccessの記述ミスだった場合、別の機能にも影響を及ぼし、サイト全体がクラッシュするリスクさえあります。

つまり、迅速な対応こそが、あなたの信頼と時間を守る最良の策なのです。


初歩的だが重要!ブラウザ側の確認とクリーンアップ

まず、サーバー側に手を加える前の初歩的な確認事項から始めましょう。
多くの場合、この段階で問題が解消することが多いため、最初に試すべきステップです。


①キャッシュとCookieの完全クリア

ブラウザに保存された古いキャッシュやCookie(クッキー)が、現在のセッション情報と競合しているケースは意外に多いでしょう。

  • ブラウザのキャッシュを完全にクリアする。(スーパーリロードではなく、ブラウザ設定から行うのが確実です)
  • ブラウザのCookieをクリアする。特にWordPressの管理画面に関連するCookieを削除し、再度ログインを試みます。

②普段使わないブラウザやシークレットモードでの確認

あなたの使用しているブラウザ固有の問題である可能性を切り分けるために、別の方法でアクセスしてみましょう。

  • 普段使用していない別のブラウザ(例:Chromeで発生ならFirefoxなど)を使用してログインを試行する。
  • シークレットモード(プライベートウィンドウ)で開いてログインしてみる。シークレットモードでは通常、拡張機能やCookieの影響を受けません。

経験上、この問題はブラウザ側のCookieやセッション管理のトラブルが原因であるケースが半数近くあります。
FTPを触る前に、必ずこのステップを念入りに行ってくださいね。


サーバー内を整備!FTP・cPanelによるトラブルシューティング

ブラウザ側の対処で解決しない場合、WordPressのコアファイルや設定に原因がある可能性が濃厚です。

この操作はサイトの根幹に関わるため、必ず操作前にサイト全体のバックアップを取得しましょう。


①プラグインの一括無効化と特定

プラグインの競合が原因である可能性が非常に高いです。

  1. FTPまたはcPanelのファイルマネージャーで/wp-content/フォルダ内にある/plugins/フォルダの名前を、例えば/plugins-off/などに変更します。この操作ですべてのプラグインが強制的に無効になります。
  2. ログインを試み、成功したらフォルダ名を/plugins/に戻します。
  3. 管理画面からプラグインを一つずつ有効化し、都度ログイン状態の確認を行い、原因となるプラグインを特定してください。


②テーマの初期化と確認

使用中のテーマが原因でリダイレクトループが発生している可能性も捨てきれません。

  • FTPまたはcPanelでアクティブなテーマフォルダの名前を変更します。(例:/wp-content/themes/my-themeを/wp-content/themes/my-theme-oldへ)
  • WordPressは自動的にデフォルトテーマ(例:Twenty Twenty-Fiveなど)を強制的にアクティブにします。
  • この状態でログインを試み、成功すればテーマ側の問題です。


③コアファイルの権限チェックと再インストール

wp-adminなどのフォルダ権限が不適切だと、サーバー側でセッション処理が正しく行えない可能性があります。

  • FTPまたはcPanelで、/wp-admin、/wp-includes、/wp-contentのフォルダ権限が$755$であることを確認し、もし異なれば変更してください。
  • それでも解決しない場合は、WordPressを手動で再インストールすることを検討します。/wp-content/
  • フォルダ(コンテンツとプラグイン、テーマなど)以外のファイルを、最新版のWordPressからダウンロードしたファイルで上書きします。


サイト設定の深部 .htaccess と wp-config.php の調整

サーバーのアクセス制御ファイルやWordPressの設定ファイルも、リダイレクトの原因となることがよくあります。

①.htaccess ファイルの再構築とチェック

.htaccessファイルは、リダイレクトやセキュリティ設定を司る重要なファイルです。

  1. .htaccessファイルをダウンロードしてバックアップした後、サーバー上のファイルを削除します。
  2. この状態で管理画面にログインを試みてください。
  3. ログインに成功したら、管理画面の[設定] 👉 [パーマリンク]に移動し、何も変更せずに「変更を保存」ボタンを押下してください。これにより、正しい.htaccessファイルが自動で再生成されます。
  4. 元の.htaccessファイルを確認し、セキュリティプラグインなどがリダイレクトを生成するような記述を追加していないか精査し、もし見つけたら削除またはコメントアウトしましょう。

②wp-config.php でのURL強制定義

WordPressが認識しているサイトURLが不適切だと、リダイレクトループを発生させる場合があります。

wp-config.phpファイルの任意の場所(/* That’s all, stop editing! Happy blogging. */より前)に、正しいURLを強制的に定義するコードを追加します。


http:// または https://、wwwの有無を現在の正しい設定に合わせる必要があります。


③認証キー(ソルトクッキー)の更新

セッション情報に関わる認証キーが古くなっている、または破損している可能性もあります。

  1. wp-config.php ファイル内の認証キー(AUTH_KEY, SECURE_AUTH_KEYなど8行)を探します。
  2. 新しい認証キーを[WordPress.orgの認証キー生成サービス](https://api.wordpress.org/secret-key/1.1/salt/)から取得します。
  3. 古い8行を新しいキーに置き換えて保存し、再度ログインを試みます。


データベースの直接操作による最終確認

上記の対策を講じても解決しない場合は、データベースに問題が潜んでいる可能性が高いです。

phpMyAdminなどからデータベースにアクセスし、以下の点を最終チェックします。


①wp_options テーブルでのURL確認

wp_options テーブル(またはカスタムプレフィックスの_optionsテーブル)の option_name が siteurl と home の行を確認し、option_value が正しいURLになっているか精査しましょう。


②セッション情報のクリア

ユーザーのセッショントークンが原因でループしているかもしれません。

  • wp_usermeta テーブル(またはカスタムプレフィックスの _usermeta テーブル)を見つけます。
  • meta_key が session_tokens の行(複数ある可能性があります)を見つけ、その meta_value に含まれる全ての値を削除します。


バックアップの復元

ここまでのトリックのいずれでも解決しない場合は、残念ながら問題発生以前の日付のデータベースを含むサイト全体のバックアップを復元するしか選択肢は残されていません。。。

事前のバックアップがここで活きてくるので、日頃のバックアップ習慣は欠かせないようにすべきですね。


【まとめ】リダイレクトループ解消のためのチェックリスト!

リダイレクトループは、原因が多岐にわたるため、一つずつ潰していくことが解決への近道です。

ステップ 対象 実施内容
1 ブラウザ キャッシュ・Cookieのクリア、シークレットモードでの確認
2 プラグイン FTPで/plugins/フォルダ名を変更し、全プラグインを無効化して特定
3 テーマ FTPでアクティブテーマ名を変更し、強制的にデフォルトテーマにする
4 .htaccess バックアップ後に削除し、パーマリンク設定から自動再生成する
5 wp-config.php WP_HOMEとWP_SITEURLを強制的に定義する
6 データベース wp_optionsのURLとwp_usermetaのsession_tokensをチェック・修正

コメント

タイトルとURLをコピーしました