べんりワザ・WordPressのつまずき解決

WordPressにログインできないときの対処法

管理画面のURLが分からない、パスワードを忘れた、Cookieエラーが出る、ログイン後に戻されてしまう——ログインまわりのトラブルを症状別に整理し、復旧手順をまとめました。

ログインできないときは、症状ごとに原因がほぼ決まっています。上から自分の症状を探してください。

管理画面のURLが分からない

https://example.com/wp-login.php    ← ログイン画面
https://example.com/wp-admin/       ← 未ログインならログイン画面に転送される

サブディレクトリに入れている場合はhttps://example.com/blog/wp-login.phpのようになります。セキュリティ系プラグインでログインURLを変更している場合は、その設定した独自URLでしかアクセスできません(この後の「変更していて分からない」も参照)。

パスワードを忘れた

1. まずは通常の再設定

ログイン画面の「パスワードをお忘れですか?」からメールアドレス(またはユーザー名)を入れると、再設定リンクが届きます。

2. メールが届かないとき

WordPressのメールはサーバーのPHPメール機能で送られるため、サーバー側の制限で届かないことがよくあります。迷惑メールフォルダも確認したうえで、次の方法で復旧します。

方法A:データベースから直す

  1. レンタルサーバーの管理画面からphpMyAdmin(またはDB管理ツール)を開く
  2. wp_usersテーブルを開き、自分のユーザー行を編集
  3. user_passの値を書きかえ、関数にMD5を選んで新しいパスワードを入力して保存
  4. そのパスワードでログイン(ログイン後、より安全な形式に自動で保存し直されます)

方法B:一時的なコードで管理者を作る

FTPやファイルマネージャーで、使用中テーマのfunctions.php先頭付近に追記します。

add_action('init', function () {
  $user = 'temp_admin';
  $pass = 'ここに長くて複雑なパスワード';
  if (!username_exists($user)) {
    $id = wp_create_user($user, $pass, '[email protected]');
    (new WP_User($id))->set_role('administrator');
  }
});

ログインできたら、このコードは必ず削除し、パスワードも変更します。残したままにすると、コードを読める人が管理者を作れる状態になります。

「Cookieがブロックされているか、サポートされていません」

順に試します。

  1. ブラウザのCookieを許可する/シークレットウィンドウで試す
  2. キャッシュとCookieを削除して再読みこみ
  3. 別のブラウザで試す(切り分け)
  4. 直らなければ、サイトURLの不一致を疑う(次の項目へ)

ログインは通るのに管理画面に戻される(リダイレクトループ)

原因の筆頭はサイトURLの設定ズレです。「設定」→「一般」の2つのURL(WordPressアドレス・サイトアドレス)と、実際にアクセスしているURLがhttpsとhttp、wwwの有無まで完全に一致していないと起きます。

管理画面に入れないので、wp-config.phpで強制的に固定します。

define('WP_HOME', 'https://example.com');
define('WP_SITEURL', 'https://example.com');

これでログインできたら、原因を直したあとにこの2行を消す(または残しておく)判断をします。常時SSLのサイトなら残しておくほうが安全です。

それでも直らない場合は、プラグインの全無効化で切り分けます。

  • FTPでwp-content/pluginsplugins-offにリネーム→ログインを試す
  • 入れたら名前を戻し、1つずつ有効化して原因を特定する
べんりワザ画面が真っ白になったときの調べ方(WP_DEBUG)真っ白・重大なエラーの切り分け手順はこちら

ログインURLを変更していて、それが分からない

セキュリティ系プラグインの機能で/login-xxxxのような独自URLにしている場合、wp-login.phpは403や404になります。復旧手順はこうです。

  1. FTPでwp-content/plugins/そのプラグインをリネームして無効化する
  2. wp-login.phpでログインできる状態に戻る
  3. 管理画面でプラグイン名を戻し、設定を確認する

2段階認証の端末をなくした

認証アプリを入れ直しても復旧できません。プラグインをFTPからリネームして無効化し、ログイン後に再設定します。バックアップコードを発行できるプラグインなら、設定時に必ず控えておくのが対策です。

「ログイン試行回数を超えました」

ログイン試行制限のプラグインやサーバー機能によるロックです。

  • 時間をおいて再試行(多くは数十分で解除)
  • 急ぎなら、プラグインをFTPでリネームして無効化
  • サーバー側の機能なら、管理画面でロック解除やIP許可を設定

ログインまわりを安全にする(復旧できたあと)

再発防止とセキュリティ強化を、効果の大きい順に並べます。

  1. ユーザー名をadminにしない——狙われる前提の名前は避ける
  2. 長いパスワードを使う——記号を混ぜるより長さが効く(パスワード管理ツール推奨)
  3. ログイン試行制限を入れる——総当たり攻撃を実質的に止められる
  4. 2段階認証——バックアップコードを必ず控える
  5. 不要な管理者アカウントを削除——退任した人の権限を残さない

まとめ

  1. ログイン画面は/wp-login.php。独自URLにしている場合はプラグインのリネームで戻せる
  2. メールが届かないパスワード再設定は、DBのuser_passをMD5で書きかえるか一時コードで管理者を作る
  3. Cookieエラー・リダイレクトループはサイトURLの不一致が定番。WP_HOMEWP_SITEURLで固定する
  4. 復旧できたら長いパスワード+ログイン試行制限。URL変更より効果が大きい

「入れない」状態でも復旧の道は必ずあります。触る前のバックアップだけ忘れないでください。

よくある質問

WordPressの管理画面のURLは何ですか?
https://サイトのURL/wp-login.phpです。/wp-admin/ でも同じログイン画面に転送されます。セキュリティ系プラグインでURLを変更している場合は、その設定した独自のURLになります。
パスワードを忘れてメールも届きません
サーバーのメール送信設定が原因のことが多いです。データベース管理画面(phpMyAdminなど)のwp_usersテーブルでパスワードを書きかえる方法、またはFTPでfunctions.phpに一時的なコードを置いて管理者を作る方法で復旧できます。
「Cookieがブロックされているか、サポートされていません」と出ます
ブラウザのCookie設定、キャッシュ、またはサイトURLの不一致が原因です。シークレットウィンドウで試し、それでもだめならwp-config.phpでWP_HOMEとWP_SITEURLを正しいURLに固定します。
ログインは通るのに管理画面に入れず戻されます
サイトURLの設定ズレ(httpとhttps、wwwの有無)が典型的な原因です。wp-config.phpでURLを固定するか、プラグイン・テーマのリダイレクト処理を疑って全無効化で切り分けます。