WordPressのアプリケーションパスワードとは?発行・使い方・削除方法【表示されない原因も】

WordPressのアプリケーションパスワードとは?発行・使い方・削除方法【表示されない原因も】 ブログ運営

「WordPressのアプリケーションパスワードって何?普通のパスワードと何が違うの?」——外部ツールやAIエージェントからWordPressを操作しようとして、初めてこの言葉に出会った人も多いはずです。

このブログでは、記事の作成や更新を管理画面を開かずに、外部からREST API経由で行っています。そのときに使っているのがアプリケーションパスワードです。この記事では、仕組み・発行方法・使い方・削除方法と、ハマりやすいポイントをまとめます。

この記事で分かること
・アプリケーションパスワードとは何か(通常のパスワードとの違い)
・発行手順(プロフィール画面で1分)と、表示されないときの原因
・REST APIでの使い方(curlの例つき)
・不要になったときの削除方法と、安全に使うためのルール

スポンサーリンク

アプリケーションパスワードとは?

アプリケーションパスワードは、WordPress 5.6から標準搭載された「外部ツール専用のパスワード」です。ログイン画面で使う本来のパスワードとは別に、アプリやスクリプトごとに発行できます。

通常のパスワードアプリケーションパスワード
使う場所ログイン画面(管理画面に入る)REST API・XML-RPCなど外部からの接続
形式自分で決める自動生成される24文字(4文字×6ブロック)
発行数1つ用途ごとに複数発行できる
取り消し変更すると全部に影響そのアプリの分だけ個別に削除できる
再表示発行時に1回しか表示されない

ポイントは「本来のパスワードを外部ツールに渡さなくて済む」こと。ツールごとに別のパスワードを発行しておけば、使わなくなったツールの分だけ削除でき、万一漏れても本来のパスワードは無事です。

スポンサーリンク

アプリケーションパスワードの発行方法

  1. WordPress管理画面 →「ユーザー」→「プロフィール」を開く
  2. ページの下のほうにある「アプリケーションパスワード」欄を探す
  3. 「新しいアプリケーションパスワード名」に用途が分かる名前を入力する(例:claude-code、zapier、iPhoneアプリ)
  4. 新しいアプリケーションパスワードを追加」を押す
  5. 表示された 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. ツールごとに1つ発行する:使い回すと、どれを消せばいいか分からなくなります
  2. 権限の小さいユーザーで発行する:記事投稿だけなら「投稿者」や「編集者」ユーザーを作ってそのユーザーで発行する。管理者のパスワードを外部に渡すのは最小限に
  3. チャットやメールで送ったら、作業後に取り消す:一度共有したものは「漏れたもの」として扱い、再発行するのが基本です
  4. コードやリポジトリに直書きしない:環境変数や権限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(英語)

タイトルとURLをコピーしました