WordPressに外部から投稿する方法|アプリパスワード
WordPressに外部のプログラムから記事を投稿するには、ログインパスワードではなく「アプリケーションパスワード」を使います。ユーザーのプロフィール画面から発行できます。
この仕組みはWordPressに標準で入っているため、プラグインを追加する必要はありません。
(確認日:2026年9月23日)
発行する手順
- 管理画面で「ユーザー」→ 自分のプロフィールを開く
- 下の方の「アプリケーションパスワード」まで進む
- 用途が分かる名前を入れて発行する(例:
auto-post) - 表示された文字列をその場で控える
🔴 発行直後の一度しか表示されません。閉じると二度と見られないため、控え忘れた場合は削除して作り直すことになります。
表示される文字列には空白が入っていますが、そのまま使って問題ありません。
用途ごとに分けて作る
アプリケーションパスワードはいくつでも発行できます。1つを使い回さず、用途ごとに分けてください。
| 1つを使い回す | 用途ごとに分ける | |
|---|---|---|
| 片方を止めたい時 | 全部止まる | 止めたい1つだけ失効させられる |
| どこから使われたか | 分からない | 名前で追える |
使わなくなったものは、その場で削除してください。残しておく理由がありません。
投稿してみる
認証は Authorization ヘッダーにユーザー名とアプリケーションパスワードを入れる形です。
curl -X POST "https://example.com/wp-json/wp/v2/posts" \
-u "ユーザー名:xxxx xxxx xxxx xxxx xxxx xxxx" \
-H "Content-Type: application/json" \
-d '{"title":"テスト","content":"本文","status":"draft"}'
最初は必ず "status":"draft" で試してください。いきなり publish にすると、形式の確認をする前に公開されます。
うまくいけば、作成された投稿のIDが返ります。管理画面の下書き一覧に現れていれば成功です。
通らない時に見る箇所
- httpsになっているか — 環境によっては暗号化されていない接続で拒否されます
- ユーザー名が正しいか — 表示名ではなくログイン用のユーザー名です
- そのユーザーに権限があるか — 購読者権限では投稿できません
- Authorizationヘッダーがサーバーで落ちていないか — 一部の環境で削られることがあります
- セキュリティプラグインがREST APIを止めていないか
4と5は気づきにくい部分です。同じ情報でローカルからは通るのに本番だけ通らない場合は、コードではなくサーバー側を疑ってください。
症状別の詳しい切り分けはWordPress自動投稿でよくあるエラーと切り分け方にまとめています。
🔴 扱いを間違えると危ない
アプリケーションパスワードはそのアカウントの権限で操作できる鍵です。知られた時点で、記事の投稿・改ざんが可能になります。
- ブラウザ側のコードに書かない — JavaScriptに直書きすると閲覧者から見えます
- サーバー側で扱う — 環境変数や設定ファイルに置く
- リポジトリに入れない — 公開リポジトリに上げると即座に漏れます
- 漏れたと思ったら削除する — 管理画面から失効させれば、その鍵は使えなくなります
失効が管理画面だけで完結するのが、この仕組みの利点です。ログインパスワードを変える必要はありません。
投稿以外にもできること
同じ認証で、カテゴリの取得・画像のアップロード・既存記事の更新もできます。記事を自動で作る仕組みを作る場合、「本文を生成する部分」と「WordPressへ入れる部分」は別々に考えられるということです。
入れる部分はここで説明した方法で共通化できるため、詰まりやすいのはむしろ生成側の品質です。公開してよいかの判断基準はAI生成記事の公開前チェックリストにまとめました。
まとめ
- ログインパスワードではなくアプリケーションパスワードを使う。標準機能
- 🔴 発行直後の一度しか表示されない
- 用途ごとに分けて作り、使わなくなったら削除する
- 最初は必ず
draftで試す - 🔴 ブラウザ側に書かない。漏れたら管理画面から失効させる
REST APIで日時を指定して予約投稿する方法と、時刻が9時間ずれる原因はWordPressのREST APIで予約投稿する方法で説明しています。
本記事は2026年9月23日時点で確認した内容です。WordPressやサーバーの仕様は変更される可能性があります。


