Tips
WordPressにログインできない時の原因特定フロー
2025-10-13
この記事が解決する状況
| あなたの状況 | 読むべきセクション |
|---|---|
| 今すぐログインしたい | 症状別の原因特定 |
| パスワードが通らない | パスワードが通らない |
| リダイレクトループ | リダイレクトループ |
| 画面が真っ白 | 画面が真っ白 |
| 403 Forbidden | 403 Forbidden |
| ログインできたが何か怪しい | ログイン復旧後にやること |
「とりあえずプラグイン全無効化」は最後の手段。まず症状から原因を絞り込む。
よくある失敗
「とりあえずプラグイン全部無効化したら、別の問題が出た」
原因を特定せずに対処すると、問題が複雑化する。まず症状から原因を絞り込む。
症状別の原因特定
| 症状 | 最も多い原因 | 次に多い原因 |
|---|---|---|
| パスワードが通らない | パスワード忘れ | ユーザー名の大文字小文字 |
| リダイレクトループ | URL設定の不一致 | httpsリダイレクト設定の競合 |
| 画面が真っ白 | PHPエラー | メモリ不足 |
| 403 Forbidden | セキュリティプラグイン | .htaccessの設定 |
| Cookieエラー | ブラウザ設定 | ドメイン設定の不一致 |
症状を正確に把握してから対処を始める。
切り分けの手順
1. 別ブラウザ(シークレットモード)で試す
2. 症状を確認
3. 対応する原因の対処を実施
4. 解決しなければ次の原因を検証
パスワードが通らない
方法1: メールでリセット
ログイン画面の「パスワードをお忘れですか?」
メールが届かない場合は方法2へ。
方法2: phpMyAdminでDB直接変更
UPDATE wp_users
SET user_pass = MD5('新しいパスワード')
WHERE user_login = 'admin';
テーブル接頭辞がwp_以外の場合は適宜変更。
⚠️ セキュリティ観点: この方法でログインできたら、すぐに管理画面から強力なパスワードに再変更する。MD5は弱いハッシュ。
リダイレクトループ
原因
DBのsiteurlとhomeが実際のURLと違う。http/httpsの不一致が多い。
対処: wp-config.phpで強制上書き
define('WP_HOME', 'https://example.com');
define('WP_SITEURL', 'https://example.com');
require_once(ABSPATH . 'wp-settings.php'); の前に追記。
⚠️ 注意: www有無、http/httpsを正確に。間違えると悪化する。
画面が真っ白
対処1: デバッグモードでエラー確認
// wp-config.php
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', true);
エラーメッセージが表示される。確認後はfalseに戻す。
対処2: メモリ不足の場合
define('WP_MEMORY_LIMIT', '256M');
対処3: プラグインが原因の場合
FTPで/wp-content/plugins/にアクセスし、フォルダ名を変更。
plugins → _plugins
ログインできるようになったら、プラグインを1つずつ有効化して原因特定。
403 Forbidden
原因の切り分け
| 原因 | 確認方法 |
|---|---|
| セキュリティプラグイン | FTPでプラグインフォルダをリネーム |
| .htaccess | FTPで.htaccessをリネーム |
| サーバー側のWAF | サーバー管理画面で確認 |
対処: .htaccessをリセット
- FTPで
.htaccessを_htaccessにリネーム - ログインできるか確認
- 管理画面 → 設定 → パーマリンク → 保存(.htaccess再生成)
Cookieエラー
「Cookieがブロックされているか、お使いのブラウザで未サポートのようです」
対処1: ブラウザ側
- Cookieとキャッシュをクリア
- シークレットモードで試す
- 別のブラウザで試す
対処2: wp-config.php
define('COOKIE_DOMAIN', 'example.com');
define('COOKIEPATH', '/');
wwwあり・なしの不一致で発生することが多い。
ログイン復旧後にやること
ログインできて終わりではない。 なぜログインできなくなったかを確認し、再発を防ぐ。
必須: 不正アクセスの確認
1. ユーザー一覧を確認 → 見知らぬ管理者がいないか
2. プラグイン一覧を確認 → インストールした覚えのないプラグイン
3. テーマを確認 → 見知らぬテーマ
不審な点があった場合
| 発見したもの | 対処 |
|---|---|
| 見知らぬ管理者ユーザー | 即削除、全ユーザーのパスワード変更 |
| 見知らぬプラグイン | 即削除、マルウェアスキャン |
| 見知らぬテーマ | 即削除、マルウェアスキャン |
推奨: セキュリティ強化
| 対策 | 方法 |
|---|---|
| 管理者パスワード変更 | 強力なパスワードに |
| ログインURL変更 | WPS Hide Login等 |
| ログイン試行制限 | Limit Login Attempts等 |
| 二要素認証 | Two Factor等 |
対処後のチェックリスト
| 項目 | 確認 |
|---|---|
| デバッグモードをOFFに戻したか | 本番でONは情報漏洩 |
| リネームしたフォルダを戻したか | _plugins → plugins |
| .htaccessは再生成されたか | パーマリンク設定を保存 |
| キャッシュをクリアしたか | プラグイン・CDN・ブラウザ |
| 不審なユーザー・プラグインはないか | セキュリティ確認 |
それでも解決しない場合
| 次の手段 | 方法 |
|---|---|
| エラーログ確認 | サーバーのerror_log、wp-content/debug.log |
| バックアップから復元 | 問題発生前の状態に戻す |
| サーバー会社に問い合わせ | サーバー側の問題の可能性 |
よくある事故パターン
事故1: プラグイン更新直後にログイン不能
状況: プラグインを更新したらログインできなくなった
原因: プラグインがPHPバージョンと非互換
対処: FTPでプラグインフォルダをリネーム
事故2: SSL設定変更でリダイレクトループ
状況: httpsに変更したらリダイレクトループ
原因: DBのURLがhttpのまま、.htaccessでhttps強制
対処: wp-config.phpでURL強制上書き
事故3: セキュリティプラグインで自分を締め出し
状況: ログイン制限を厳しくしたら自分もブロック
原因: IP制限やログイン試行制限
対処: FTPでセキュリティプラグインをリネーム
まとめ
- 症状から原因を絞り込んでから対処
- シークレットモードで切り分け
- リダイレクトループはwp-config.phpでURL強制
- 真っ白はWP_DEBUGでエラー確認
- 対処後はデバッグモードを必ずOFFに
- ログイン復旧後は不正アクセスを確認
関連記事
- wp-config.phpを編集する前に決めること — URL設定やデバッグモードの詳細
- WordPressバックアップで「何を」「どこに」保存するか — 復元が必要な場合