「管理者アカウントなのにログインできない。」

WordPressサイト運営者にとって、この状況は緊急事態です。乗っ取りや改ざんも懸念もあるので、早急に対応した方がいいです。

そんなときに役立つのが、FTPを使った管理者アカウントの追加です。WordPressの管理画面に入れなくても、FTP情報を知っていれば対応できます。

当記事では、FTP経由で新たな管理者アカウントを追加して、ログインする手順をわかりやすく解説します。

WordPressテーマ「GLUE」
WordPressテーマ「GLUE」
無料で高機能なWordPressテーマが手に入る。

FTPで管理者アカウントを追加する準備

FTPを使って管理者アカウントを追加する前に以下を確認・準備しておきましょう。

FTP情報

サイトにアクセスするためのFTP情報が必要です。通常、サーバー契約時に送られてくるメールやサーバーパネルで確認できます。必要な情報は以下の通りです。

  • FTPホスト(例:example.xserver.jp)
  • FTPユーザー名(例:adminuser)
  • FTPパスワード(サーバー契約時に設定したもの)

おすすめのFTPソフトもありますが、エックスサーバーのファイルマネージャーでも対応可能です。

FTP情報が漏洩するといくらでもアカウントを作成できてしまうので、定期的にFTP情報を変更することを推奨します。

テキストエディタ

管理者アカウント追加用のPHPファイルを作成するために、テキストエディタが必要です。Windowsなら「メモ帳」、Macなら「テキストエディット」で十分です。

mu-pluginsを使って管理者アカウントを追加する手順

FTPを使って、管理者アカウントを追加するには、「mu-plugins」というフォルダを利用します。

操作手順は以下の通りです。

  1. FTPで「mu-plugins」を確認する
  2. ローカルでPHPファイルをつくる
  3. 「mu-plugins」フォルダにPHPファイルを設置する

1. FTPでmu-pluginsを確認する

まずは、WordPressをインストールしたルートディレクトリ内の「wp-content」に「mu-plugins」フォルダがあるか確認します。

mu-pluginsがあるか確認しているFTPの画面

ルートディレクトリ内に存在しない場合は、新しく作成してください。空のフォルダで大丈夫です。

2. ローカルでPHPファイルをつくる

次に、任意のテキストエディタを開き、管理者アカウント追加用の以下のコードをコピペします。既存のアカウントがある場合は、何も変更されないようにしているのでご安心ください。

マークしてある18〜20行目の箇所($users_to_add)は、管理者アカウントのログイン情報です。必ず自分の情報に変更してお使いください。

<?php
/*
Plugin Name: Add Admin User
Description: FTPから管理者アカウントを追加(1回限り実行)
Version: 1.0
Author: Your Name
*/

// 一度だけ実行する処理
add_action('init', function () {
    if (get_option('custom_admin_added')) {
        return; // すでに実行済みなら何もしない
    }

    // 追加したい管理者情報
    $users_to_add = [
        [
            'username' => 'adminuser',
            'password' => 'StrongPassword#2025',
            'email'    => 'admin@example.com',
        ]
    ];

    foreach ($users_to_add as $user) {
        // 既に存在する場合はスキップ
        if (!username_exists($user['username']) && !email_exists($user['email'])) {
            $user_id = wp_create_user($user['username'], $user['password'], $user['email']);
            if (!is_wp_error($user_id)) {
                $new_user = get_user_by('id', $user_id);
                $new_user->set_role('administrator');
            }
        }
    }

    // 実行済みフラグを設定
    update_option('custom_admin_added', 1);
});

以上をテキストエディタにコピペしたら、「add-admin-user.php」というようなファイル名で保存しておくとわかりやすいです。

3. mu-pluginsにPHPファイルを設置する

2.で作成したPHPファイルをFTPで「mu-plugins」フォルダ内にアップロードします。

mu-pluginsフォルダにphpファイルをアップロードするFTPの画面

アップロード後、サイトにアクセスすると自動でコードが実行され、管理者アカウントが追加されます。実行後はファイルを削除しても問題ありません。

追加したアカウントで確認しよう

「あなたのサイトのURL/wp-login.php」にアクセスして、先ほどのつくったPHPファイル内のユーザー名、パスワードを入力してログインできるか確認してください。

WordPressのログイン画面

うまくいかないときは?

ログインできないときは、以下のような原因が考えられます。

  • ユーザー名・メール・パスワードの重複
  • ファイルの置き場所が正しくない(wp-content/mu-plugins)
  • WooCommerce等が権限を書き換えている

PHPファイルで追加するユーザー名が既に存在している場合、新しい管理者アカウントとして作成されません。別のユーザー名なら登録できるはずです。

また、WooCommerceなどのプラグインは、新規ユーザーの権限を「customer」に自動設定することがあります。FTPからプラグインをオフにして再度試してみてください。

作業後の後始末

管理者アカウントを追加して、正常にログインできたのならば、最後に後始末をしておくと安心です。

mu-pluginsのコードを削除しておこう

アカウント追加後は、mu-pluginsにアップロードしたPHPファイルは不要です。残しておいても安全ですが、再実行や万一の情報漏えいを防ぐために削除することをおすすめします。

不要なアカウントや権限を整理する

一時的に追加したアカウントや不要になった権限がある場合は、編集しておきましょう。必要に応じて削除したり、権限を編集者や寄稿者に変更するのもありですね。

見覚えのない不審なアカウントがある場合は、非常に危険な状態ですので、必ず削除しておきましょう。

まとめ

FTPを使うことで、WordPressにログインできない状況でも、安全かつ確実に管理者アカウントを追加できます。

作業のポイントをまとめると以下の通りです。

  • 事前にFTP情報を準備しておく
  • mu-plugins内にPHPファイルを設置すると、アカウントが自動で追加される
  • 既存のユーザー名やメールアドレスが重複している場合は、新しいユーザー名で作成する
  • WooCommerceなど一部プラグインが権限を書き換える場合があるので注意する
  • 作業後はPHPファイルを削除し、不要なアカウントや権限を整理して管理画面を安全に保つ

この方法を知っておくことで、ログインできないトラブル時にも落ち着いて対応できるので、セキュリティ上も安心です。ぜひご活用ください。

ログイン関連の記事

世界最高品質のデザインの
WordPressテーマ集
WordPressテーマ「REHUB」
WordPressテーマ「REHUB」
クチコミ評価サイトがつくれる高機能テーマ。
WordPressテーマ「RIKYU」
WordPressテーマ「RIKYU」
あらゆるジャンルのネットショップを構築。
WordPressテーマ「GAIA」
WordPressテーマ「GAIA」
高機能なイベントカレンダーを搭載。
WordPressテーマ「HORIZON」
WordPressテーマ「HORIZON」
横スクロールデザインの個性派ギャラリー。