「記事ネタの管理」「AIでの本文生成」「WordPressへの下書き保存」を毎回手作業で行っていると、思った以上に時間がかかります。
そこで今回は、Googleスプレッドシートに登録したキーワードをもとに、Zapier経由でClaude APIを呼び出し、WordPressに下書き記事を自動保存する方法をまとめました。
この仕組みを作っておけば、あとはスプレッドシートにキーワードを追加するだけで、毎朝自動で1記事ずつ生成できるようになります。
この記事でできること
- Googleスプレッドシートで記事キーワードを管理できる
- Claude APIでSEO記事のタイトル・本文・タグを自動生成できる
- 生成した記事をWordPressに自動で下書き保存できる
- 処理済みのキーワードをスプレッドシート上で自動更新できる
今回の全体像
今回構築するフローは以下の通りです。
- Zapierが毎朝8:30に起動
- Googleスプレッドシートから「pending」のキーワードを1件取得
- Claude APIで記事タイトル・本文・タグを生成
- WordPressに下書き投稿として保存
- スプレッドシートのステータスを「done」に更新
つまり、キーワード管理から記事の下書き保存までを自動化する仕組みです。
事前に準備しておくもの
- WordPressサイト
- Zapierアカウント
- Claude APIキー
- Googleアカウント
- Googleスプレッドシート
なお、今回はZapierアカウント作成やClaude APIキー取得が完了している前提で、WordPress接続準備以降の流れを解説します。
PART 1|WordPressのAPI接続準備
まずは、ZapierからWordPressに安全に接続するために、アプリケーションパスワードを発行します。
1. WordPress管理画面にログインする
WordPressの管理画面にアクセスし、通常通りログインします。
https://xxxxxxxxxxxxxxxx/wp-admin/
2. アプリケーションパスワードを発行する
管理画面の左メニューから「ユーザー」→「プロフィール」を開きます。
ページ下部にある「アプリケーションパスワード」の欄で、新しいアプリケーション名に zapier と入力し、「新しいアプリケーションパスワードを追加」をクリックします。
すると、以下のような専用パスワードが表示されます。
xxxx xxxx xxxx xxxx xxxx xxxx
このパスワードは必ずコピーして保存してください。
画面を閉じると再表示できません。
3. REST APIの動作確認をする
次に、WordPressのREST APIが有効か確認します。ブラウザの新しいタブで以下のURLを開きます。
https://xxxxxxxxxxxxxxx/wp-json/wp/v2/posts
[ または { で始まるJSONデータが表示されればOKです。
もしページが表示されない場合は、REST APIが無効化されている可能性があります。
PART 2|Googleスプレッドシートの準備
次に、記事キーワードを管理するスプレッドシートを作成します。
1. 新しいスプレッドシートを作成する
Googleスプレッドシートを開き、空白のスプレッドシートを作成します。タイトルは以下のように設定しておくと管理しやすいです。
xxxxxxxxxxx_記事キーワード管理
2. 1行目にヘッダーを入力する
A1からE1まで、以下の見出しを入力します。
A1: keyword
B1: status
C1: title
D1: wp_post_id
E1: created_at
3. テスト用のキーワードを入力する
2行目に、まずはテスト用として以下を入力します。
A2: GA4の設定方法 初心者向け完全ガイド
B2: pending
C列〜E列は空欄のままで問題ありません。後ほどZapierが自動で埋めます。
4. スプレッドシートIDを控える
スプレッドシートのURLに含まれるIDを必要に応じて確認しておきます。
https://docs.google.com/spreadsheets/d/【ここがID】/edit
PART 3|Zapierで自動化フローを作成する
ここからはZapier上で、記事自動生成フローを組んでいきます。
1. 新しいZapを作成する
Zapierにログインし、右上の「+ Create」→「Zaps」をクリックします。
Zapのタイトルは、たとえば以下のようにしておくとわかりやすいです。
xxxxxxxxx_記事自動生成
STEP 1|毎朝8:30に起動する設定
最初にトリガーとして、毎朝自動でZapが動くようにします。
- Trigger をクリック
- 検索欄に
Scheduleと入力 - Schedule by Zapier を選択
- Event は Every Day を選択
設定は以下の通りです。
- Time of Day →
8:30 AM - Timezone →
Asia/Tokyo
その後、Continue → Test trigger → Continue with selected record と進めます。
STEP 2|Googleスプレッドシートからキーワードを取得する
次に、スプレッドシートの中から pending 状態のキーワードを取得します。
- + ボタンをクリック
- Google Sheets を選択
- Event は Lookup Spreadsheet Row を選択
初回のみGoogleアカウントとの連携が必要です。Sign in to Google Sheets をクリックし、Googleアカウントでログインして許可します。
設定内容は以下の通りです。
- Spreadsheet → 作成したスプレッドシート
- Worksheet → シート1 または記事キーワード管理
- Lookup Column →
B - Lookup Value →
pending - Bottom-Up →
True
テストを実行し、keyword に以下のような値が表示されれば成功です。
GA4の設定方法 初心者向け完全ガイド
STEP 3|Claude APIで記事を自動生成する
続いて、取得したキーワードをもとにClaude APIで記事を生成します。
- + ボタンをクリック
- Code by Zapier を選択
- Event は Run JavaScript を選択
Input Dataの設定
+ Add entry を2回押し、以下のように設定します。
- keyword → STEP 2 の Keyword を選択
- anthropic_api_key → Claude APIキーを貼り付け
Code欄に貼るJavaScript
const keyword = inputData.keyword;
const apiKey = inputData.anthropic_api_key;
const prompt = `あなたはWEBマーケティング専門メディア「マーケの森」のライターです。
以下のキーワードで、SEOを意識したWordPress記事を作成してください。
キーワード:${keyword}
必ずJSONのみで返してください。前置きや説明文は不要です。
{
"title": "記事タイトル(32文字以内、キーワードを含む)",
"content": "記事本文(WordPress用HTML形式、h2/h3/p/ul/olタグを使用、2000〜3000文字)",
"meta_description": "メタディスクリプション(120文字以内)",
"tags": "タグ1,タグ2,タグ3"
}
記事の要件:
- 対象読者:マーケ担当者・WEB担当者・副業ブロガー
- 語尾:です・ます調
- 構成:導入(悩み提起)→ h2で3〜4セクションの解説 → まとめ
- 冒頭に「この記事でわかること」をul boxで記載
- 各h2の下にポイントをリストで記載`;
const response = await fetch("https://api.anthropic.com/v1/messages", {
method: "POST",
headers: {
"Content-Type": "application/json",
"x-api-key": apiKey,
"anthropic-version": "2023-06-01"
},
body: JSON.stringify({
model: "claude-sonnet-4-20250514",
max_tokens: 4096,
messages: [{ role: "user", content: prompt }]
})
});
const data = await response.json();
if (!data.content || !data.content[0]) {
throw new Error("API Error: " + JSON.stringify(data));
}
const text = data.content[0].text;
const jsonMatch = text.match(/\{[\s\S]*\}/);
if (!jsonMatch) throw new Error("JSONが見つかりません: " + text);
const article = JSON.parse(jsonMatch[0]);
return {
title: article.title,
content: article.content,
meta_description: article.meta_description,
tags: article.tags
};
その後、Continue → Test をクリックし、title、content、tags が返ってきたら成功です。
STEP 4|WordPressに下書き保存する
次は、STEP 3で生成した記事データをWordPressに保存します。
- + ボタンをクリック
- WordPress を選択
- Event は Create Post を選択
ここで注意したいのは、Zapierで選ぶのは「WordPress」であり、「WordPress.com」ではないという点です。
アカウント連携の設定
Sign in to WordPress をクリックし、以下を入力します。
- Site URL →
https://xxxxxxxxxxxx.com - Username → WordPressのユーザー名
- Application Password → 発行したアプリケーションパスワード
Yes, Continue to WordPress をクリックして接続します。
投稿設定のマッピング
接続後の設定画面では、各項目にSTEP 3の出力を割り当てます。
- Title → STEP 3 の
title - Content → STEP 3 の
content - Status →
Draft - Tags → STEP 3 の
tags
Zapierでは、入力欄の右端にある「+」ボタンから前のステップの値を選択できます。
たとえば Title なら STEP 3 → title、Content なら STEP 3 → content を選びます。
設定後、Continue → Test を押し、WordPressの「投稿」→「下書き」に記事が追加されていれば成功です。
STEP 5|Googleスプレッドシートのステータスを更新する
最後に、処理済みキーワードの状態を done に更新します。
- + ボタンをクリック
- Google Sheets を選択
- Event は Update Spreadsheet Row を選択
設定内容は以下の通りです。
- Spreadsheet / Worksheet → 同じシートを選択
- Row → STEP 2 の
Row Number - B列(status) →
done - C列(title) → STEP 3 の
title - D列(wp_post_id) → STEP 4 の
ID - E列(created_at) →
Zap ran at
テスト実行後に、スプレッドシートの status が done に変わっていれば完成です。
最後にZapを公開する
すべての設定が完了したら、Zapier右上の「Publish」をクリックします。
ZapのスイッチがONになっていれば、翌朝8:30から自動で処理が走ります。
うまくいかないときのチェックポイント
WordPress接続で403エラーが出る場合
WordPress接続時に403エラーが出る場合は、サーバーやセキュリティ設定が原因のことがあります。特に以下を確認してください。
- ConoHa WINGのWAF設定
- 海外アクセス制限のXML-RPC制限
- WordPress側のセキュリティプラグイン
- Base URLに
/wp-admin/を付けていないか
Site URLには必ず以下を入力します。
https://xxxxxxxxxxxxxxxxxx.com
STEP 3の出力がSTEP 4で選べない場合
その場合は、STEP 3のTestが未実行の可能性があります。
一度STEP 3を再テストしてから、STEP 4の画面を開き直してください。
まとめ
ZapierとClaude API、そしてWordPressを組み合わせることで、記事作成フローの大部分を自動化できます。
特に、以下のような運用をしたい人には相性が良い仕組みです。
- 記事ネタだけ先に大量にストックしておきたい
- 毎朝1本ずつ下書きを作りたい
- AIを使って記事制作の初速を上げたい
- WordPressへの転記作業をなくしたい
一度設定してしまえば、あとはキーワードを追加していくだけで記事生成の土台が回るようになります。まずは1件テストで動かし、問題なければ本番運用に広げていくのがおすすめです。


コメント