2026年5月20日

2026年5月20日

WordPressのログインページが無限リダイレクトする場合の解決方法

はじめに

WordPressのログイン画面でユーザー名・パスワードを入力すると、ログイン画面に戻ってしまう「無限リダイレクトループ」は非常に多いトラブルです。原因はサイトURLの不一致・Cookieの問題・SSL設定の不整合が大半です。

原因と確認方法

| 原因 | 症状の特徴 |

|------|-----------|

| siteurl/homeのURLミスマッチ | HTTPとHTTPSが混在している |

| CookieのドメインURL不一致 | 別ドメインに移行した直後 |

| SSLオフロード環境 | ロードバランサー経由のアクセス |

| セキュリティプラグイン | ログインページが別URLに設定されている |

解決手順

ステップ1:wp-config.phpにURLを強制定義

// wp-config.php の「/* That's all, stop editing! */」より上に追加
define('WP_HOME',    'https://example.com');
define('WP_SITEURL', 'https://example.com');

HTTPとHTTPSが混在している場合は https:// で統一します。

ステップ2:WP-CLIでsiteurl・homeを修正

# 現在の値を確認
wp option get siteurl
wp option get home

# 正しい値に更新
wp option update siteurl 'https://example.com'
wp option update home    'https://example.com'

# Cookieをリセット(セキュリティキーを再生成)
wp config shuffle-salts

ステップ3:Cookieの問題の場合

// wp-config.php に追加
define('COOKIE_DOMAIN', 'example.com');  // wwwなし
define('COOKIEPATH',    '/');
define('SITECOOKIEPATH', '/');

ブラウザのCookieを手動クリアしてから再ログインを試みます。

ステップ4:SSLオフロード環境(ロードバランサー)

// wp-config.php に追加
// ロードバランサーがHTTPS → HTTP変換している場合
if (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] === 'https') {
    $_SERVER['HTTPS'] = 'on';
}

ステップ5:プラグインの干渉を確認

# すべてのプラグインを無効化して確認
wp plugin deactivate --all

# ログインできたら1つずつ有効化して原因プラグインを特定
wp plugin activate plugin-name

phpMyAdminから修正する場合

-- wp_options テーブルで siteurl と home を更新
UPDATE wp_options SET option_value = 'https://example.com' WHERE option_name = 'siteurl';
UPDATE wp_options SET option_value = 'https://example.com' WHERE option_name = 'home';

注意事項

  • WP_HOMEWP_SITEURL を定義するとWordPress管理画面からURLを変更できなくなります
  • 本番環境での修正後は define() を削除するか、動的に設定します
  • wwwあり・なしは必ず統一してください(混在するとCookieが機能しません)

まとめ

ログインリダイレクトループは WP_HOMEWP_SITEURL の定義でほぼ解決します。SSL環境では HTTP_X_FORWARDED_PROTO の対応も確認してください。

お気軽にご相談ください

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