Login Failed
WordPressにログインできない|
403・404・リダイレクト別の対処
ログインできないときは、パスワードの問題なのか、画面自体が拒否されているのかで手順が分かれます。まず表示される番号と、公開面が動いているかを確認してください。見知らぬ転送や、管理者の増殖があるときは、改ざんの点検を先にします。
WordPressにログインできないときの切り分け
ログインできない、と一口に言っても中身は違います。ログイン画面は出るが通らない、画面自体が403や404になる、入力すると元の画面へ戻る、送信後に500になる、公開面まで落ちている、です。最初に公開URLを開き、続けて通常のログインURLを開きます。ログインURLを変えているサイトは、変えたあとの住所を使います。wp-login.php が404でも、それだけでは改ざんとは限りません。
ブラウザの開発者ツールで、最終的なHTTPの番号を見ます。画面の絵だけだと、サーバーの403と、WAFのブロック、テーマの独自ページが区別できません。番号が403なら拒否、404なら見つからない、301や302が続くならリダイレクト、500ならサーバー内部です。200のままログイン画面が再表示されるなら、認証情報か、クッキーか、セキュリティプラグインの判定です。
公開面が通常どおり見えて、ログインだけ落ちているなら、閲覧者への影響は限定されます。公開面まで同じ403やデータベースエラーなら、修正の対象はログイン画面ではありません。データベースの英文エラーはデータベース接続確立エラーへ分けます。公開面が別サイトや広告へ飛ぶなら、ログインを直すより先に隔離です。
切り分けの記録は短くて足ります。開いたURL、返った番号、公開面の可否、直前に入れたプラグインや、サーバーのIP制限、ログインURLの変更です。パスワードを何回か試すのは、ロック機能があるサイトでは逆効果です。三回失敗して止まったら、パスワードの再試行より、番号の確認へ戻ります。
複数人で管理しているサイトは、誰のアカウントで試したかも残します。一人だけ入れないなら、権限とメールアドレスの問題です。全員入れないなら、サーバーか、ログインURLか、サイト全体の制限です。制作会社の担当が辞めたあとにパスワードが分からない、という場合は、この記事のメールでの確認へ進みます。
スマホのブラウザだけで試し、パソコンで開いていない、という状態は切り分けとして弱いです。同じ回線と、別回線、可能なら別の端末でも番号を確認します。会社のネットワークだけ403になるときは、IP制限か、WAFの国・回線判定です。自分の自宅では入れるなら、サーバーの設定を壊さず、許可IPの一覧を見直します。
WordPressにログインできない|403
403は、サーバーかWAFが「見せない」と決めた応答です。パスワードの正誤より先に、アクセスそのものが拒否されています。ログイン画面のHTMLが出る前に403になるなら、入力を繰り返しても変わりません。拒否している装置がどれかを、出方で分けます。
403の出方
ログインだけ落ちるのか、サイト全体が落ちるのかで、触るファイルが違います。先に公開面、画像、wp-admin の三箇所を開いてください。同じ403が全部に出るなら、ディレクトリ全体の権限か、IP制限か、WAFの全面ブロックです。ログインだけなら、wp-login.php と wp-admin に対する個別の拒否です。
ログイン画面だけ
公開面は見え、wp-login.php または wp-admin だけ403になるときは、セキュリティプラグイン、.htaccess のBasic認証、IP許可、ログイン試行のロック、WAFの管理画面ルールを疑います。プラグインなら、ファイルマネージャで該当フォルダをリネームすると、拒否が外れることがあります。SiteGuard、ログイン試行制限、海外IPの遮断は、自分の回線変更の直後に起きやすいです。
.htaccess に wp-login.php へのDenyや、特定IP以外を拒否する行があるかも見ます。編集前に必ず控えを取ります。行を消すときは、WordPressが書いたリライトルールまで消さないでください。パーマリンク用のブロックを消すと、公開面の下層が404になります。WAFを手前に置いている場合は、サーバーのファイルを直しても403が残ります。WAF側の管理画面用ルールと、国制限、ボットスコアを見ます。
権限の数字が、ファイル600や、ディレクトリ700のままになっていると、ウェブサーバーの実行ユーザーから読めず403になります。目安はディレクトリ755、ファイル644です。自分のユーザーだけ読める設定は、FTPでは見えるのにブラウザは403、という食い違いになります。直しすぎて777にはしないでください。入れても、次の改ざんの入口になります。
サイト全体
トップも下層も403なら、公開ディレクトリの権限、インデックスの禁止、IP制限の範囲が広すぎる、WAFのサイト全体ルール、料金未払いによる停止を見ます。サーバーパネルに「利用停止」と出ているなら、.htaccess を触っても戻りません。支払いと、ディスク満杯、プロセス制限を先に解消します。
サイト全体の403で、ソースに見知らぬ業者の案内や、改ざん警告が混ざるときは、接続エラーのときと同様、自分でテーマを直す段階ではありません。点検の手順で、隔離とバックアップの保全から入ります。全体403のままプラグインを追加したり、ログインURLを変えたりすると、原因が重なります。
CDNのキャッシュが403を覚えていることもあります。サーバーへ直接、ホスト名の一時URLで開いて200なら、原点は直っています。その場合はキャッシュの破棄と、WAFの誤検知の解除です。直接見ても403なら、原点の制限が残っています。両方試してから、ファイルを大きく消す判断をします。
WordPressにログインできない|404
ログインURLが404になるときは、ファイルが無いのか、書き換えで別の住所になっているのかを分けます。ログインURLをプラグインや.htaccessで変えているサイトは、元の wp-login.php が404や404に近い拒否を返すことがあります。それは仕様です。変えたあとの住所を使うか、変更を戻します。戻し方はログインURL変更にあります。
変えていないのに404なら、wp-login.php の実在をファイルマネージャで見ます。ファイルが消えている、サイズが0、中身が差し替わっている、は改ざんや、失敗した引っ越しの残骸です。標準のファイルを同じバージョンのWordPressから置き直す前に、今のファイルを控えます。差し替わった中身は、あとで見る材料です。
wp-admin を開くと404、wp-login.php は出る、という形もあります。ディレクトリ名の変更、サブディレクトリ型のインストール、公開ディレクトリの指定ミスで、管理用のパスがずれます。サイトアドレスとWordPressアドレスが食い違っていると、管理画面だけ別ホストの404へ飛びます。wp-config.php の WP_HOME と WP_SITEURL、データベースの siteurl と home を揃えます。揃える値は、今ブラウザで公開面が見えているホストです。
パーマリンクのルールが壊れて、wp-admin まで投稿用の書き換えに巻き込まれることもあります。.htaccess の WordPress ブロックを、標準の形に戻して保存します。戻したあと、ログインできたらパーマリンク設定を開いて保存し、ルールを正規の状態で書き直します。nginx のサーバーでは .htaccess は読まれません。その場合は、サーバー側の try_files と、管理画面用の例外を見ます。
404のページが、いつものテーマではなく、見知らぬ英語や、別サイトの体裁なら、DNSか、公開ディレクトリの中身が入れ替わっています。ログインを直す作業ではなく、向き先の確認と、必要なら隔離です。検索結果やブックマークが http のままで、https 側にだけ管理画面がある、というずれも404に見えます。アドレスバーのスキームを合わせて再試行します。
WordPressにログインできない|リダイレクト
ログイン画面は出るのに、送信すると同じ画面へ戻る、wp-admin を開くとログインへ戻り、ログインするとまた wp-admin へ飛ぶ、という輪はリダイレクトの問題です。番号は301や302が続きます。ブラウザは「リダイレクトが多すぎます」と出すことがあります。パスワードの正誤より、サイトURLとクッキーの食い違いを先に見ます。
典型は、サイトアドレスが https なのに、ログインだけ http で開いている、またはその逆です。Cookie の secure 属性と、WordPressが見ているホストが一致せず、ログインした扱いになりません。アドレスバーを、設定しているサイトアドレスと同じスキームとホストに揃えます。www の有無も一致させます。片方にだけ www が付いていると、同じサイトに見えてもクッキーが別物です。
wp-config.php に WP_HOME と WP_SITEURL を書いて固定する方法は、データベースの値が壊れているときに有効です。値は、今公開面が正しいホストで見えているURLにします。末尾のスラッシュの有無は、二つの定数で揃えます。直書きしたあとに入れるようになったら、データベース側の siteurl と home も同じ値へ直し、必要なら定数を外します。定数を残したままだと、管理画面からURLを変えられません。
プラグインの強制SSL、リダイレクト系、会員ログインの拡張が輪を作ることがあります。ファイルマネージャで、該当プラグインをリネームしてから、同じURLで再試行します。キャッシュプラグインの残存ファイル、advanced-cache.php も輪の原因になります。止めたあと、ブラウザのクッキーをそのサイトだけ消し、再度開きます。古いクッキーが残ると、直したあとも輪が続きます。
手前にCloudflareを置いている場合は、フレックスSSLと、常時HTTPS、管理画面の例外が食い違うと輪になります。原点が http のまま、手前だけ https、WordPressは https を強制、という三重はよく壊れます。一時的にWAFとHTTPSの強制を緩め、原点のURLを一つに揃えてから戻します。緩めているあいだは、管理画面のIP制限を残してください。
ログインに成功した直後、見知らぬ外部ドメインへ飛ぶなら、設定の食い違いではありません。改ざんか、悪意のあるプラグインです。その瞬間から、自分でリダイレクトプラグインを追加する作業は止め、点検へ切り替えます。管理者の一覧に見知らぬメールがあるかも、入れるようになったら最初に見ます。
WordPressにログインできない|500
500は、サーバー内部で処理が落ちた応答です。ログイン画面を開いた瞬間でも、送信した直後でも出ます。画面には詳しい理由が出ないことが多いので、サーバーのエラーログと、直前に触ったファイルを見ます。.htaccess の文法ミス、メモリ不足、プラグインの致命的エラーが三大です。
.htaccess を直近で編集しているなら、控えに戻すのが最短です。控えが無いときは、WordPress標準のリライトルールだけ残し、追加していた拒否や転送の行を外します。戻した瞬間に公開面の下層が直ることがあります。ログイン用に足した行が原因でも、標準ブロックまで消さない、という原則は403のときと同じです。
メモリ不足は、管理画面だけ500、公開面は細い、という形で出ることがあります。wp-config.php で WP_MEMORY_LIMIT を上げる前に、エラーログの Allowed memory size を確認します。上がらない契約なら、重いプラグインをフォルダ名変更で止めます。バックアップの作成、画像の一括最適化、セキュリティのスキャンをログイン直後に走らせる拡張は、管理画面の500を作りやすいです。
PHPのバージョンを上げた直後の500は、古いプラグインやテーマの文法が原因です。ログイン画面はテーマをあまり使わないので、プラグイン側が多いです。更新日時の新しいフォルダから止めます。下げ戻す判断は、公開面が新しいPHPで動いているかを見てからにします。ログインのためだけにPHPを下げると、公開面の別問題が残ります。
500の応答本体に、見知らぬサイトへのリンクや、見知らぬ管理者への誘導があるときは、エラーページ自体が差し込まれています。ログのパスと、実際のエラー文書の置き場を確認し、標準でないファイルは控えを取って隔離します。自分で直す範囲を超えたら、この記事の最後へ進みます。
メールアドレスでの確認
ログイン画面は200で出て、番号の問題ではないとき、まず疑うのはパスワードです。ユーザー名をメールアドレスで入れているサイトと、ログイン名で入れているサイトが混在します。画面のラベルを見て、入れている値がどちらかを揃えます。大文字小文字、前後の空白、パスワードマネージャが古い値を出している、は回数を重ねるほどロックに近づきます。
パスワードを忘れた場合は、ログイン画面の再設定を使います。届く宛先は、そのユーザーに登録されたメールです。届かないときは、迷惑メールと、サーバーの送信制限、フォームと同じ送信まわりを見ます。再設定メールが全く出ないなら、サイトのメール送信が死んでいます。公開面のフォームも同時に届かないことが多いです。その場合は、ログインより先に送信の復旧が必要になることがあります。
再設定メールが来ない、またはアカウント自体が分からないときは、データベースの users テーブルを見ます。phpMyAdminで、自分のメールがある行を探し、ログイン名を確認します。パスワードをデータベース上で変える場合は、WordPressの方式でハッシュする必要があります。平文で上書きすると、二度と通常ログインできません。手段に自信がなければ、メール送信を直すか、FTPで一時的にパスワードリセット用の手順を置く前に、控えを取ります。
自分の行が無い、見知らぬ管理者だけが残っている、自分のメールの権限が購読者に落ちている、は設定ミスより改ざんを疑います。パスワードを変えて入れること自体はできますが、入ったあとに残っている入口を見ないまま運用を戻すと、また閉め出されます。その分岐は点検です。
二段階認証を入れているサイトは、端末を変えたあとで入れなくなります。バックアップコードがあるなら、それを使います。プラグインのフォルダをリネームすると二段階は外れますが、同時に他の防御も外れます。外す時間を短くし、入ったら先に正規の端末を登録し直します。認証アプリの時刻がずれているだけのこともあるので、フォルダを消す前に端末の時刻を確認します。
WordPressにログインできないあとの確認
入れるようになった直後は、投稿せずに確認だけします。管理者ユーザーの一覧、新しい管理者の有無、プラグインの新規追加、テーマの見知らぬフォルダ、サイトアドレスの値です。ログインできなかった原因が、自分のパスワード忘れなら、ここは短くて足ります。原因が403やリダイレクトだったなら、戻した設定が公開面を壊していないかを見ます。
パーマリンクを保存し、トップと下層、フォームのテスト送信をします。.htaccess を戻したサイトは、下層の404が残っていないかを重点的に見ます。WAFの例外を足したサイトは、例外が管理画面だけに閉じているかを見ます。サイト全体を除外したままだと、ログインはできても防御が空きます。
パスワードは、入れたあとで必ず新しい値へ変えます。共有していた宛先へ、古いパスワードを再送しないでください。必要ならユーザーを分け、期限を決めて権限を落とします。ログイン試行のロックを外したままだと、同じ症状が再発します。自分の回線が安定してから、ロックを妥当な回数へ戻します。
ログインURLを変えて直したつもりになっている場合は、新しい住所を関係者だけが知っている状態かを確認します。検索結果や、ブラウザの補完に古い住所が残っていると、また404を見て混乱します。変更の手順と戻し方は、次の記事に分けてあります。
日次バックアップが止まっていないかも、入った当日に見ます。ログイン不能のあいだに世代が取れていないと、次に落ちたときの戻し先が古くなります。手動で一世代取り、保存先が公開ディレクトリの外かを確認します。公開ディレクトリにインストーラやバックアップの圧縮が残っていたら、ログインできる今のうちに移すか消します。
ログイン画面のキャプチャと、直したファイルの控えは、一週間は残します。同じ番号が再発したときに、前回と同じ行を消してよいか、別の制限が重なったかが分かります。関係者が複数いる場合は、誰が.htaccessを触ったかを日付と一緒に残します。残さないと、次の403のときに同じ行を足して、また自分を閉め出します。
ログインできないのを自分で難しいとき
見知らぬ管理者、見知らぬ転送、自分で置いていないPHP、サーバーのファイル日時が作業と一致しない、このどれかがあるときは、ログインの復旧と改ざんの切り分けが同時案件です。サイト改ざん・マルウェア駆除を先に見てください。緊急対応は税別29,800円からです。人が問題かを見てから、隔離と除去に入ります。
番号の切り分けはできたが、更新と監視まで手が回らない場合はWordPress保守です。死活は全プランで24時間365日1秒単位です。マルウェアの常時監視はスタンダード月額17,800円(税別)以上です。更新の少ないサイトはライト月額8,800円、止められないサイトはプレミアム月額34,800円です。
公開URL、返っている番号、ログインURLを変えているか、の三つが分かれば、次に触ってよいファイルを分けて返せます。パスワードの本文を送る必要はありません。画面の番号と、公開面の生死だけで十分です。
あわせて見る
相談
番号の出方から着手を分けます
公開URLと、403・404・リダイレクト・500のどれか、公開面の生死が分かれば、触ってよい範囲を返します。