WordPressを外部ツールやCLIから操作しようとすると、「アプリケーションパスワード」を求められることがあります。名前だけを見ると通常のログインパスワードと同じように感じますが、役割は少し違います。管理画面に人がログインするためのものではなく、REST APIなどを使ってプログラムからWordPressへアクセスするための認証情報です。
この記事では、WordPressのアプリケーションパスワードの役割、通常パスワードとの違い、発行場所、使うときの注意点を整理します。
アプリケーションパスワードはAPI連携用の認証情報
アプリケーションパスワードは、WordPressユーザーに紐づけて発行する外部連携用のパスワードです。たとえば、記事投稿CLI、スマートフォンアプリ、外部の運用ツールなどがWordPress REST APIへアクセスするときに使います。
重要なのは、これは管理画面へログインするための通常パスワードではないという点です。WordPress公式ドキュメントでも、アプリケーションパスワードはプログラムからのアクセス用であり、wp-login.php からの対話的なログインには使わないものとして説明されています。
つまり、外部ツールに「WordPressの認証情報」を渡す必要があるとき、通常のログインパスワードをそのまま渡すのではなく、その用途専用に発行する認証情報だと考えると分かりやすいです。
通常のログインパスワードと何が違うのか
通常のログインパスワードは、WordPress管理画面へログインするためのものです。一方、アプリケーションパスワードは、外部ツールやスクリプトがAPI経由でアクセスするために使います。
大きな違いは、連携ごとに分けて発行でき、不要になったものだけを削除できることです。たとえば「自動投稿CLI」用に作ったパスワードが不要になった場合、そのパスワードだけを取り消せます。通常のログインパスワード全体を変更しなくても、該当する連携だけを止められます。
ただし、漏れても安全という意味ではありません。投稿や更新ができるユーザーのアプリケーションパスワードが漏れれば、その権限の範囲でAPI操作される可能性があります。通常パスワードとは分けられる一方で、秘密情報として扱う必要があります。
発行はユーザープロフィールから行う
自前のWordPressでは、基本的に管理画面の「ユーザー」から対象ユーザーのプロフィールを開き、「アプリケーションパスワード」の欄で発行します。管理者が自分用に作る場合は「ユーザー → プロフィール」、別ユーザーのものを確認する場合は「ユーザー → ユーザー一覧 → 編集」という流れです。
発行時には、何に使うものか分かる名前を付けます。たとえば nexiblog-cli や posting-tool のように、後から見て用途が分かる名前にしておくと、不要になったときに削除しやすくなります。
生成されたパスワードは一度しか表示されません。後から同じ文字列を確認することはできないため、発行したらすぐに安全な場所へ保存します。CLIで使う場合は、ソースコードに直接書かず、.env のような環境設定ファイルに分けて保存するのが基本です。
使うときの注意点
アプリケーションパスワードは、HTTP Basic認証でWordPressユーザー名と一緒に送ります。そのため、通信が暗号化されていない環境では認証情報が傍受されるリスクがあります。実運用ではHTTPSのサイトで使うことが前提です。
運用上は、次の点を押さえておくと扱いやすくなります。
- ツールごとに別々のアプリケーションパスワードを作る
.envなどに保存し、Gitには含めない- 不要になったパスワードはプロフィール画面から削除する
- チャットや共有メモに貼った場合は、使い終わったら削除して再発行する
- 認証に失敗する場合は、HTTPS、機能の無効化、Authorizationヘッダーの扱いを確認する
特に自動投稿のような用途では、管理者ユーザーをそのまま使うより、可能であれば投稿に必要な権限だけを持つユーザーを用意した方が影響範囲を抑えやすくなります。
まとめ
WordPressのアプリケーションパスワードは、通常のログインパスワードの代わりではなく、REST APIや外部ツール連携のために発行する認証情報です。
便利な仕組みですが、扱いはあくまで秘密情報です。連携ごとに分けて発行し、不要になったら削除する。HTTPSで使い、ソースコードやGitには含めない。このあたりを守れば、WordPressの自動投稿や外部連携を始めるときの認証方法として使いやすくなります。

