
「AIで自動的にブログ記事を投稿できたら最高じゃないか」——そう思ったのが、このプロジェクトの始まりでした。
IT業界でPM・コンサルとして働く筆者が、たった1日でブログ自動投稿システムを構築した実録をお届けします。使ったのはClaude API・n8n・WordPressという組み合わせ。プログラミングの専門知識がなくても再現できる内容です。
この記事では、システムの全体像から具体的な実装手順、詰まったポイントとその解決策まで、包み隠さずお伝えします。「自分もやってみたい」と思った方の参考になれば幸いです。
目次
このシステムで実現したこと
まず結論から。完成したシステムでできることと、実際に運用してわかったメリットをお伝えします。
自動化できた主な機能
- 毎朝5時に自動で記事を生成・投稿(人間の作業ゼロ)
- Claude APIが3000文字以上のHTML記事を自動生成
- Unsplash APIでアイキャッチ画像を自動取得・設置
- 4カテゴリをローテーションして内容が偏らない設計
- メタディスクリプション・SEOタイトル・メタキーワードも自動生成
- リスク回避表現(断定禁止・個人差あり)をプロンプトで制御
- Cocoon独自フィールドへのSEO情報自動書き込み

実際の運用コストと効果
月30記事を自動生成してもClaude APIのコストは約100〜150円程度。サーバー代を含めても月4,000〜5,000円前後で運用できます。(料金は変動する場合があります)
これを人力でやると毎日1〜2時間かかる作業です。月換算で30〜60時間の作業が完全自動化されます。時給換算すれば、かなりのコストパフォーマンスといえるでしょう。
| 比較項目 | 手動運用 | 自動化後 |
|---|---|---|
| 月間作業時間 | 30〜60時間 | 月1〜2時間(確認のみ) |
| 月間記事数 | 4〜8本(週1〜2本) | 約30本(毎日1本) |
| 継続性 | モチベーション依存 | システムが自動継続 |
| 月間コスト | サーバー代のみ | +API代約200〜300円 |
システム全体の構成と使用ツール
ワークフローの全体像はシンプルです。n8nというノーコード自動化ツールを使い、以下の順番で処理が流れます。
ワークフローの流れ
- Schedule Trigger:毎朝5時に自動起動
- Code in JavaScript(カテゴリ決定):日付ベースで今日のカテゴリを自動決定
- HTTP Request(Claude API):記事タイトル・本文・SEO情報をJSON形式で生成
- Code in JavaScript(JSONパース):出力をパースしてカテゴリIDに変換
- HTTP Request(Unsplash API):記事テーマに合った画像を取得
- Code in JavaScript(画像挿入):画像タグを本文に挿入
- Create a post(WordPress):記事を自動投稿
- HTTP Request(メタ情報更新):SEOタイトル・メタディスクリプション・メタキーワードをWordPressに書き込み

各ステップを1つずつ繋いでいくだけで、完全自動の記事投稿マシンが完成します。
使用ツールと選定理由
| ツール | 用途 | 選定理由 |
|---|---|---|
| n8n | ワークフロー自動化 | ノーコードで直感的・拡張性が高い |
| Claude API | 記事生成 | JSON出力が安定・長文品質が高い |
| WordPress + Cocoon | CMS・公開 | REST APIが充実・アドセンス対応 |
| Unsplash API | アイキャッチ画像 | 商用利用無料・キーワード検索可能 |
| ConoHa WING | サーバー | WordPressに最適化・WAF設定が柔軟 |
構築で特にこだわったポイント
単に動くシステムを作るだけでなく、品質・保守性・拡張性にもこだわりました。特に苦労した3つのポイントを詳しく解説します。
① プロンプト設計で品質と安全性を担保する
AIに記事を書かせると、どうしても「断定的すぎる表現」「架空の体験談」「古い情報に基づくスペック比較」が混じりやすくなります。これはアドセンス審査やYMYL(お金・健康)ジャンルで致命的です。
そこで、プロンプトに以下のルールを組み込みました。
- 「必ず稼げる」などの断定的な収益表現を禁止
- 架空の体験談・実績を書かない
- 収益に関する記述には「個人差があります」を必ず添える
- 「〜と言われています」「〜する人もいます」など断定を避ける表現を使う
- AIツールのモデル名・料金などの具体的スペックは断定しない
- 記事末尾に「※本記事の情報は執筆時点のものです」を必ず入れる
プロンプトレベルでリスクを制御することで、人間が毎回レビューしなくても安全な記事が量産できる仕組みを作りました。ただし月1回の目視確認は継続して行っています。
② JSON出力でワークフローを安定させる
Claude APIからの出力を安定的にパースするため、出力形式を厳密にJSON指定しています。マークダウンや前置き文章が混じると後続ノードでエラーが発生するため、プロンプトの最後に「前置き・説明・コードブロック記号は不要です」と明示しています。
具体的には以下のキーを持つJSONを返すようプロンプトで指示しています:
title:記事タイトル(30文字以内)category:カテゴリ名image_keyword:Unsplash検索用の英語キーワードmeta_description:110文字以内のメタディスクリプションmeta_keywords:カンマ区切りのキーワードseo_title:32文字以内のSEOタイトルcontent:HTML形式の本文
JavaScriptのCodeノードでJSONをパースし、各値を後続ノードに渡す設計です。パース前に不要なコードブロック記号を除去する処理も入れています。
③ メタディスクリプションの自動化に最も苦労した
最大のハマりポイントがここでした。CocoonテーマのメタディスクリプションはWordPress標準のREST APIでは直接書き込めない仕様でした。n8nのWordPressノードの「Add Field」一覧にも該当項目がありません。
解決策として、以下の2段階で対応しました:
- WordPressの
functions.phpにCocoon独自フィールドをREST APIに登録するPHPコードを追加 - WordPressへの記事投稿後、別途HTTP RequestノードでPOSTしてメタ情報を書き込む
設定したフィールドは以下の3つです:
the_page_meta_description:メタディスクリプションthe_page_meta_keywords:メタキーワードthe_page_seo_title:SEOタイトル
このアプローチにより、毎回の投稿でSEO情報が自動的に設定されるようになりました。
詰まったポイントと解決策
構築中にいくつかのトラブルに直面しました。同じシステムを作ろうとしている方の参考になるよう、詳しく記録しておきます。
① ConoHa WINGのWAFがUnsplash APIをブロックした
Unsplash APIからの画像取得が突然エラーになる問題が発生しました。原因はConoHa WINGのWAF(Webアプリケーションファイアウォール)がUnsplash APIのIPアドレスからのアクセスをブロックしていたためです。
解決策:ConoHa WINGの管理画面でWAF設定を開き、Unsplash APIのIPアドレスを除外リストに追加することで解決しました。
② カテゴリが偏る問題
当初、プロンプトで「25種類のテーマからランダムに選ぶ」という設計にしていましたが、実際に運用するとAI活用系の記事ばかりが生成され、NISAや節約系の記事がほとんど出ない偏りが発生しました。
解決策:n8nにカテゴリ決定用のCodeノードを追加し、日付ベースで4カテゴリを均等にローテーションする仕組みに変更。これにより4日で全カテゴリが1周する設計になりました。
③ n8nのノード名参照でエラーが出た
プロンプトで{{ $('Code').item.json.todayCategory }}と記述したところ、「Referenced node doesn’t exist」エラーが発生。原因はn8nが自動的に付けたノード名が「Code in JavaScript2」だったためです。
解決策:プロンプト内の参照名を実際のノード名と一致させることで解決。n8nでは変数参照時にノードの正確な名前を確認することが重要です。

1日でここまでできた理由
正直、1日でここまで完成するとは思っていませんでした。想定以上に進んだ理由を振り返ると3つあります。
① n8nのビジュアルワークフローが直感的
n8nはノードをドラッグ&ドロップで繋いでいくだけで自動化フローが作れます。コードを書かなくても大半の処理が完結するため、実装スピードが圧倒的に速い。JavaScriptのCodeノードも用意されているので、細かいデータ加工が必要な場面でも柔軟に対応できました。
またバージョン管理機能(Version History)があり、変更前にPublishしておけばいつでも以前の状態に戻せます。本番・待機の2系統で運用することで、安全にテスト・改修ができる体制も整えました。
② Claude APIの出力品質が高い
プロンプト設計さえしっかりすれば、Claude APIは安定して高品質なHTML記事を生成してくれます。構成・見出し・強調・表・箇条書きまで自動で整えてくれるため、WordPressにそのまま貼り付けられる形式で出力できます。
特にJSON形式での出力指定が効果的で、後続のワークフローで安定してパースできる構造化データとして受け取れます。プロンプトの【絶対に守るルール】セクションに品質基準を明記することで、記事の一貫性も保てています。
③ 問題が出るたびにAIに相談しながら進めた
メタディスクリプションの書き込みエラー、カテゴリIDの変換、Unsplash APIのWAF除外設定など、詰まった部分はその都度AIに相談しながら解決しました。AIをツールとして使いながらAIのシステムを作るという、まさにAI時代の開発スタイルです。
「エラーメッセージをそのまま貼り付けて解決策を聞く」というシンプルなアプローチが、開発スピードを大幅に上げてくれました。(個人差があります)
構築にかかったコストと時間
| 項目 | 内容 | 費用 |
|---|---|---|
| サーバー・ドメイン | ConoHa WING | 月額約1,000円〜 |
| WordPress | Cocoonテーマ | 無料 |
| n8n | クラウド版 | 月額約2,500円〜 |
| Claude API | claude-sonnet-4-5 | 1記事あたり約2〜5円 |
| Unsplash API | 画像取得 | 無料 |
| 構築時間 | システム全体 | 約1日 |
まとめ:自動化ブログの可能性と今後の展望
今回のシステム構築で感じた本質的なことを3点にまとめます。
- 自動化は「継続性」を担保する最強の手段:普通のブログは更新が止まって死ぬ。自動化すればその問題が解決する。継続こそがSEO評価の土台になる
- プロンプト設計が品質の9割を決める:AIに任せるほど、人間が設計するプロンプトの重要性が増す。ルールを明文化することでリスクも制御できる
- 自動化に甘えず人間の付加価値を足し続けることが差別化になる:一次情報・実体験・比較検証は自動化できない強み。この記事自体がその実践例
次のステップ
このシステムをさらに発展させるために、以下を順番に実装していく予定です:
- SNS自動投稿(X/Twitter連携)でSEO流入を補完する
- 記事末尾へのCTA自動挿入で収益導線を強化する
- 品質スコアリング自動化で問題記事を自動検知する
🛠️ 同じ仕組みを作ってみたい方へ
この記事で紹介したシステムに使ったツールはこちらです。
- 📦 ワークフロー自動化:n8n
- 🤖 記事生成AI:Claude API(Anthropic)
- 🖥️ サーバー:ConoHa WING
- 📝 CMS:WordPress+Cocoonテーマ
構築方法について質問がある方はお問い合わせフォームからお気軽にどうぞ。
※本記事の情報は執筆時点のものです。最新情報は各公式サイトをご確認ください。

コメント