WordPressに外部から投稿する方法|アプリパスワード

WordPressに外部のプログラムから記事を投稿するには、ログインパスワードではなく「アプリケーションパスワード」を使います。ユーザーのプロフィール画面から発行できます。

この仕組みはWordPressに標準で入っているため、プラグインを追加する必要はありません。

(確認日:2026年9月23日)

発行する手順

  1. 管理画面で「ユーザー」→ 自分のプロフィールを開く
  2. 下の方の「アプリケーションパスワード」まで進む
  3. 用途が分かる名前を入れて発行する(例:auto-post)
  4. 表示された文字列をその場で控える

🔴 発行直後の一度しか表示されません。閉じると二度と見られないため、控え忘れた場合は削除して作り直すことになります。

表示される文字列には空白が入っていますが、そのまま使って問題ありません。

用途ごとに分けて作る

アプリケーションパスワードはいくつでも発行できます。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が返ります。管理画面の下書き一覧に現れていれば成功です。

通らない時に見る箇所

  1. httpsになっているか — 環境によっては暗号化されていない接続で拒否されます
  2. ユーザー名が正しいか — 表示名ではなくログイン用のユーザー名です
  3. そのユーザーに権限があるか — 購読者権限では投稿できません
  4. Authorizationヘッダーがサーバーで落ちていないか — 一部の環境で削られることがあります
  5. セキュリティプラグインがREST APIを止めていないか

4と5は気づきにくい部分です。同じ情報でローカルからは通るのに本番だけ通らない場合は、コードではなくサーバー側を疑ってください。

症状別の詳しい切り分けはWordPress自動投稿でよくあるエラーと切り分け方にまとめています。

🔴 扱いを間違えると危ない

アプリケーションパスワードはそのアカウントの権限で操作できる鍵です。知られた時点で、記事の投稿・改ざんが可能になります。

  • ブラウザ側のコードに書かない — JavaScriptに直書きすると閲覧者から見えます
  • サーバー側で扱う — 環境変数や設定ファイルに置く
  • リポジトリに入れない — 公開リポジトリに上げると即座に漏れます
  • 漏れたと思ったら削除する — 管理画面から失効させれば、その鍵は使えなくなります

失効が管理画面だけで完結するのが、この仕組みの利点です。ログインパスワードを変える必要はありません。

投稿以外にもできること

同じ認証で、カテゴリの取得・画像のアップロード・既存記事の更新もできます。記事を自動で作る仕組みを作る場合、「本文を生成する部分」と「WordPressへ入れる部分」は別々に考えられるということです。

入れる部分はここで説明した方法で共通化できるため、詰まりやすいのはむしろ生成側の品質です。公開してよいかの判断基準はAI生成記事の公開前チェックリストにまとめました。

まとめ

  1. ログインパスワードではなくアプリケーションパスワードを使う。標準機能
  2. 🔴 発行直後の一度しか表示されない
  3. 用途ごとに分けて作り、使わなくなったら削除する
  4. 最初は必ず draft で試す
  5. 🔴 ブラウザ側に書かない。漏れたら管理画面から失効させる

REST APIで日時を指定して予約投稿する方法と、時刻が9時間ずれる原因はWordPressのREST APIで予約投稿する方法で説明しています。

本記事は2026年9月23日時点で確認した内容です。WordPressやサーバーの仕様は変更される可能性があります。