n8nでWordPressへ記事を投稿したあと、
- 「Googleスプレッドシートのステータスも自動で完了にしたい」
- 「投稿済みの記事をもう一度処理したくない」
- 「WordPressの投稿IDも一緒に残したい」
という場面があります。
そんなときは、
- WordPress投稿
- Google Sheets更新
という流れを作ります。
この記事では、
n8nでWordPressへの投稿が成功したあと、
入稿ステータス
=完了
WP投稿済み
=済
Post ID
=WordPressの記事番号
へ自動更新する方法を、初心者向けに実例つきで解説します。
今回作る自動化
完成イメージは次の通りです。
- Google Sheets
- 入稿待ちの記事を取得
- WordPressへ下書き投稿
- 投稿成功
- Google Sheetsの元の行を更新
- 入稿ステータスを「完了」にする
たとえば、最初は、
- タイトル
n8nとは? - 入稿ステータス
入稿待ち - WP投稿済み
未 - Post ID
空欄
だったとします。
WordPress投稿後は、
- タイトル
n8nとは? - 入稿ステータス
完了 - WP投稿済み
済 - Post ID
845
という状態にします。
なぜGoogle Sheetsを更新するの?
WordPressへ投稿するだけでも自動化はできます。
しかし、Google Sheetsがずっと、
入稿待ち
のままだと、
次にn8nを実行したとき、
「まだ処理していない記事」
と判断される可能性があります。
すると、
同じ記事をもう一度WordPressへ投稿
してしまうことがあります。
そこで、
投稿が終わった記事
=完了
と記録します。
Google Sheetsに用意したい列
たとえば次のような列を作ります。
- A列
タイトル - B列
完成本文 - C列
カテゴリ - D列
入稿ステータス - E列
WP投稿済み - F列
Post ID
最初は、
入稿ステータス
=入稿待ち
WP投稿済み
=未
Post ID
=空欄
です。
WordPress投稿が成功したあとに更新する
大切なのは順番です。
おすすめは、
- Google Sheetsから取得
- WordPress投稿
- Google Sheets更新
です。
先に、
完了
へ変えてはいけません。
たとえば、
- Google Sheets
完了へ変更 - WordPress投稿
- エラー
となると、
Google Sheets
=完了
WordPress
=記事なし
という状態になります。
そのため、
WordPress投稿成功
↓
完了へ更新
という順番にします。
Post IDも一緒に保存する
WordPressで記事を作成すると、
id
が返ってきます。
たとえば、
id
845
なら、
WordPressの記事番号
=845
です。
この数字をGoogle Sheetsの、
Post ID
列へ保存しておきます。
Post IDがあると、
- あとで記事を更新する
- アイキャッチを設定する
- 重複投稿を防ぐ
- 投稿済み記事を確認する
といった処理に使えます。
どの行を更新するの?
ここが初心者がつまずきやすい部分です。
Google Sheetsに10記事ある場合、
WordPressへ投稿した記事と同じ行
を更新する必要があります。
たとえば、
5行目の記事
↓
WordPress投稿
↓
Post ID 845
なら、
5行目
を更新します。
別の6行目を更新すると、管理データがずれてしまいます。
row_numberを使う
行を特定するときに使いやすいのが、
row_number
です。
row_numberは、
「何行目のデータか」
を表す番号です。
たとえば、
row_number
=5
なら、
5行目の記事
です。
Google Sheetsから記事を取得したときのrow_numberを、最後の更新でも使います。
実例
Google Sheetsの5行目に、
- タイトル
n8nとは? - 入稿ステータス
入稿待ち - WP投稿済み
未 - Post ID
空欄
があるとします。
n8nで取得すると、
row_number
5
も確認できます。
その記事をWordPressへ投稿します。
結果、
id
845
が返りました。
最後のGoogle Sheetsノードで、
5行目
を更新します。
変更後は、
- 入稿ステータス
完了 - WP投稿済み
済 - Post ID
845
Google SheetsのUpdate Rowを使う
投稿後のGoogle Sheetsノードでは、
既存の行を更新する操作
を使います。
新しい行を追加するのではありません。
目的は、
元の記事データを書き換える
ことです。
たとえば、
- 入稿ステータス
→完了 - WP投稿済み
→済 - Post ID
→845
だけ変更します。
タイトルや本文など、残したいデータは消さないように注意します。
Post IDをExpressionで入れる
たとえばWordPressノードの名前が、
WP下書き作成
なら、Post IDは、
{{ $('WP下書き作成').first().json.id }}
のように参照できます。
意味は、
「WP下書き作成ノードの結果にあるidを使う」
です。
初心者は式を暗記しなくても大丈夫です。
WordPressノードのOUTPUTから、
id
を選んで設定しても構いません。
row_numberもExpressionで指定する
最初のGoogle Sheetsノードの名前が、
入稿記事取得
なら、
{{ $('入稿記事取得').first().json.row_number }}
のように参照することがあります。
ただし、複数記事を同時に処理する場合、
.first()を使うと最初の行だけを参照してしまうことがあります。
複数記事を扱う場合は、
現在処理中の記事と同じrow_numberを使えているか
必ずテストしてください。
1記事なら簡単
初心者はまず、
1記事だけ
でテストするのがおすすめです。
- Google Sheets
- 1記事取得
- WordPress下書き
- Google Sheets更新
まで正常に動くか確認します。
成功したら複数記事へ増やします。
複数記事の場合
たとえば、
- 記事A
row_number 5 - 記事B
row_number 6 - 記事C
row_number 7
を処理するとします。
記事A
↓
Post ID 845
↓
5行目を完了
記事B
↓
Post ID 846
↓
6行目を完了
記事C
↓
Post ID 847
↓
7行目を完了
となれば正常です。
「処理中」も使うとさらに安全
より安全にするなら、
入稿待ち
↓
処理中
↓
完了
という3段階にします。
たとえば、
- 記事を取得
- 処理中へ変更
- WordPress投稿
- Post ID保存
- 完了
という流れです。
途中でエラーになった場合、
処理中
のまま残るので、
「この記事は途中まで進んだ」
と判断しやすくなります。
WordPress投稿は成功、Sheets更新だけ失敗したら?
これは注意が必要です。
たとえば、
- WordPress投稿
成功 - Post ID
845 - Google Sheets更新
失敗
となった場合です。
Google Sheetsには、
入稿待ち
が残っている可能性があります。
そのまま再実行すると、
同じ記事をもう一度WordPressへ投稿
するかもしれません。
再実行する前に確認する
この場合は、
- WordPressに記事があるか
- Post IDが取得されているか
- WP投稿済みがどうなっているか
を確認します。
すでにWordPressへ記事があるなら、
新規投稿し直す
のではなく、
Google Sheetsだけ完了へ直す
方が安全です。
よくある失敗1:新しい行を追加してしまう
投稿後に、
Append Row
のような追加処理を使うと、
元の記事とは別に新しい行が作られます。
今回やりたいのは、
元の行を更新
することです。
Update Row系の操作を使います。
よくある失敗2:row_numberが違う
記事Aを投稿したのに、
記事Bの行
を完了にするとデータが崩れます。
Google SheetsノードのOUTPUTで、
row_number
を確認してください。
よくある失敗3:Post IDではなく別のidを使う
画像アップロードもしている場合、
Media ID
と、
記事のPost ID
があります。
どちらもidと表示されることがあります。
Google Sheetsへ記事番号を保存するなら、
WordPress記事作成ノードのid
を使います。
よくある失敗4:完了へ変更するタイミングが早い
WordPress投稿前に完了へすると、
投稿失敗でも完了扱い
になります。
基本は、
WordPress成功
↓
Google Sheets完了
です。
よくある失敗5:タイトルや本文まで消してしまう
Update Rowの設定によっては、
必要な列まで空欄で上書き
してしまう可能性があります。
テスト時に、
タイトル
本文
カテゴリ
など元の情報が残っているか確認しましょう。
ココナラのn8nテンプレートについて
私は、
「ChatGPTで作った記事をWordPressへ半自動入稿するn8nテンプレート Lite」
をココナラで公開しています。
WordPress自動入稿では、
記事を投稿する
だけでなく、
投稿後にGoogle Sheetsへ結果を戻す
ところまで作ると管理しやすくなります。
特に、
入稿ステータス
WP投稿済み
Post ID
を残しておくと、再実行やエラー時の確認もしやすくなります。
テンプレートを使う場合も、自分のGoogle Sheetsの列名やWordPress設定に合わせた調整は必要です。
まとめ
n8nでWordPressへの投稿が成功したら、
Google Sheetsも自動更新
しておくのがおすすめです。
基本の流れは、
- Google Sheets
- 記事取得
- WordPress下書き投稿
- Post ID取得
- 元の行を更新
です。
更新する内容は、
入稿ステータス
=完了
WP投稿済み
=済
Post ID
=WordPressの記事ID
がわかりやすいです。
特に重要なのは、
- 正しいrow_numberを使う
- WordPress投稿成功後に更新する
- Post IDを保存する
という3点です。
まずはテスト記事1件で、
入稿待ち
↓
WordPress投稿
↓
完了
まで自動で変わることを確認してみましょう。
注意事項
n8nやGoogle Sheetsはアップデートによって、ノード名や設定画面が変更される場合があります。
複数記事を処理する場合は、最初のアイテムだけを参照していないか確認してください。
WordPress投稿成功後にGoogle Sheets更新だけ失敗した場合は、再実行前にWordPress側の投稿を確認してください。
大量の記事を処理する前に、テスト記事1件で動作確認することをおすすめします。
参考・公式情報
- n8n公式ドキュメント「Google Sheets」
- n8n公式ドキュメント「Expressions」
- n8n公式ドキュメント「Data Mapping」
- n8n公式ドキュメント「WordPress」
- WordPress Developer Resources「Posts – REST API Handbook」
n8nやWordPressは継続的に更新されているため、実際の画面と異なる場合は最新の公式ドキュメントも確認してください。
次に読む記事
自分で組み立てる時間を減らしたい方へ
この記事の手順を自分で試す方法に加え、設定の土台として使える販売テンプレートも用意しています。
- WordPress記事入稿 Liteの商品内容・価格を見る(ココナラ)
用意した記事をHTMLに整えてWordPressへ下書き保存。 自動公開はしません。Google Sheets・OpenAI・WordPressの接続設定が必要です。
ご自身の環境に合わせた初期設定が必要です。OpenAIを使う商品ではAPI利用料金が別途かかります。購入前に販売ページの対応範囲をご確認ください。