コンテンツにスキップ

WordPress 管理画面にログインできない問題の対処法

メインイメージ

WordPress を使用しているとまれに管理画面にログインできなくなることがあります。 このような状況に陥ったときに役立つ対処法を紹介します。

次の動画はこの記事よりも後に作ったもので、ポイントをもっとたくさん挙げています。

A. クッキーが有効化されていることを確認する

ブラウザのクッキーが有効になっていなければ正しいユーザー名・パスワードを入力してもログインはできません。 ブラウザのクッキーが無効になっていないか確認し、もし無効になっていれば有効にします。

B. 別のブラウザや端末を試す

ブラウザの拡張機能やネットワーク設定の影響で、特定の環境でのみログインが失敗することもあります。 ログインが成功する環境とそうでない環境がある場合は、いくつかの異なる環境でログインを試して原因を絞り込みます。

C. ファイヤウォールを確認する

サイトにファイヤウォールが設置されていてそれでログインがブロックされないか確認します。 ファイヤウォールを設置した覚えがなくても、遠い昔に設置してそのことを忘れてしまっている場合や、セキュリティプラグインが機能している場合、レンタルサーバーが設置している場合なんかもあるためそのあたりも改めて確認します。 ファイヤウォールでブロックされていることが判明した場合や、ファイヤウォールの影響が疑われる場合は、一時的にファイヤウォールを無効化するなどしてログインを試します。

D. WordPress のパスワードリセット機能を使う

ログインフォームで「ユーザー名 xxx のパスワードが間違っています」というエラーメッセージが出る場合はパスワードが間違っています。 正しいパスワードがわからない場合は WordPress のパスワードリセット機能を使います。

  1. WordPress のログインページを開きます
  2. ページ内の「パスワードをお忘れですか?」リンクをクリックします
  3. 「パスワード紛失」フォームが開くので「ユーザー名またはメールアドレス」フィールドに対象のユーザー名かメールアドレスを入力して「新しいパスワードを取得」ボタンをクリックします

    パスワード紛失

  4. 対象のメールアドレスのメール受信箱を開きます

  5. WordPress サイトからパスワードリセットのメールが届くのでメール内のリンクをクリックします
  6. パスワードリセットフォームのページが開くので新しいパスワードを入力して送信します
  7. WordPress のログインページを開いて新しく設定したパスワードでログインします

E. WP-CLI で新しいパスワードを設定する

WordPress のコマンドラインツール WP-CLI が使える環境であれば WP-CLI を使う方法も確実でかんたんです。

  1. サーバーマシンに SSH で接続します
  2. WordPress のインストールディレクトリに cd で移動します
  3. 次のコマンドを実行します

    wp user update 'ユーザー名' --user_pass='新しいパスワード'
    

関連リファレンス:

F. phpMyAdmin で新しいパスワードを設定する

WordPress のデータベースに phpMyAdmin で接続できる場合は phpMyAdmin でパスワードをリセットする方法もあります。

  1. phpMyAdmin の画面を開いて WordPress のデータベースに接続します
  2. サイドバーから プレフィックス_users (プレフィックスは作成時に設定したもの)テーブルを選択します
  3. 一覧からパスワードをリセットしたいユーザーのレコードを検索します
  4. 対象のユーザーのレコードの「 Edit 」リンクをクリックします
  5. 編集ページが開くので user_pass フィールドの「 Function 」に「 MD5 」を選んで「 Value 」に新しいパスワードを入力します

    phpMyAdmin → プレフィックス_users → user_pass

  6. ページ右下の「 Go 」ボタンをクリックして保存します

  7. WordPress のログインページを開いて新しく設定したパスワードでログインします

ここで使うツールは必ずしも phpMyAdmin でないといけないわけではありません。 phpMyAdmin 以外でもフィールドの値を MD5 形式でセットできるデータベース管理ツールであれば OK です。

MD5 形式でパスワードを設定することの安全性が気になる方は脚注 1 をご覧ください。

G. wp-config.php で一時的なパスワードを設定する

他の方法に比べると少しローテクな方法になりますが、設定ファイル wp-config.php で強制的にパスワードを設定する方法もあります。

  1. サーバーマシンに SSH か SFTP で接続します
  2. WordPress の設定ファイル wp-config.php を開きます
    • wp-config.php は WordPress インストールディレクトリ直下にあることが多いです
  3. ファイルの末尾に次の行を追加します

    // $user_id の値はパスワードヲリセットしたいユーザーの ID に変更してください:
    $user_id = 1;
    $new_password = '新しいパスワード';
    wp_set_password( $new_password, $user_id );
    
  4. ブラウザで WordPress サイトを一度開きます

  5. ステップ 3 で wp-config.php に追加した行を削除して元の状態に戻します
  6. WordPress のログインページを開いて新しく設定したパスワードでログインします

ステップ 3 の関数 wp_set_password() を実行するとそのユーザーのログインセッションがリセットされます。 そのため、ステップ 5 の wp-config.php を元に戻す作業を忘れないようにしてください。 wp_set_password() を残したままだといつまでもログインできないままになります。

関連コード:

参考

関連ページ


  1. WordPress 6.4.3 時点で、 WordPress には「データベースに格納されているパスワードが MD5 形式になっていれば、認証時に自動的に適切な形式に変換して保存し直す」という仕組みが備わっています。 ですので、方法 F の場合はステップ 7 まで終えるとパスワードは MD5 形式ではない適切な値に変換済みとなっています。 参考: wp_check_password() – Function | Developer.WordPress.org 。