ログインできないときは、症状ごとに原因がほぼ決まっています。上から自分の症状を探してください。
管理画面の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:データベースから直す
- レンタルサーバーの管理画面からphpMyAdmin(またはDB管理ツール)を開く
wp_usersテーブルを開き、自分のユーザー行を編集user_passの値を書きかえ、関数にMD5を選んで新しいパスワードを入力して保存- そのパスワードでログイン(ログイン後、より安全な形式に自動で保存し直されます)
方法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がブロックされているか、サポートされていません」
順に試します。
- ブラウザのCookieを許可する/シークレットウィンドウで試す
- キャッシュとCookieを削除して再読みこみ
- 別のブラウザで試す(切り分け)
- 直らなければ、サイト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/pluginsをplugins-offにリネーム→ログインを試す - 入れたら名前を戻し、1つずつ有効化して原因を特定する
ログインURLを変更していて、それが分からない
セキュリティ系プラグインの機能で/login-xxxxのような独自URLにしている場合、wp-login.phpは403や404になります。復旧手順はこうです。
- FTPで
wp-content/plugins/そのプラグインをリネームして無効化する wp-login.phpでログインできる状態に戻る- 管理画面でプラグイン名を戻し、設定を確認する
2段階認証の端末をなくした
認証アプリを入れ直しても復旧できません。プラグインをFTPからリネームして無効化し、ログイン後に再設定します。バックアップコードを発行できるプラグインなら、設定時に必ず控えておくのが対策です。
「ログイン試行回数を超えました」
ログイン試行制限のプラグインやサーバー機能によるロックです。
- 時間をおいて再試行(多くは数十分で解除)
- 急ぎなら、プラグインをFTPでリネームして無効化
- サーバー側の機能なら、管理画面でロック解除やIP許可を設定
ログインまわりを安全にする(復旧できたあと)
再発防止とセキュリティ強化を、効果の大きい順に並べます。
- ユーザー名を
adminにしない——狙われる前提の名前は避ける - 長いパスワードを使う——記号を混ぜるより長さが効く(パスワード管理ツール推奨)
- ログイン試行制限を入れる——総当たり攻撃を実質的に止められる
- 2段階認証——バックアップコードを必ず控える
- 不要な管理者アカウントを削除——退任した人の権限を残さない
まとめ
- ログイン画面は
/wp-login.php。独自URLにしている場合はプラグインのリネームで戻せる - メールが届かないパスワード再設定は、DBの
user_passをMD5で書きかえるか一時コードで管理者を作る - Cookieエラー・リダイレクトループはサイトURLの不一致が定番。
WP_HOMEとWP_SITEURLで固定する - 復旧できたら長いパスワード+ログイン試行制限。URL変更より効果が大きい
「入れない」状態でも復旧の道は必ずあります。触る前のバックアップだけ忘れないでください。