AI副業

Claude Codeでブログ自動化は可能?WordPress下書き投稿までの構成を公式情報で検証

Claude CodeでWordPressのブログ運用を自動化する場合、現実的な到達点は「調査から下書き保存までを自動化し、公開は人が判断する」構成です。2026年8月28日時点の公式ドキュメントで確認できる範囲では、Claude Code側は非対話実行、権限制御、フック、サブエージェント、MCPをすべて備えており、WordPress側はREST APIとアプリケーションパスワードで外部から投稿を作成できます。技術的には全自動公開も可能ですが、後述するGoogleの品質ガイダンスと事故時の被害を考えると、下書きで止める設計が合理的です。

本記事では、実現方式の違い、必要な設定、事故を防ぐ作り方を、AnthropicのClaude Code公式ドキュメントとWordPressのREST APIリファレンスから確認できる事実だけで組み立てます。

確認項目結論根拠
Claude Codeを非対話で動かせるかできるclaude -p でプロンプトを渡して実行し終了する
出力を機械的に扱えるかできる--output-format json--json-schema に対応
WordPressへ外部から投稿を作れるかできるREST APIの POST /wp/v2/posts とアプリケーションパスワード
下書きで止められるかできるstatusdraft を指定する
全自動公開を推奨できるか推奨しないGoogleは検索順位操作目的の大量自動生成をスパムポリシー違反としている


自動化の三つの実現方式

Claude Codeを軸にブログ自動化を組む方法は大きく三つあります。名前が似ているため混同されがちですが、担当範囲が違います。

方式実体向いている用途注意点
Claude Code CLIの非対話実行ターミナルの claude -p をスクリプトやCIから呼ぶ既存のシェル運用に組み込む、cronやCIで回すPython以外の言語からも呼べるが、出力の解析は自前
Claude Agent SDKPythonとTypeScriptのライブラリ。Claude Codeと同じツール、エージェントループ、コンテキスト管理を自分のプロセスで動かすアプリに組み込む、承認コールバックや構造化出力を扱う公式ドキュメントによると、事前承認がない限り第三者製品でclaude.aiログインやレート制限を提供することは認められておらず、APIキー認証を使う
MCPサーバー経由Model Context Protocolで外部ツールを接続するWordPressや外部サービスをツールとして扱う接続前に信頼性の確認が必要。外部コンテンツを取得するサーバーはプロンプトインジェクションの経路になり得る

AnthropicのAgent SDK概要では、SDKはPythonとTypeScriptのみで提供され、他の言語から同じエージェントループを動かす場合は -p--output-format json でCLIをサブプロセスとして実行する方法が案内されています。個人ブログの自動化なら、まずCLI方式で十分です。

紛らわしい名前何か本記事での扱い
Claude Codeターミナル、IDE、デスクトップアプリ、ブラウザで動くエージェント型のコーディングツール自動化の実行主体
Claude Agent SDKClaude Codeをライブラリとして使うPython/TypeScriptパッケージアプリ組み込み時の選択肢
Client SDKAnthropic APIを直接呼ぶSDK。ツールループは自分で書く本記事の対象外
Managed AgentsAnthropicがエージェントとサンドボックスを運用するホスト型のREST API。Agent SDKとは別製品本記事の対象外

WordPress側の接続はREST APIとアプリケーションパスワード

WordPressは標準でREST APIを備えています。投稿の作成、取得、更新、削除は次のエンドポイントです。

操作メソッドパス
一覧取得GET/wp/v2/posts
作成POST/wp/v2/posts
単一取得GET/wp/v2/posts/<id>
更新POST/wp/v2/posts/<id>
削除DELETE/wp/v2/posts/<id>

作成時に指定できる主な引数は titlecontentstatusslugexcerptcategoriestagsmeta などです。自動化で最も重要なのは status で、指定できる値は次の五つです。

statusの値意味自動化での使い方
draft下書き自動化の既定値にする
pendingレビュー待ち複数人で確認する運用なら使う
publish公開スクリプトからは使わない設計にする
future予約投稿公開日時の予約。人が確認した後に使う
private非公開限定共有の確認用

認証は公式の認証ドキュメントに整理されています。外部アプリからの接続にはアプリケーションパスワードを使います。

認証方式使える場面要件
Cookie認証WordPress内部からの利用でログイン済みの場合に限られるwp_rest で生成したnonceを X-WP-Nonce ヘッダーまたは _wpnonce で渡す
アプリケーションパスワード外部アプリやスクリプトからの接続WordPress 5.6以降。ユーザー編集画面で発行し、Basic認証(RFC 7617)で渡す。HTTPSでの通信が前提

発行はダッシュボードのユーザー編集画面から行い、動作確認は次のように行えます。ユーザー名とパスワードは環境変数から渡し、コマンド履歴やログに残さないでください。

curl --user "$WP_USER:$WP_APP_PASSWORD" \
  "https://example.com/wp-json/wp/v2/users?context=edit"

なお2026年8月28日時点のWordPress公式のリリース一覧では、最新版は2026年8月19日公開の7.1で、安全に使えるのは7.1系の最新版だとされています。自動投稿を組む前に本体とプラグインを更新してください。

Claude Code側の設定

自動化で使うのは対話画面ではなく非対話モードです。公式のプログラム実行ガイドによると、-p を付けるとプロンプトを実行して終了し、成功時は終了コード0、失敗時は0以外を返します。

フラグ役割自動化での使いどころ
-p--print非対話で実行して終了するスクリプトやCIの基本形
--output-formattextjsonstream-json を選ぶjson にして結果を機械処理する
--json-schemaJSON Schemaで出力形式を指定するタイトルやスラッグを構造化して受け取る
--allowedTools確認なしで使えるツールを指定するRead や特定のBashコマンドだけ許可する
--permission-modeセッション全体の権限モードを決めるCIでは dontAsk で締める
--bareフック、スキル、サブエージェント、プラグイン、MCP、CLAUDE.mdの自動読み込みを飛ばすどの環境でも同じ結果にしたいCI向け
--append-system-prompt既定の動作を保ったまま指示を追加する執筆ルールや禁止表現を渡す
--continue--resume直前の会話やセッションIDを指定して継続する調査、執筆、検証を分割して回す

権限モードは公式に複数用意されています。自動実行では、意図しないコマンドが走らないように締める方向で選びます。

権限モード挙動自動化での評価
Manual(既定の開始状態)読み取り中心で、変更操作は都度確認する-p では確認できないため単体では止まる
dontAsk許可ルールと読み取り専用コマンド以外を拒否する締めたCI実行に向く
acceptEditsファイル編集と一部のファイル操作コマンドを自動承認する記事ファイルの生成までなら使える
auto分類モデルが行動を審査して危険なものを止める利便性は高いが自動投稿では過剰になりやすい
bypassPermissions確認を飛ばす公開権限のある認証情報がある環境では使わない

非対話実行には注意点があります。公式のセキュリティページには、-p で非対話実行するとフォルダの信頼確認が無効になると明記されています。また --bare を付けない -p セッションは、そのプロジェクトの .claude/settings.json のフックや .mcp.json のサーバーを読み込みます。他人のリポジトリをそのまま自動処理しない、という原則が必要です。

フックで危険な操作を止める

フックは、Claude Codeのライフサイクル上の特定の時点で自動実行されるコマンド、HTTPエンドポイント、またはLLMプロンプトです。自動投稿では、公開系の操作を機械的に拒否する用途で効きます。

実行の頻度主なイベント
セッションごとに1回SessionStartSessionEnd
ターンごとに1回UserPromptSubmitStopStopFailure
ツール呼び出しごとPreToolUsePostToolUsePostToolUseFailurePermissionRequestPermissionDenied

設定の置き場所はスコープで分かれます。チームで共有するなら .claude/settings.json、個人環境だけなら ~/.claude/settings.json です。

置き場所適用範囲共有
~/.claude/settings.jsonすべてのプロジェクト共有されない
.claude/settings.jsonそのプロジェクトリポジトリにコミットして共有できる
.claude/settings.local.jsonそのプロジェクト共有されない

PreToolUse のフックは、終了コード2でツール呼び出しをブロックできます。JSONで permissionDecisiondeny を返し、理由を permissionDecisionReason に書く形が公式の例です。"status": "publish" を含むリクエストや、DELETE を含むコマンドを弾く用途に使えます。

サブエージェントで役割を分ける

サブエージェントは、独立したコンテキストウィンドウ、独自のシステムプロンプト、限定したツールと権限で動く専門エージェントです。調査、執筆、ファクトチェック、SEO確認を分けると、本体の会話が読み込みで埋まりません。

フロントマターの項目必須内容
name必須小文字とハイフンの識別子
description必須どんなときに委任するか
tools任意使えるツールの許可リスト
disallowedTools任意拒否するツール
model任意opussonnethaiku、モデルID、または inherit
permissionMode任意そのエージェントの権限モード
maxTurns任意停止するまでの最大ターン数

定義ファイルはプロジェクト用なら .claude/agents/、個人用なら ~/.claude/agents/ に置きます。ファクトチェック役に toolsWebFetchRead だけを与え、投稿役だけにHTTP実行を許すといった分離ができます。

役割やること与えるツールの例
調査一次情報の収集と出典URLの記録WebSearchWebFetch
構成見出しと表の設計ReadWrite
執筆本文HTMLの生成ReadWriteEdit
検証数値の再計算、リンク切れ、禁止表現の確認ReadBashの限定コマンド
投稿下書きとして保存投稿スクリプトの実行だけ

MCPで接続する場合

MCPは外部ツールやデータソースを接続するオープンな標準です。Claude Codeでは claude mcp add で追加し、トランスポートとスコープを選びます。

区分選択肢備考
トランスポートHTTP、SSE、stdio、WebSocketリモートはHTTPが推奨、SSEは非推奨
スコープローカル、プロジェクト、ユーザープロジェクトは .mcp.json に保存されチームで共有できる
認証OAuth 2.0、カスタムヘッダー、ヘルパースクリプト/mcp または claude mcp login で認証する

WordPress側のMCPは状況が動いています。Automatticの wordpress-mcp は2026年1月19日にアーカイブされ読み取り専用になり、リポジトリには WordPress/mcp-adapter へ移行するよう案内が出ています。mcp-adapterはAbilities APIをMCPへ橋渡しするパッケージで、ライセンスはGPL-2.0-or-laterです。

つまり2026年8月28日時点では、MCP経由のWordPress操作は移行期にあります。個人ブログの自動化なら、仕様が安定しているREST APIを直接叩くほうが壊れにくく、権限の絞り込みも自分で決められます。公式ドキュメントも、接続前に各サーバーの信頼性を確認すること、外部コンテンツを取得するサーバーはプロンプトインジェクションの経路になり得ることを警告しています。


実装手順

下書き保存までを自動化する最小構成は、次の順番で作ります。

手順やること確認ポイント
1WordPressでアプリケーションパスワードを発行する投稿権限のあるユーザーで、HTTPSのサイトであること
2認証情報を環境変数か .env に置くリポジトリにコミットしない。権限は所有者のみ
3投稿スクリプトを書くstatusdraft 固定。公開処理を実装しない
4記事の検証スクリプトを書く文字数、表の数、リンク切れ、禁止表現、数値の再計算
5.claude/agents/ に役割別のサブエージェントを置く投稿役だけに実行権限を与える
6PreToolUse フックで公開系の操作を拒否する終了コード2でブロックされることをテストする
7claude -p で通しで動かす--output-format jsonresult と終了コードを確認する
8下書きを人が読んで公開判断する出典、数値、日付、内部リンクを目視で確認する

手順3のスクリプトは、Claude Codeに書かせても構いませんが、公開を実装しないという設計だけは人が決めてください。実行例は次の形になります。

claude --bare -p "調査結果を data/article.html にまとめて、検証スクリプトを通してから下書き保存して" \
  --allowedTools "Read,Write,Edit,Bash(python3 main.py *)" \
  --permission-mode dontAsk \
  --output-format json

この形なら、許可したのは記事ファイルの読み書きと自作スクリプトの実行だけです。任意のシェルコマンドやネットワーク操作は通りません。

事故を防ぐ設計

自動化で怖いのは品質より事故です。実際に起きやすい失敗と、その対策を整理します。

起きやすい事故結果対策
誤って公開してしまう未検証の記事が検索エンジンに拾われるスクリプトに公開処理を実装しない。statusdraft に固定し、保存後に状態を再取得して検証する
同じ記事を二重に投稿する重複コンテンツと管理の混乱スラッグで既存記事を検索し、公開済みが見つかったら停止する
既存記事を上書きする公開済みの内容が消える更新対象を自分が作った下書きに限定し、識別用のコメントを本文に埋める
認証情報が漏れるサイトを乗っ取られる環境変数で渡し、ログに出さない。漏れたらアプリケーションパスワードを失効させる
取得した外部ページの指示に従ってしまう意図しない操作が走る取得内容は資料として扱う。信頼できないコンテンツを直接パイプで渡さない
誤った数値をそのまま書く読者に不利益、信頼の毀損数値は計算式ごとスクリプトで再検証し、合わない場合は保存を止める

公式のセキュリティページには、信頼できないコンテンツを扱うときの推奨として、提案されたコマンドを承認前に確認すること、信頼できないコンテンツを直接パイプで渡さないこと、外部のウェブサービスとやり取りするスクリプトは仮想マシンで実行することが挙げられています。あわせて、Claude Codeは与えた権限しか持たず、安全性の確認は利用者の責任である点も明記されています。

品質とSEOの前提

自動化の価値は、公開できる品質に届いて初めて生まれます。Googleの検索セントラルは、評価するのは制作方法ではなく、人の役に立つ内容かどうかだとしています。同時に、検索順位の操作を主目的とした自動生成はスパムポリシー違反にあたるとも述べています。

Googleが示す観点自動化で担保する方法
誰が作ったかが分かる運営者情報と執筆方針を明示する
どう作ったかが分かるAIの利用を注記し、人の確認工程を書く
なぜ作ったかが分かる読者の課題を先に定義してから記事を作る
明らかな内容を超えた分析がある一次情報から自分で計算した数値や比較を入れる
信頼性が高い出典を原典で示し、時点を明記する

Googleは、E-E-A-Tのうち信頼性が最も重要であり、健康や金融のようにお金や生活に関わる話題ではさらに重視されるとしています。自動化するほど、出典の確認と数値の再計算を機械側に組み込む価値が上がります。

コストと制限

Claude CodeはサブスクリプションまたはAnthropic Consoleのアカウントで利用します。2026年8月28日時点の公開情報では、料金は次のとおりです。

プラン料金Claude Code
Free0ドル含まれない
Pro年払いで月17ドル、月払いで月20ドル含まれる
Max月100ドルから。Proの5倍または20倍の利用量を選ぶ含まれる

使用量の上限はClaudeとClaude Codeで共有されます。上限に達した場合は、リセットを待つか、標準API料金でクレジットを購入する選択肢があります。API料金はプラン料金とは別建てです。

実行ごとのコストを把握したい場合は、--output-format json の応答に含まれる total_cost_usd とモデル別の内訳を記録します。公式ドキュメントでは、これはクライアント側の推定値であり実際の請求と異なる場合があると注記されています。

運用上の制限内容
標準入力の上限パイプで渡せるのは10MBまで。超えるとエラーで終了する
bareモードの認証--bare ではサブスクリプションのログイン情報を使わないため ANTHROPIC_API_KEY が必要
信頼確認の無効化-p の非対話実行ではフォルダの信頼確認が行われない
Agent SDKの認証第三者製品でのclaude.aiログイン提供は原則認められておらず、APIキー認証を使う


よくある質問

Claude CodeだけでWordPressに投稿できますか

できます。WordPressのREST APIとアプリケーションパスワードがあれば、Claude Codeに書かせたスクリプトから POST /wp/v2/posts を呼んで投稿を作成できます。本記事では statusdraft に固定する運用を推奨しています。

プラグインは必要ですか

REST APIは標準機能なので、投稿の作成だけならプラグインは不要です。MCP経由で操作したい場合は別途プラグインが必要ですが、2026年8月28日時点ではWordPress側のMCP実装が移行期にあります。

アプリケーションパスワードはどこで発行しますか

ダッシュボードのユーザー編集画面で発行します。WordPress 5.6以降の機能で、Basic認証(RFC 7617)で渡します。公式ドキュメントではHTTPSでの通信が前提とされています。

全自動で公開までやってよいですか

技術的には可能ですが推奨しません。Googleは検索順位の操作を主目的とした自動生成をスパムポリシー違反としており、誤った数値や古い情報が確認なしで公開されるリスクもあります。下書きで止めて人が判断する構成が現実的です。

WordPressに間違って公開されないようにできますか

三段構えで守れます。スクリプトに公開処理を実装しない、保存後にステータスを再取得して draft であることを検証する、PreToolUse フックで公開に該当する操作を終了コード2で拒否する、の三つです。

Claude CodeとClaude Agent SDKはどちらを使うべきですか

ターミナルやCIから回すだけならCLIの claude -p で足ります。承認コールバックや構造化出力をアプリに組み込むならAgent SDKです。SDKはPythonとTypeScriptのみ提供されています。

CIで動かすときの注意点はありますか

--bare を付けると、フック、スキル、サブエージェント、プラグイン、MCP、CLAUDE.mdの自動読み込みを飛ばすため、どの環境でも同じ結果になります。ただしサブスクリプションのログイン情報を使わないので ANTHROPIC_API_KEY が必要です。

出力をプログラムで扱うにはどうしますか

--output-format json を使うと、テキストが result フィールドに入った構造化JSONが返ります。形式を固定したい場合は --json-schema を併用すると structured_output に入ります。

費用はどれくらいかかりますか

Proは年払いで月17ドル、月払いで月20ドル、Maxは月100ドルからです。実行ごとの推定コストは --output-format jsontotal_cost_usd で確認できますが、公式には推定値であり実際の請求と異なる場合があると注記されています。

他人のリポジトリやサイトのデータを自動処理しても大丈夫ですか

注意が必要です。-p の非対話実行ではフォルダの信頼確認が行われず、--bare がなければプロジェクトの .claude/settings.json のフックや .mcp.json のサーバーが読み込まれます。信頼できない場所ではそのまま実行しないでください。

取得した外部記事の指示に従ってしまうことはありますか

プロンプトインジェクションの典型的な経路です。公式ドキュメントは、信頼できないコンテンツを直接パイプで渡さないこと、外部サービスとやり取りするスクリプトは仮想マシンで実行することを推奨しています。取得内容は指示ではなく資料として扱う設計にしてください。

記事の品質はどう担保しますか

人の目視だけに頼らず、機械で落とせる項目をスクリプト化します。可視文字数、表の数、見出し構成、リンク切れ、禁止表現、そして数値の再計算です。検証に落ちたら保存処理まで到達しないようにします。

WordPressのバージョンは関係ありますか

アプリケーションパスワードは5.6以降の機能です。2026年8月28日時点の公式リリース一覧では最新版は7.1で、安全に使えるのは7.1系の最新版だとされています。自動投稿を組む前に本体とプラグインを更新してください。

SEO的に不利になりませんか

制作方法そのものではなく内容で評価されます。Googleは人の役に立つ内容かどうかを重視する一方、順位操作目的の大量自動生成はスパムポリシー違反としています。一次情報からの独自の分析と、時点を明記した出典を入れることが対策になります。


まとめ

最終確認答え
現実的な自動化の範囲調査から下書き保存まで。公開判断は人が行う
Claude Code側の要claude -p--output-format json--allowedTools--permission-mode、フック、サブエージェント
WordPress側の要REST APIの POST /wp/v2/postsstatusdraft に固定、アプリケーションパスワード
事故対策公開処理を実装しない、保存後に状態を検証する、フックで拒否する
品質の前提一次情報からの独自分析、出典と時点の明記、機械での再検証
情報の時点2026年8月28日に公式ドキュメントで確認

Claude Codeによるブログ自動化は、記事を量産する仕組みとしてではなく、調べる、計算する、検証する、という手間のかかる工程を機械に任せる仕組みとして組むと成果が出ます。公開の判断だけを人が持てば、事故の規模は下書きの範囲に収まります。

最初の一歩としては、公開処理を持たない下書き保存スクリプトと、記事を落とす検証スクリプトの二つを作ることをおすすめします。ブログ運営の全体像収益化の見通し他のAIツールの使い分けもあわせて確認すると、どこを自動化すべきかが決めやすくなります。

-AI副業
-,