WordPress自動投稿のやり方|REST APIで記事を投稿する手順

この記事は約8分で読めます。

※本記事にはアフィリエイト広告(PR)を含みます。

「ブログの記事を書くところまではできたのに、投稿画面を開いてコピペして……という作業が毎回面倒」。ブログの自動化を進めていくと、最後に残るのがこの「投稿作業」ではないでしょうか。実はWordPressには、管理画面を開かずに外部のプログラムから記事を投稿できる仕組みが標準で用意されています。それが「REST API」です。

この記事では、WordPressのREST APIとアプリケーションパスワードを使って、記事を自動投稿する方法を初心者向けに解説します。実際に当サイト「AI活用塾」もこの仕組みで記事を自動投稿しており、その運用で分かった注意点もあわせて紹介します。結論を先に言うと、WordPressの自動投稿なら「REST API+アプリケーションパスワードで、まずstatus=draft(下書き)投稿」が最有力です。プラグインの追加は不要で、コードも短いものだけです。順番に確認していきます。

WordPressのREST APIとは

REST APIとは、プログラムからWordPressを操作するための「窓口」のことです。ブラウザで管理画面を開く代わりに、プログラムがこの窓口にリクエストを送ることで、記事の投稿・編集・下書き保存などを行えます。

ポイントは、これがWordPressの標準機能だということです。特別なプラグインを入れる必要はなく、いま動いているWordPressサイトのほとんどで、最初から使える状態になっています。

自動投稿の仕組みは、大きく分けると次の2つの部品でできています。

  • REST API: 記事データを受け取ってWordPressに保存する窓口
  • アプリケーションパスワード: プログラム専用の合鍵。普段のログインパスワードを使わずに認証できる

この2つを組み合わせることで、「AIが書いた記事を、スクリプトが自動でWordPressに下書き保存する」といった流れが作れます。

塾長のポイント

自動投稿に必要なのは「REST API」と「アプリケーションパスワード」の2つだけ。どちらもWordPressの標準機能です。

準備: アプリケーションパスワードを発行する

発行手順

アプリケーションパスワードは、WordPressの管理画面から追加ツールなしで発行できます。

  1. 管理画面にログインし、「ユーザー」→「プロフィール」を開く
  2. ページ下部の「アプリケーションパスワード」欄までスクロールする
  3. 「新しいアプリケーションパスワード名」に用途が分かる名前(例: auto-post)を入力する
  4. 「新しいアプリケーションパスワードを追加」をクリックする

画面に、スペース区切りの英数字のパスワードが一度だけ表示されます。この画面を閉じると二度と表示されないので、必ずこの時点でコピーして安全な場所に控えてください。

取り扱いの注意

アプリケーションパスワードは「合鍵」なので、漏れればそのユーザー権限でサイトを操作されてしまいます。次の点は必ず守りましょう。

  • ブログ記事やSNS、公開リポジトリに絶対に書かない(貼り付け事故が最も多い漏洩原因です)
  • 用途ごとに別のパスワードを発行する。不要になったら管理画面から個別に失効できます
  • サイトがHTTPS(URLがhttpsで始まる状態)であることを確認してから使う

塾長のポイント

パスワードは発行画面で一度しか表示されません。コピーしてから画面を閉じる、を徹底してください。

記事を自動投稿する手順

まずは1行のコマンドで試す

最初の動作確認には、ターミナルから使えるcurlコマンドが手軽です。次の1つのコマンドで、「テスト投稿」というタイトルの下書きが作られます。

curl -X POST https://あなたのサイト/wp-json/wp/v2/posts \
  -u "ユーザー名:アプリケーションパスワード" \
  -H "Content-Type: application/json" \
  -d '{"title":"テスト投稿","content":"<p>本文です</p>","status":"draft"}'

成功すると、作成された記事のIDなどを含むデータが返ってきます。管理画面の投稿一覧を開くと、下書きが1件増えているはずです。

Pythonから投稿する

実際の自動化では、プログラムから投稿することになります。Pythonなら追加ライブラリなしの標準機能だけで書けます。

import base64, json, urllib.request

site = "https://あなたのサイト"
user = "ユーザー名"
app_pass = "アプリケーションパスワード"

token = base64.b64encode(f"{user}:{app_pass}".encode()).decode()
data = {
    "title": "自動投稿のテスト",
    "content": "<p>この記事はプログラムから投稿されました。</p>",
    "status": "draft",
}
req = urllib.request.Request(
    site + "/wp-json/wp/v2/posts",
    data=json.dumps(data).encode(),
    headers={
        "Authorization": "Basic " + token,
        "Content-Type": "application/json",
    },
)
with urllib.request.urlopen(req) as res:
    print(json.loads(res.read())["id"])

やっていることはcurlと同じで、「ユーザー名:アプリケーションパスワード」をBasic認証のヘッダーに載せて、記事データをJSONで送っているだけです。ここまで動けば、あとは記事データを作る部分をAIやスクリプトに置き換えるだけで、自動投稿の土台は完成です。

最初は必ず「下書き」で投稿する

上の例では、どちらも status を “draft”(下書き)にしています。これは意図的なものです。自動投稿を始めたばかりの時期は、意図しない内容がそのまま公開されてしまう事故を防ぐため、いったん下書きとして保存し、人間が確認してから公開する運用を強くおすすめします。

当サイトもこの二段構えで運用しています。毎朝1本の記事下書き(2,000〜4,000字・表とアイキャッチつき)をAIが約4〜7分で生成してREST APIで下書き投稿し(2026年8月の運用記録)、数値の確認と公開の判断は毎回人間が行っています。「自動化=全部おまかせ」にしないことが、長く続けるコツです。

塾長のポイント

自動投稿は必ずstatus=”draft”から。公開の判断を人間に残すことが、事故を防ぐ最大の保険です。

安定運用のコツ: 実際に運用して分かったこと

二重投稿を防ぐ仕組みを入れる

自動投稿の運用で実際に起きやすいのが、同じ記事が2回投稿されてしまう「二重投稿」です。スクリプトが手動でも実行できる状態だと、定期実行と手動実行が重なったときに同じ記事が2本できてしまいます。当サイトでも初期に一度発生し、いまは「投稿前に同じテーマの記事がないかAPIで確認してから書く」というチェックを入れて防いでいます。

実行ログを残す

自動化が動き出すと、人間は実行の様子を見なくなります。だからこそ「いつ・何を投稿したか、エラーは出たか」を毎回記録しておくことが大切です。ログの置き場所は、テキストファイルでも、WordPressの下書き記事でも構いません。問題が起きたとき、ログがあるかどうかで原因究明の速さがまったく違います。

注意点と向いていないケース

便利な仕組みですが、正直にお伝えすると、向き不向きがあります。

  • 記事の品質チェックは自動化できない: 投稿作業は自動化できても、内容の正確さの確認は人間の仕事として残ります
  • 最低限のコマンド操作は必要: コピペで動くとはいえ、ターミナルに強い抵抗がある方は、まず通常の投稿画面での運用に慣れるのが先です
  • 共用パソコンでの作業は避ける: アプリケーションパスワードを扱うため、自分専用の環境で作業してください

また、レンタルサーバーやセキュリティプラグインの設定によってはREST APIへのアクセスが制限されている場合があります。投稿時に403(アクセス拒否)などのエラーが返るなら、まずセキュリティ系プラグインのREST API制限設定を確認してください。

これからブログを立ち上げて自動化に挑戦する方は、WordPressの動作環境を手軽に用意できるWordPress特化型のレンタルサーバーを選んでおくと、環境構築でつまずきにくくなります。たとえばWordPress特化レンタルサーバーのQuicca Plusは月額198円〜(税込・2026年8月3日時点)から始められ、WordPressの簡単インストール&自動設定にも対応しています。

よくある質問

REST APIが使える状態かどうか、どう確認すればいいですか?

ブラウザで「https://あなたのサイト/wp-json/wp/v2/posts」を開いてみてください。記事データ(JSON形式の文字列)が表示されれば、窓口は動いています。

最初からstatus=”publish”(公開)で投稿してもいいですか?

技術的には可能ですが、おすすめしません。意図しない内容がそのまま世に出る事故を防げないためです。下書き投稿で運用を安定させて、人間の確認を挟む形を基本にしてください。

アプリケーションパスワードを控え忘れたらどうすればいいですか?

再表示はできないので、管理画面の同じ欄から古いパスワードを失効(削除)させて、新しく発行し直してください。

あわせて読みたい

結論

WordPressで記事を自動投稿するなら、REST API+アプリケーションパスワードで、まずstatus=”draft”(下書き)投稿です。プラグインの追加は不要で、この記事のcurlコマンド1つから試せます。当サイトも同じ仕組みで毎朝の下書き投稿を続けています(2026年8月の運用記録)。次にやることは、アプリケーションパスワードを発行して、テストの下書きを1件投稿してみることです。

自動投稿を試す環境をこれから用意する方へ

Quicca PlusはWordPress特化型のレンタルサーバーで、月額198円〜(税込)。全プランがWordPressの簡単インストール&自動設定と無料SSLに対応し、10日間の無料お試しがあります(2026年8月3日時点)。

Quicca Plusの10日間無料お試しを見る

※本記事の情報は執筆時点のものです。最新情報は公式サイトをご確認ください。

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