AIツール 自動化

GAS×Claude APIでWordPressに記事を自動投稿する方法【実装コード付き】

GAS×Claude APIでWordPressに記事を自動投稿する方法【実装コード付き】

※本ページはプロモーションを含みます。リンク経由で申込みがあると運営者に報酬が入る場合があります。

「GASとClaude APIを使えばWordPressへの自動投稿ができるらしいけど、どこから手をつければいいか分からない」

「実際にどのくらいのコストがかかるのか不安」

「設定を間違えると高額請求されないか心配」

この記事では、実際にGAS×Claude APIでブログ自動投稿パイプラインを構築・運用している筆者が、システムの全体像から実装コード、運用で判明した課題、実際にかかったAPI費用まで包み隠さず解説します。

結論から言えば、GAS×Claude APIの自動投稿システムは月数百円〜数千円で構築・運用できます。ただし「ボタン一つで完璧な記事が量産できる魔法」ではなく、品質管理と人間のレビューが不可欠です。

この記事の結論

GASとClaude APIを組み合わせてWordPressへ記事を自動投稿するシステムは、個人でも構築できます。

ただし、押さえるべきポイントは3つあります。

  • 技術的難易度は中程度:GASの基本が分かれば構築可能。プロのエンジニアである必要はない
  • 費用はAPI従量課金のみ:サーバー代不要。Claude APIのクレジット購入だけで始められる
  • 全自動ではなく半自動が現実解:AIが下書きを作り、人間がレビューして公開するフローが最も安全

この記事を読めば、全体像・必要な準備・実装コード・運用コスト・よくある失敗パターンをすべて把握できます。

なぜGASでブログ自動投稿を作ろうと思ったか

ブログ記事を毎週コンスタントに更新するのは、思った以上に体力を消耗します。

特に副業や趣味で運営しているブログでは、記事執筆だけで週末がまるごと潰れることも珍しくありません。

筆者自身、テーマ選定・構成・執筆・画像準備と手作業が多すぎて、過去にブログを挫折した経験があります。これはブログをやめる理由の「あるある」ではないでしょうか。2025年からAIに触れる機会が増え、「この作業、自動化できないか?」と考えたのが今回の仕組みづくりのきっかけでした。

「Claude APIでAIに下書きを書かせる」というアイデアは多くの人が思いつきますが、問題は「API呼び出し→記事生成→WordPress投稿」という一連の作業を毎回手動で行うのが面倒という点です。

自動化ツールとしてはZapierやMake(旧Integromat)もありますが、細かいプロンプト制御やリトライ処理、スプレッドシートとの連携を自由に設計したい場合はGASのほうが圧倒的に柔軟です。

  • Googleアカウントさえあれば無料で使えるサーバーレス実行環境
  • 定期実行(トリガー)機能が標準搭載。毎日決まった時刻に自動実行できる
  • Googleスプレッドシートと直接連携でき、キーワード管理・進捗管理・コストログまで一元化できる
  • HTTPリクエストを送れるため、Claude API・Tavily API・WordPress REST APIなど複数のAPIを組み合わせられる

システムの全体像

GAS×Claude API×WordPress自動投稿の仕組みは、4つのステージで構成されます。

ステージ1:リサーチ(Tavily API)

まずTavily APIを使って、記事テーマに関する最新情報をウェブから自動収集します。

注意:Tavilyは比較サイトやブログ記事を拾いやすいため、公式ドメインのフィルタリングを入れないと不正確な情報が混入します。

ステージ2:記事生成(Claude API)

リサーチ結果をClaudeに渡し、記事本文をHTML形式で生成させます。

ステージ3:品質チェック(Claude API)

生成された記事を別のClaudeセッションでレビューさせます。ファクトチェックも自動で行います。

ステージ4:投稿(WordPress REST API)

品質チェックを通過した記事を、WordPress REST APIで下書き保存します。

データの流れ:スプレッドシート(テーマ管理)→ GAS → Tavily API(リサーチ)→ Claude API(記事生成+品質チェック)→ WordPress REST API(下書き投稿)

必要な準備と環境構築

1. Anthropic APIキーの取得

Anthropicの開発者コンソール(console.anthropic.com)でAPIキーを発行します。

APIキーは絶対にコード内に直書きしないでください。GASのスクリプトプロパティで管理します。

2. クレジットの事前購入

初回は$5(約800円)程度から始めるのがおすすめです。

クレジットは購入日から1年で失効し、払い戻し不可です。

3. WordPress REST APIの有効化

WordPress管理画面の「ユーザー → プロフィール → アプリケーションパスワード」から生成します。

WordPressアプリケーションパスワード設定画面

4. GASプロジェクトの作成

スクリプトプロパティに以下を登録します。

  • ANTHROPIC_API_KEY
  • WP_BASE_URL
  • WP_USERNAME
  • WP_APP_PASSWORD

実装の核心部分(コード解説)

Claude APIにリクエストを送る関数

function callClaudeAPI(systemPrompt, userPrompt) {
  var apiKey = PropertiesService.getScriptProperties().getProperty('ANTHROPIC_API_KEY');
  var payload = {
    model: 'claude-sonnet-4-6',
    max_tokens: 14000,
    system: systemPrompt,
    messages: [{ role: 'user', content: userPrompt }]
  };
  var options = {
    method: 'post',
    headers: {
      'Content-Type': 'application/json',
      'x-api-key': apiKey,
      'anthropic-version': '2023-06-01'
    },
    payload: JSON.stringify(payload),
    muteHttpExceptions: true
  };
  var response = UrlFetchApp.fetch('https://api.anthropic.com/v1/messages', options);
  var json = JSON.parse(response.getContentText());
  return json.content[0].text;
}

WordPressに下書きを投稿する関数

function postToWordPress(title, htmlContent) {
  var wpUrl = PropertiesService.getScriptProperties().getProperty('WP_BASE_URL');
  var wpUser = PropertiesService.getScriptProperties().getProperty('WP_USERNAME');
  var wpPass = PropertiesService.getScriptProperties().getProperty('WP_APP_PASSWORD');
  var payload = { title: title, content: htmlContent, status: 'draft' };
  var options = {
    method: 'post',
    headers: {
      'Authorization': 'Basic ' + Utilities.base64Encode(wpUser + ':' + wpPass),
      'Content-Type': 'application/json'
    },
    payload: JSON.stringify(payload),
    muteHttpExceptions: true
  };
  var response = UrlFetchApp.fetch(wpUrl + '/wp-json/wp/v2/posts', options);
  return JSON.parse(response.getContentText()).id;
}

スプレッドシートでテーマを管理する仕組み

スプレッドシートのthemeシートに「記事ID・投稿日・タイトル・ヘルプURL・ステータス・構成指示」を一覧管理します。GASはステータスが「READY」の行を順番に処理し、完了したら「DONE」に更新します。

themeシートの全体像

実際に運用して分かった5つの課題と対策

課題1:AIが事実と異なる情報を生成する

対策:ファクトチェック専用のClaude呼び出しを追加し、矛盾をJSON形式で検出→自動修正するパイプラインを組み込みました。

課題2:GASの実行時間上限(6分)に引っかかる

対策:処理をステージ分割し、GASのタイマートリガーで順次実行する設計にしました。

課題3:リサーチで比較サイトを拾ってしまう

対策:公式ドメインのフィルタリングを実装しました。

課題4:生成記事の文字数が安定しない

対策:文字数不足時に「追記ループ」を最大2回実行する設計にしました。

課題5:モデルの使い分けでコスト最適化

対策:記事生成はSonnet、品質判定はHaikuと使い分け、品質を維持しながらコストを抑えています

当初はコスト削減のためにHaikuを多用していましたが、品質チェックの精度が低く、見落としが頻発しました。読者の信頼を得られるレベルの記事を安定して出すには、重要な工程にはSonnetを使うべきだと判断しています。

かかったコスト(API費用の実データ)

筆者の実績では、1記事あたりのClaude API費用は約$0.53(約84円)でした。

項目 1記事あたり 月10記事の場合
Claude API(記事生成+品質チェック) 約$0.53(約84円) 約$5.3(約840円)
Tavily API(リサーチ) 無料枠内 無料枠内
レンタルサーバー 月1,000円前後
合計 約84円 約1,800円

この金額にはリサーチ要約・記事生成・ファクトチェック・品質チェック・自動修正の全ステージが含まれています。

Anthropicコンソールの課金画面

向いている人・向いていない人

向いている人

  • GASを多少触れる中級者以上のブログ運営者
  • 記事の「たたき台」作成時間を削減したい人
  • コストをかけずにサーバーレスで仕組みを作りたい人

向いていない人

  • コードを触りたくない人
  • AIコンテンツを一切レビューせず全自動公開したい人

WordPress環境の選び方

エックスサーバー・ConoHa WING・さくらインターネットなどが安定します。

まだWordPress環境を持っていない方は、REST API対応済みのレンタルサーバーを選ぶのがスムーズです。

よくある質問

GASの無料枠だけで運用できますか?

月10〜20記事程度であれば無料枠内で十分です。

Claude APIのクレジットはどれくらい買えばいい?

初回は$5〜$10から。自動リロード設定時は必ず月間上限を設定してください。

Zapierなど他ツールと比較してどう?

GASの利点は「完全無料」と「スプレッドシートとの一体化」です。

まとめ

GAS×Claude API×WordPress REST APIの自動投稿システムは、月数百円〜数千円でブログ更新の工数を大幅に削減できます。

判断軸:GASのスクリプトを読んでエラー対応できるなら、導入する価値があります。

Claude APIの最新情報はAnthropic公式料金ページで確認してください。

-AIツール, 自動化
-, , , ,