「WordPressのアプリケーションパスワードって何?普通のパスワードと何が違うの?」——外部ツールやAIエージェントからWordPressを操作しようとして、初めてこの言葉に出会った人も多いはずです。
このブログでは、記事の作成や更新を管理画面を開かずに、外部からREST API経由で行っています。そのときに使っているのがアプリケーションパスワードです。この記事では、仕組み・発行方法・使い方・削除方法と、ハマりやすいポイントをまとめます。
この記事で分かること
・アプリケーションパスワードとは何か(通常のパスワードとの違い)
・発行手順(プロフィール画面で1分)と、表示されないときの原因
・REST APIでの使い方(curlの例つき)
・不要になったときの削除方法と、安全に使うためのルール
アプリケーションパスワードとは?
アプリケーションパスワードは、WordPress 5.6から標準搭載された「外部ツール専用のパスワード」です。ログイン画面で使う本来のパスワードとは別に、アプリやスクリプトごとに発行できます。
| 通常のパスワード | アプリケーションパスワード | |
|---|---|---|
| 使う場所 | ログイン画面(管理画面に入る) | REST API・XML-RPCなど外部からの接続 |
| 形式 | 自分で決める | 自動生成される24文字(4文字×6ブロック) |
| 発行数 | 1つ | 用途ごとに複数発行できる |
| 取り消し | 変更すると全部に影響 | そのアプリの分だけ個別に削除できる |
| 再表示 | — | 発行時に1回しか表示されない |
ポイントは「本来のパスワードを外部ツールに渡さなくて済む」こと。ツールごとに別のパスワードを発行しておけば、使わなくなったツールの分だけ削除でき、万一漏れても本来のパスワードは無事です。
アプリケーションパスワードの発行方法
- WordPress管理画面 →「ユーザー」→「プロフィール」を開く
- ページの下のほうにある「アプリケーションパスワード」欄を探す
- 「新しいアプリケーションパスワード名」に用途が分かる名前を入力する(例:claude-code、zapier、iPhoneアプリ)
- 「新しいアプリケーションパスワードを追加」を押す
- 表示された
xxxx xxxx xxxx xxxx xxxx xxxx形式の文字列をその場でコピーして保管する
注意:パスワード本体は二度と表示されません
発行後に一覧に表示されるのは「名前」「作成日」「最終使用日」だけです。コピーし忘れたら、そのパスワードは「取り消し」して新しく発行し直してください。なお、入力した「名前」はパスワードではありません(名前を入れても認証は通りません)。
「アプリケーションパスワード」欄が表示されない場合
プロフィール画面に欄が見当たらないときは、次のどれかが原因です。
- サイトがHTTPS(SSL)になっていない:セキュリティ上、HTTPのサイトでは機能が無効化されます。レンタルサーバーの無料SSLを有効にして、サイトURLを https:// に変更してください
- WordPressのバージョンが5.6より古い:更新が必要です
- セキュリティプラグインで無効化されている:プラグイン設定で「アプリケーションパスワード」や「REST API」の項目を確認してください
- テーマや functions.php で無効化されている:
wp_is_application_passwords_availableフィルターで false を返す記述があれば、それが原因です
使い方:REST APIで記事を取得・投稿する例
アプリケーションパスワードは「ユーザー名:アプリケーションパスワード」の組み合わせで、Basic認証として使います。まずは自分の情報が取れるか確認してみましょう(ターミナルで実行)。
curl -u "ユーザー名:xxxx xxxx xxxx xxxx xxxx xxxx" \
"https://あなたのドメイン/wp-json/wp/v2/users/me?context=edit"
自分のユーザー情報(id・name・roles)がJSONで返ってくれば成功です。{"code":"rest_not_logged_in"…} と返る場合は、ユーザー名かパスワードが間違っています(スペース入りのまま、ダブルクォートで囲んで渡せばOKです)。
下書き記事を作るなら、こんな形です。
curl -u "ユーザー名:xxxx xxxx xxxx xxxx xxxx xxxx" \
-X POST "https://あなたのドメイン/wp-json/wp/v2/posts" \
-H "Content-Type: application/json" \
-d '{"title":"テスト投稿","content":"<p>本文</p>","status":"draft"}'
Python・Node.js・Zapier・Make・各種のAIエージェントでも、「Basic認証にユーザー名とアプリケーションパスワードを設定する」という点は同じです。
ConoHa WINGなどWAFのあるサーバーでは403に注意
認証は通っているのに、投稿の更新や削除だけ「閲覧できません (Forbidden access)」で失敗することがあります。これはサーバーのWAF(SiteGuard Lite)が、外部からの通信を攻撃と誤検知しているためです。特にDELETEメソッドは弾かれやすいので、POSTに X-HTTP-Method-Override: DELETE ヘッダーを付けて代替する方法があります。詳しくは下の記事にまとめています。
アプリケーションパスワードの削除(取り消し)方法
使わなくなったツールの分は、プロフィール画面の「アプリケーションパスワード」一覧で該当の行の「取り消し」を押すだけです。全部まとめて無効化したい場合は「すべてのアプリケーションパスワードを取り消し」を使います。取り消しても、通常のログインパスワードには影響しません。
一覧の「最終使用」列を見れば、そのパスワードが最近使われたかどうかが分かります。心当たりのない名前や、長く使われていないものは取り消しておくのが安全です。
安全に使うための4つのルール
- ツールごとに1つ発行する:使い回すと、どれを消せばいいか分からなくなります
- 権限の小さいユーザーで発行する:記事投稿だけなら「投稿者」や「編集者」ユーザーを作ってそのユーザーで発行する。管理者のパスワードを外部に渡すのは最小限に
- チャットやメールで送ったら、作業後に取り消す:一度共有したものは「漏れたもの」として扱い、再発行するのが基本です
- コードやリポジトリに直書きしない:環境変数や権限600の設定ファイルに分けて保存する
よくある質問
Q. アプリケーションパスワードで管理画面にログインできますか?
A. できません。ログイン画面(wp-login.php)では通常のパスワードだけが有効です。アプリケーションパスワードはREST APIやXML-RPCなど、プログラムからの接続専用です。
Q. 有効期限はありますか?
A. 標準では期限はなく、取り消すまで使えます。だからこそ、使い終わったら取り消す運用が大切です。
Q. 二段階認証を設定していても使えますか?
A. 使えます。二段階認証はログイン画面に対する仕組みなので、REST API経由のアプリケーションパスワード認証には影響しません。そのぶん、アプリケーションパスワードの管理は慎重に行ってください。
まとめ
・アプリケーションパスワードは、外部ツール専用の「使い捨てできるパスワード」
・発行はプロフィール画面で1分。表示されるのは1回だけなのでその場で保管
・「名前」はパスワードではない/HTTPSでないと欄が出ない
・使い方は「ユーザー名:パスワード」のBasic認証。WAFのあるサーバーでは403に注意
・ツールごとに発行し、使い終わったら「取り消し」
参考:Application Passwords: Integration Guide – Make WordPress Core(英語)


