n8nでAI記事を自動生成→WordPress投稿する方法【承認ステップ付き】

n8nテンプレート・実践
n8nでAI記事を自動生成してWordPressに投稿するワークフロー

「ブログ記事を書く時間がない。でもSEOのために更新頻度は落とせない」――この問題を、n8n × Claude API × WordPress REST APIの組み合わせで解決できます。

この記事では、n8nワークフローでAI記事の自動生成→人間による承認→WordPressへの自動投稿までを半自動化する方法を、実際の設定手順・運用コスト・トラブルシュートまで含めて解説します。筆者はこのワークフローでtactical-ai.netの記事更新を運用中です。

全自動ではなく「承認ステップ付きの半自動化」にしているのがポイント。AI生成記事をそのまま公開するリスク(事実誤認・SEO品質のバラつき)を防ぎつつ、記事作成にかかる時間を週5時間→週40分に短縮しています。

n8n × AI × WordPressの自動化で得られる3つのメリット

n8nはオープンソースのワークフロー自動化ツールです。Zapierに似ていますが、セルフホスト可能で実行回数の制限がないのが最大の利点です(詳しい比較は「n8n vs Zapier 料金比較|コスト1/10以下にする乗り換えガイド」を参照)。

  • 記事作成時間の大幅短縮:構成案の作成・下書き生成をAIに任せ、人間は品質チェックと微修正だけ。1記事あたりの作業時間を約85%削減
  • 更新頻度の安定化:スケジュール実行で毎日・毎週の下書きが自動生成されるため、「書く気力がない週」でもストックが溜まる
  • コストの最適化:Claude API(Haiku)なら1記事あたり約3〜8円。月30記事生成しても240円以下で運用可能(API費用を抑えるテクニックは「AI料金の請求に怯えない!n8n×OpenAI APIでコスト9割減する方法」も参考になります)

ワークフローの全体像:6ステップの半自動パイプライン

このワークフローは以下の6ステップで構成されます。

  1. Schedule Trigger:毎日9時に自動実行
  2. Claude API(HTTP Request):記事タイトル・本文・メタ情報を一括生成
  3. Google Sheets:生成された下書きをスプレッドシートに保存
  4. Wait ノード(人間承認):メール/Slackで通知→承認ボタンクリックで次へ
  5. WordPress REST API(HTTP Request):承認済み記事をWordPressに下書き投稿
  6. Slack/Discord通知:投稿完了を通知

ポイントはStep 4の承認ステップ。n8nのWaitノードを使うことで、AIが生成した記事を人間が確認してからWordPressに送れます。競合記事の多くが全自動を推奨していますが、SEO品質を担保するなら承認ステップは必須です。

各ノードの設定手順

Step 1: Schedule Trigger(定時実行)

n8nの「Schedule Trigger」ノードを追加し、実行タイミングを設定します。

{
  "rule": {
    "interval": [{
      "field": "cronExpression",
      "expression": "0 9 * * 1-5"
    }]
  }
}

上記は平日9時に実行する設定です。Cron式の詳しい書き方は「n8nで毎朝9時のルーティンを自動化|Cron設定完全ガイド」で解説しています。毎日生成すると下書きが溜まりすぎるため、最初は週2-3回から始めるのがおすすめです。

Step 2: Claude APIで記事を生成

HTTP RequestノードでAnthropic Messages APIを呼び出します。CredentialsにAnthropicのAPIキーを設定してください(HTTP Requestの認証設定がわからない場合は「n8nのHTTP Requestで認証設定|3パターン完全ガイド」を参照)。

POST https://api.anthropic.com/v1/messages

Headers:
  x-api-key: {{credentialsのAPIキー}}
  anthropic-version: 2023-06-01
  content-type: application/json

Body:
{
  "model": "claude-haiku-4-5-20251001",
  "max_tokens": 4096,
  "messages": [{
    "role": "user",
    "content": "以下のキーワードでSEO記事を書いてください。\nキーワード: {{$json.keyword}}\n\n【出力形式】JSON\n{\"title\": \"記事タイトル(30-35文字)\",\n \"body\": \"HTML形式の本文\",\n \"excerpt\": \"メタディスクリプション(120文字以内)\",\n \"tags\": [\"タグ1\", \"タグ2\"]}"
  }]
}

モデル選択のポイント:

  • Claude Haiku 4.5:コスト重視。1記事3〜8円。下書き生成に最適
  • Claude Sonnet 4.6:品質重視。1記事15〜30円。修正が少なく済む

筆者の経験では、Haikuで生成→人間が修正が最もコスパが良いです。Sonnetは「修正する時間すらない」場合に使います。

Step 3: Google Sheetsに下書き保存

生成された記事をGoogle Sheetsに保存します。スプレッドシートのカラム構成は以下の通り。

カラム名 内容
title 記事タイトル n8nでAI記事を自動生成する方法
body HTML本文 <h2>…</h2><p>…</p>
excerpt メタディスクリプション n8nでAI記事を自動…
tags タグ(カンマ区切り) n8n,WordPress,AI
status 承認状態 pending / approved / rejected
generated_at 生成日時 2026-04-07T09:00:00

Google Sheetsを中間ストレージにする理由:記事の一覧性が高く、チームでの確認・編集がしやすい。また、リジェクトした記事のログも残るため、プロンプト改善の材料になります。

Step 4: 人間承認(Waitノード)

ここがこのワークフローの核心です。n8nのWaitノードを「Webhook」モードで設定すると、承認URLが発行されます。

Waitノード設定:
  Resume: On webhook call
  Authentication: None(社内利用の場合)

→ 実行するとWebhook URL(例: https://your-n8n.com/webhook-waiting/xxx)が生成される
→ このURLをSlack/メールで通知
→ URLにアクセス = 承認完了 → 次のノードへ

承認前にSlackやメールで「こんな記事が生成されました」と通知を送り、記事タイトルとexcerptを載せておくと確認が楽です。

運用のコツ:承認URLに有効期限を設定(72時間など)し、期限切れ記事は自動でrejected扱いにすると、ワークフローが詰まりません。

Step 5: WordPress REST APIで投稿

承認後、HTTP RequestノードでWordPress REST APIに記事を投稿します。

POST https://your-site.com/wp-json/wp/v2/posts

Headers:
  Authorization: Basic {{base64(ユーザー名:アプリケーションパスワード)}}
  Content-Type: application/json

Body:
{
  "title": "={{ $json.title }}",
  "content": "={{ $json.body }}",
  "excerpt": "={{ $json.excerpt }}",
  "status": "draft",
  "categories": [カテゴリID],
  "tags": [タグID]
}

WordPressのアプリケーションパスワードは「ユーザー」→「プロフィール」→「アプリケーションパスワード」から発行できます。通常のログインパスワードとは別物なので注意してください。

statusはdraftを推奨。publishにすると承認後すぐ公開されますが、アイキャッチ画像やカテゴリの最終調整はWordPress管理画面で行う方が確実です。

Step 6: Slack/Discordに完了通知

最後に投稿完了を通知します。Slackノードを使って、記事タイトル・WordPress管理画面の編集URLを送信すれば、すぐに最終確認→公開できます。

Slack通知メッセージ例:
✅ AI記事がWordPressに下書き保存されました
・タイトル: {{ $json.title }}
・編集URL: https://your-site.com/wp-admin/post.php?post={{ $json.id }}&action=edit
・生成コスト: {{ $json.usage.input_tokens + $json.usage.output_tokens }}トークン

月間コストと時間の節約効果

実際にこのワークフローを1ヶ月運用した結果です。

項目 手動運用 n8n半自動化
1記事の作業時間 2〜3時間 15〜20分(承認+微修正)
月間記事数 4本(週1がやっと) 12〜16本
AI API費用 約100〜500円/月
n8n費用 無料(セルフホスト)or $20/月(Cloud)

月間記事数が4倍になりながら、作業時間は週5時間→週40分に削減。AI API費用を入れても、ライターに外注するコスト(1記事5,000〜10,000円)と比較すると1/100以下で運用できています。

よくあるエラーと対処法

Claude APIが429エラー(Rate Limit)を返す

短時間に大量リクエストを送ると発生します。n8nのHTTP Requestノードで「Retry On Fail」をオンにし、Wait Between Retriesを60秒に設定してください。1日10記事以下なら通常は発生しません。エラーハンドリングの詳細は「【n8n】エラーで止まる自動化を卒業|通知&自動リトライ実装術」で解説しています。

WordPress REST APIで401 Unauthorized

原因の90%はアプリケーションパスワードの設定ミスです。以下を確認:

  • Basic認証のフォーマットがユーザー名:アプリケーションパスワードのBase64エンコードになっているか
  • WordPressのパーマリンク設定が「基本」以外になっているか(REST APIの前提条件)
  • セキュリティプラグイン(Wordfence等)がREST APIをブロックしていないか

Waitノードが永遠に待機状態になる

承認URLにアクセスしないとワークフローが止まったままになります。対策としてWaitノードの「Limit Wait Time」を72時間に設定し、タイムアウト時はGoogle Sheetsのstatusをexpiredに更新するエラーハンドリングを追加してください。

生成記事の品質がバラつく

プロンプトに具体的な指示を追加してください。「SEO記事を書いて」だけだと品質が安定しません。

  • ターゲットキーワードとその配置ルール
  • 文字数指定(3000〜5000文字)
  • 見出し数の指定(H2を5〜7個)
  • 出力形式(JSON / HTML)の指定
  • NGワード・禁止表現のリスト

筆者はプロンプトを20回以上改善して、現在は生成記事の80%が軽微な修正だけで公開可能なレベルに到達しています。

まとめ:承認ステップ付きの半自動化が最適解

n8n × Claude API × WordPress REST APIで、記事作成の大部分を自動化しつつ、品質管理は人間が行う「半自動化」が実現できます。

要点3つ:

  1. 全自動ではなく承認ステップ付き半自動化でSEO品質を担保する
  2. Claude Haiku + 人間レビューの組み合わせが最もコスパが良い
  3. Google Sheetsを中間ストレージにするとチーム運用・プロンプト改善がしやすい

このワークフローのn8nテンプレート(JSON)を配布しています。n8nにインポートするだけで上記6ステップが構築済みの状態から始められます。

n8nテンプレートを見る(BOOTH)


この記事を書いた人
AI自動化×業務効率化の専門家。n8nワークフロー構築・Claude API連携の実装経験多数。クラウドソーシング累計200件以上の受注実績・残念評価ゼロ。

n8nワークフローの構築代行・カスタマイズのご依頼を承っています。「この業務、自動化できる?」レベルのご相談でもお気軽にどうぞ。

ランサーズで相談する
ココナラで相談する

#n8n #WordPress自動投稿 #AI記事生成 #業務自動化 #ClaudeAPI

コメント

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