Claude Codeで非エンジニアがWordPress自動投稿に挑む—リアルにハマったエラー3つと、Claudeへの効く伝え方【後編】
【概 要】
中編では、Claude Codeのインストールから.envファイルの作成まで、環境構築のすべてを終えました。後編はいよいよ“実投稿編”です。Claude Codeに日本語で「記事を書いて、下書き投稿して」と頼むだけで、本当にWordPressに記事が入るのか。アイキャッチ画像はどうなるのか。私が実際にハマった3つのエラーと解決法、Claudeへの効く伝え方も含めて、すて正直に記録します。最終的には、「人間がやることは、ChatGPTでアイキャッチ画像を1枚作って、それをフォルダに入れて、ターミナルに一段落の依頼を打つだけ」という世界に到達します。専業主婦やお子さんでも、ここまでなら十分に再現できる手順です。
【目 次】
- 1. 中編のおさらいと、後編で目指すゴール
- 2. 「コピペ運用」から「フォルダに入れるだけ運用」へ
- 3. Claude Codeに記事執筆そのものを頼む
- 4. 私が実際にハマったエラー3選——HTTP 401/403/カテゴリーIDの罠
- 5. ハマったときの“効く伝え方”——Claudeに状況を渡すコツ
- 6. アイキャッチ画像も「フォルダに入れるだけ」で自動アップロード
- 7. まとめ——非エンジニアでも、半日あればここまで来られる
1. 中編のおさらいと、後編で目指すゴール
本題に入る前に、中編までの内容を簡単におさらいしておきます。
- Claude本体(デスクトップアプリ)のインストール完了
- 作業用フォルダ(例:mideax-tools)を作成済み
- ターミナルでフォルダに移動し、`claude` を実行するとClaude Codeが起動する状態
- WordPressでアプリケーションパスワードを発行済み
- パスワードを.envファイルに半角スペース込みで保存済み
ここまで完了していれば、後編の手順はそのまま動きます。
後編で目指すゴールは、はっきりしています。
「人間がやることを、極限まで小さくする」——これです。
具体的には、こんな運用を目指します。
- ChatGPTやGeminiでアイキャッチ画像を1枚作る
- その画像を、作業フォルダ内の`articles`フォルダに入れる
- ターミナルでClaude Codeを起動し、日本語で「このテーマで記事を書いて、下書き投稿して」と1段落だけ伝える

これだけです。記事の執筆も、HTMLの整形も、WordPressへの投稿も、アイキャッチ画像のアップロードも、すべてClaude Codeが自動でやります。人間がコピペや手動アップロードをする必要はありません。
「それ、本当にできるの?」と思われるかもしれませんが、本記事を読み終わる頃には、その仕組みがすべて理解できているはずです。専業主婦の方やお子さんでも、本記事の手順をなぞれば再現できる範囲に収めて書きました。
2. 記事の「コピペ運用」から「フォルダに入れるだけ運用」へ
本格的な手順に入る前に、私自身がたどった“運用の進化”を共有しておきます。同じ失敗を繰り返さないように。
2-1. 私が最初にやっていた手動運用と、その限界
Claude Codeを使い始めたばかりの頃、私はこんな運用をしていました。
- Claudeチャット版(claude.aiのProjects機能)で記事の草稿を依頼
- 出力されたHTMLをコピー
- テキストエディタを開いて貼り付け
- ファイル名をつけて、作業フォルダに保存
- ターミナルでClaude Codeを起動
- 「このHTMLファイルを下書き投稿して」と長めの指示文を打つ
これでももちろん動くのですが、人間の手作業が多すぎます。コピー、貼り付け、ファイル保存、長い指示文の入力。記事1本につき、10分〜20分は手作業に取られていました。
「これでは、専業主婦の方やIT初心者が取り組むには敷居が高すぎる」と思いました。もっと根本から運用を変える必要がある。そう気づいたのが、今回お伝えする新しいやり方です。
2-2. アイキャッチ画像をフォルダに置くだけ、を実現する仕組み
到達したい運用は、こうです。
- ChatGPTかGeminiでアイキャッチ画像(WordPressで概ね必須のサムネイル画像)を生成
- その画像を、作業フォルダ内の`articles`フォルダに保存(ドラッグ&ドロップで十分)
- ターミナルでClaude Codeに、日本語で「このテーマで記事を書いて、下書き投稿して」と頼む

ポイントは、記事のHTMLを人間が用意しないところと、アイキャッチ画像のアップロードもClaude Codeが自動でやるところの2点です。
これを実現するには、Claude Codeに「指示書」を渡しておく必要があります。具体的には、作業フォルダ内に`.claude`フォルダを作り、その中に`CLAUDE.md`というファイルを1つ置いておきます。
このファイルには、こんなルールを書いておきます。
ユーザーが「このテーマで記事を書いて、下書き投稿して」と言ったら、以下の手順で動いてください(これまでの手順記事を遵守している方はコピペ可):
1. 記事のテーマと方向性をユーザーに確認する
2. 記事本文をHTML形式で生成する(フロントマター付き)
3. articlesフォルダに画像ファイルがあれば、フロントマターのeyecatchフィールドにファイル名を書く
4. articlesフォルダに記事HTMLファイルとして保存する
5. post_to_wp.pyを使ってWordPressに下書き投稿する
こうしておくと、Claude Codeが起動するときに自動でこのファイルを読み込んで、「このプロジェクトでは、こういう手順で動けばいいんだな」と理解してくれます。ここがClaude Codeのすごいところで、自然言語で書かれた指示書を、そのまま実行ルールとして解釈してくれるのです。
もちろん専門用語が多くでわからない人でも、普通に以下の画像のようにチャット聞き直していくだけで解決策も一瞬でClaudeが教えてくれます。

普通のプログラミングでは、「もしAなら→Bを実行して→Cならエラー処理」というように、すべてコードで書く必要があります。Claude Codeは違います。日本語で「こうしてください」と書けば、その通りに動いてくれる。コードを書けない人でも、システムを設計できる時代が、もう実現しているので心配しないでください。
2-3. なぜHTML形式を選ぶか

記事ファイルの形式について、補足しておきます。Claude Codeが生成する記事は、Markdown形式とHTML形式のどちらでも対応可能ですが、私はHTML形式をおすすめしています。理由は3つあります。
- WordPressの内部形式に近い:WordPressは記事を保存する際、最終的にHTMLとして格納します。HTMLで渡すと変換ロスがありません。
- 細かい装飾が確実に反映される:太字、引用、見出し、リスト、内部リンクなど、Markdownでは表現が曖昧になる箇所も、HTMLなら一切ぶれません。
- 目次のアンカーリンクが効く:本記事のような長尺記事で、各セクションへジャンプする目次を作る場合、HTMLの方が確実です。
とはいえ、Markdown形式でもまったく問題ありません。お好みで選んでください。Claude Codeに「HTMLで生成して」「Markdownで生成して」と頼めば、どちらでも対応してくれます。
3. Claude Codeに記事執筆そのものを頼む
ここからが本番です。ターミナルで `claude` を起動した状態で、Claude Codeに日本語で頼みます。
3-1. 基本の指示文テンプレート
私が普段使っている指示文の型は、こんな感じです。
articles/フォルダにある「(画像ファイル名)」をアイキャッチに使って、
「(記事のテーマ)」というテーマで、3,500〜5,000文字の記事をHTML形式で書いてください。
タイトル・見出し・本文を、私のブログのトーンに合わせて整えて、
articles/フォルダに保存し、その後post_to_wp.pyで下書き投稿してください。
カテゴリーは「AI×アフィリエイト実録」、
タグは「Claude Code」「WordPress」「自動投稿」を入れてください。
慣れてくると、もっと短くしても通じます。
articles/フォルダの「(画像ファイル名)」をアイキャッチに、「(テーマ)」で記事を書いて、下書き投稿してください。
このシンプルな指示でも、CLAUDE.mdに書いておいたルールに従って、Claude Codeが必要な処理を全部やってくれます。記事の執筆、HTMLへの整形、画像の指定、ファイルの保存、WordPressへの投稿——すべてです。
3-2. Claude Codeが裏でやっていること
この日本語の依頼を受けたClaude Codeは、裏側で次のような処理を一気にやってくれます。
- 記事のテーマを受け取り、構成を組み立てる
- 本文を執筆し、HTML形式に整形する(見出し、段落、リスト、強調などをすべて適切なタグで)
- フロントマターを作成(タイトル・スラッグ・抜粋・カテゴリー・タグ・アイキャッチ画像のファイル名を記入)
- articlesフォルダに記事HTMLファイルとして保存
- post_to_wp.pyを実行して、WordPress REST APIに投稿する
- その際、フロントマターの`eyecatch`に書かれた画像ファイルを自動でメディアライブラリにアップロード
- アップロードされた画像のIDを、記事の`featured_media`(アイキャッチ画像)に紐付ける
- 投稿が成功すると、編集画面のURLを表示
所要時間は、記事の長さにもよりますが、おおむね1〜3分。「ターミナルに一段落の指示を打って、お茶を一杯入れて戻ってくる頃には、下書きが完成している」くらいのイメージです。
3-3. 初回は「動作確認」だけお願いするのも手
いきなり本番投稿をするのが不安な方は、最初に動作確認だけ頼んでみるのも良い方法です。
.envに保存されているWP_BASE_URL/WP_USERNAME/WP_APP_PASSWORDを使って、私のWordPressサイトに対してREST APIで「サイト名」だけ取得してください。実際の投稿はしないでください。
これでClaude Codeが認証だけテストしてくれます。サイト名が正しく返ってきたら、認証は問題なく通っている証拠。本番の投稿に進めます。
4. 私が実際にハマったエラー3選——HTTP 401/403/カテゴリーIDの罠
ここからが本記事の核心です。非エンジニアが必ず一度は遭遇するエラーを、解決法とセットで記録しておきます。同じ症状が出たら、該当箇所を読めば解決するはずです。
4-1. エラー① HTTP 401 ——「認証されていません」
初回投稿で最も多いのがこれです。「あなた誰?」とWordPressに門前払いされている状態です。
▲ アプリケーションパスワードのスペースを消してしまった場合に返ってくる401エラー。Claude Codeが原因候補を提示してくれる。
原因の候補:
- アプリケーションパスワードのスペースを消してしまった
- WP_USERNAMEがWordPressのログイン名と違う(メールアドレスを入れてしまった、など)
- パスワードに余計な改行や空白が入っている
- 過去に発行した古いパスワードを使っている
- セキュリティプラグインがREST APIをブロックしている
解決法:
まずWordPress管理画面でアプリケーションパスワードを取り消し→再発行。新パスワードを.envに、半角スペース込みのまま貼り直す。それでも401が続くようなら、Claude Codeに「.envの中身を確認してください、ただしパスワード本体は表示せず、文字数とスペースの数だけ教えて」と頼むと、書式ミスを発見してくれます。
セキュリティプラグインの干渉が疑われる場合は、いったんすべてのセキュリティ系プラグインを無効化してテスト。動けば、どれかが原因です。1つずつ有効化していけば、犯人を特定できます。
4-2. エラー② HTTP 403 ——「権限がありません」
▲ サーバーのWAFやセキュリティプラグインでREST APIがブロックされた場合のHTTP 403エラー。認証は通ったが権限がない状態。
認証は通ったけれど、操作する権限がない、という状態です。401と似ていますが、原因はまったく別物です。
原因の候補:
- サーバー側でREST APIへのアクセスが制限されている(特にエックスサーバーのWAF設定でブロックされやすい)
- セキュリティ系プラグイン(Wordfence、SiteGuard WP Pluginなど)がREST APIをブロックしている
- 使用中のWordPressユーザーの権限が「投稿者」以下で、記事作成の権限がない
解決法:
サーバーのWAF設定を一時的に「OFF」にしてテスト。動けばWAFが原因なので、自分のIPアドレスを除外設定に登録する。エックスサーバーの場合は、サーバーパネルの「WAF設定」から該当ドメインを選び、いったん無効化→テスト→再有効化+IP除外、の流れになります。
セキュリティプラグインの場合は、設定画面で「REST APIを許可」のオプションを探します。プラグインによっては、特定のエンドポイント(/wp/v2/posts など)だけ許可する設定が必要な場合もあります。
WordPressユーザー権限の場合は、管理画面の「ユーザー」から、該当ユーザーの権限を「編集者」または「管理者」に変更すれば解決します。
4-3. エラー③ カテゴリーIDが見つからずパニック
▲ Claude Codeがカテゴリー一覧を取得し、ID・スラッグ・名前の対応表を表示。REST APIで指定するには数字またはスラッグが必須。
これは私が一番焦ったエラーです。投稿時にカテゴリーを「AI×アフィリエイト実録」と日本語で指定したら、「該当するカテゴリーが見つかりません」と返ってきました。
原因:
WordPress REST APIは、カテゴリーを「ID(数字)」または「スラッグ(半角英数)」でしか受け付けません。日本語のカテゴリー名だけでは指定できないのです。
解決法:
Claude Codeに次のように頼みます:
私のWordPressサイトのカテゴリー一覧を取得して、ID/スラッグ/カテゴリー名の対応表を表示してください。
表示された一覧から、使いたいカテゴリーのスラッグ(例:`ai-affiliate`)またはIDを確認して、投稿時の指定に使います。これさえわかれば、二度と詰まりません。
ちなみに、カテゴリーは管理画面で新しく作るときに「スラッグ」を必ず設定する習慣をつけておくと、自動投稿でもラクになります。日本語名のままにしておくと、WordPressが自動で謎の文字列(パーセントエンコード)を割り当ててしまうことがあるためです。
5. ハマったときの“効く伝え方”——Claudeに状況を渡すコツ
エラーが出たとき、Claude Codeへの伝え方にもコツがあります。私が試行錯誤してたどり着いた、効く伝え方は以下の3つです。
5-1. エラーメッセージを“全文”貼る
エラーが出たとき、要約せずに表示された全文をそのままコピペしてください。スタックトレース(エラーの発生箇所がずらっと並ぶ部分)まで含めて貼ります。情報が多いほど、Claudeは原因を絞り込めます。
逆に、「なんか401って出ました」だけだと、Claudeも原因の候補を絞れません。エラー全文があれば、「あ、これは認証ヘッダーが空文字になってるパターンですね」と一発で当ててくれることもあります。
5-2. 「何をやろうとしたか」と「何が起きたか」を分ける
状況説明は、行動と結果を分けて伝えるのがコツです。
悪い例:「投稿が失敗した。原因を教えて」
良い例:「articles/test.htmlを下書き投稿しようとして、Claude Codeに『REST APIで投稿してください』と頼みました。実行したら、HTTP 401が返ってきて、その後の処理が止まりました。エラーメッセージの全文はこれです:(エラーをそのまま貼る)」
このように、「やったこと」「期待した結果」「実際の結果」の3点を明確に書くと、解決までの時間が劇的に短くなります。
5-3. パスワード本体は絶対に貼らない
これは中編でも触れましたが、ここで改めて強調します。
「.envの中身を見せて相談しよう」と思ったとき、絶対にパスワード本体をコピペしないでください。Claude Codeはローカルで動いているので、.envファイルを直接読めます。あなたが画面に貼り付ける必要はありません。
不安なときは、こう聞いてください:
.envの中身を確認してください。ただし、WP_APP_PASSWORDの本体は伏せたまま、項目の有無と文字数だけ報告してください。
こうすれば、パスワードを画面に出さずに書式チェックができます。
6. アイキャッチ画像も「フォルダに入れるだけ」で自動アップロード
記事本文の自動投稿はここまでで完了です。残るは、アイキャッチ画像。これも、すべて自動化できます。
6-1. フロントマターに1行書くだけの仕組み
アイキャッチ画像の自動アップロードを実現する仕組みは、驚くほどシンプルです。
記事ファイルの先頭にあるフロントマター(タイトルやカテゴリーなどを書くメタ情報の部分)に、`eyecatch:` というフィールドを1行追加するだけです。
HTML形式の場合は、こうなります:
<!--
title: 記事タイトル
slug: article-slug
excerpt: 記事の抜粋
categories: AI×アフィリエイト実録
tags: Claude Code, WordPress
eyecatch: my-eyecatch.jpg
-->
Markdown形式の場合は、こうです:
---
title: 記事タイトル
slug: article-slug
excerpt: 記事の抜粋
categories: AI×アフィリエイト実録
tags: Claude Code, WordPress
eyecatch: my-eyecatch.jpg
---
`eyecatch: my-eyecatch.jpg`の1行があるだけで、post_to_wp.pyが以下を自動でやってくれます。
- articlesフォルダから`my-eyecatch.jpg`というファイルを探す
- WordPressのメディアライブラリにアップロード(REST APIの`/wp/v2/media`エンドポイント経由)
- アップロードに成功すると、メディアIDが返ってくる
- そのメディアIDを記事の`featured_media`フィールドに紐付けて投稿
そして、このフロントマターの`eyecatch:`フィールドの記入も、Claude Codeが自動でやってくれます。人間がやることは、画像ファイルをarticlesフォルダに入れることと、Claude Codeに「articles/フォルダの○○.jpgをアイキャッチに使って」と一言伝えることだけです。
6-2. 画像生成は別AIに頼む現実
正直に書いておくと、画像生成だけは、Claudeシリーズではまだできません。Claude本体(チャット版もコード版も)は、現時点で画像生成の機能を持っていません。
なので、アイキャッチ画像の生成だけは、ChatGPTやGemini、Midjourney、DALL-Eなどの画像生成に対応した別のAIに頼む必要があります。これは現状の仕様上、避けられません。
ただ、画像生成AIに記事の草稿を丸ごと読み込ませるだけで、記事の内容に合った高品質なアイキャッチが安定して出てきます。「この記事のアイキャッチに合う画像を1枚作って」と頼むだけで十分です。プロンプトを細かく書く必要はありません。
生成された画像は、ダウンロードしてarticlesフォルダにドラッグ&ドロップするだけ。これが、現時点で人間がやる唯一の手作業です。
6-3. 次回はテーマ出しも自動化する——「次の記事書いて」運用への道
ここまでで、記事執筆・HTML整形・WordPress投稿・アイキャッチアップロードまでが、すべて自動化できました。人間がやることは、画像生成と、Claude Codeへの一段落の依頼だけです。
でも、まだ自動化できる余地が残っています。それが「テーマ出し」です。
本記事の手順では、人間が「このテーマで書いて」と指示する必要があります。でも、考えてみてください。記事のテーマを考えるのも、Claude Codeのほうが得意です。SEOキーワードのトレンド、競合分析、読者のニーズ把握——どれも、人間がやるより速くて精度が高い。
次回以降の記事では、この「テーマ出しもClaude Codeに任せる」運用にチャレンジしていきます。最終的には、ターミナルでClaude Codeを起動して、「次の記事書いて」と一言打つだけで、テーマも構成も本文もアイキャッチも、すべて完了する世界を目指します。
そこまで行けば、記事更新の主作業時間は、ほぼゼロになります。専業主婦の方やお子さんでも、1日5分の作業で月20本以上の記事が公開できる。それが、私が本気で目指している世界です。
7. まとめ——非エンジニアでも、半日あればここまで来られる
長文にお付き合いいただき、ありがとうございました。最後に、本記事のポイントを整理します。
- Claude Codeへの指示はシンプル。「このテーマで記事を書いて、下書き投稿して」と一段落伝えるだけ
- 記事の執筆・HTMLへの整形・WordPress投稿は、すべてClaude Codeが自動で行う
- 初回は「動作確認だけ」を頼むと、安全に環境テストできる
- HTTP 401は認証エラー(パスワードのスペース消し、ユーザー名違い、セキュリティプラグイン干渉)
- HTTP 403は権限エラー(WAF、セキュリティプラグイン、ユーザー権限)
- カテゴリーは日本語名ではなく、IDかスラッグで指定
- エラーが出たら、メッセージ全文+やったこと+起きたことをClaudeに渡す
- パスワード本体は絶対に画面に貼らない
- アイキャッチ画像は「articlesフォルダに入れて、ファイル名をフロントマターに書く」だけで自動アップロード
- 画像生成だけは、現状ChatGPTやGeminiなど別AIに頼む必要がある
正直に書いておくと、私は最初の1日で、最低でも5回はエラーで詰まりました。それでも、「Claudeに状況を貼って相談する」を繰り返しただけで、半日で動くようになったのです。これは本当に、時代が変わったと感じる体験でした。
もしあなたが、「ChatGPTで記事は書けるけれど、その先(投稿・公開)が手作業のままで、量産できない」と感じているなら、本記事の手順は必ず突破口になります。最初の1時間がしんどいだけで、一度動けば、あとは画像をフォルダに入れて、ターミナルに一言頼むだけで、自動的に下書きが生まれていく世界です。
次回は、本プロジェクトの「次の記事書いて」運用の構築過程と、テーマ出しの自動化について書く予定です。良くも悪くも、すべて正直に書きます。
まだ前編・中編を読まれていない方は、こちらもあわせてどうぞ:
- Claude Codeとは?ChatGPT・Geminiでは諦めていた“WordPress自動投稿”に非エンジニアが挑む【前編】
- Claude Codeで非エンジニアがWordPress自動投稿に挑む【中編】環境構築編
また、第1回目の記事「息子の大学進学で気づいた“帰れない現実”——私がAI自動化ノマドで海外2拠点生活を目指す理由」もあわせて読んでいただけると、私がなぜこのプロジェクトに本気で取り組んでいるのか、その背景がわかります。
それでは、また次回の記事でお会いしましょう。
【編集部より一言】
本記事で紹介しているClaude Code、およびWordPress REST APIによる自動投稿の手順は、2026年5月時点の筆者の動作確認に基づくものです。OS、サーバー環境、プラグイン構成によっては、本記事と同じ手順では動作しない場合があります。重要なサイトで試す前に、必ずテスト用のサイトまたは下書き状態で動作確認をしてください。また、アプリケーションパスワード等の認証情報の漏洩には十分ご注意ください。本記事の手順を試した結果生じた不具合・損害について、筆者は一切の責任を負いかねます。







最近の投稿