n8nでWordPressの投稿IDをGoogle Sheetsへ保存する方法|初心者向け手順

n8nでWordPressへ記事を投稿できるようになったら、次にやっておきたいのが「投稿IDを保存すること」です。

投稿IDとは、

「WordPressの記事につく番号」

です。

たとえば、

記事A
→ 投稿ID 845

記事B
→ 投稿ID 846

のように、記事ごとに別の番号が付きます。

この投稿IDをGoogleスプレッドシートへ保存しておくと、

  • あとで記事を更新する
  • アイキャッチ画像を設定する
  • 重複投稿を防ぐ
  • どの記事とつながっているか確認する

といったことがしやすくなります。

この記事では、n8nでWordPressへ記事を投稿したあと、その投稿IDをGoogleスプレッドシートへ保存する方法を、中学生でもわかるように実例つきで解説します。

投稿IDとは?

WordPressの記事には、それぞれ番号があります。

これが投稿IDです。

たとえば、

「n8nとは?」という記事
→ ID 845

「ChatGPTの使い方」という記事
→ ID 846

というように、WordPressが自動で番号を付けます。

学校の出席番号のようなものだと考えるとわかりやすいです。

名前が似ている記事があっても、番号が違えば別の記事です。

WordPress公式のREST APIでも、投稿データには一意のidがあり、整数として返されます。

なぜ投稿IDを保存するの?

「記事を投稿できたなら、それで終わりでは?」

と思うかもしれません。

でも、自動化では投稿後の管理も大切です。

投稿IDを保存しておくと、

「このGoogle Sheetsの行は、WordPressの何番の記事なのか」

がわかります。

たとえば、

Google Sheets
管理ID:845

なら、

WordPressの845番の記事

とひも付けられます。

実例で考えてみよう

Googleスプレッドシートに次の3記事があるとします。

記事A
タイトル:n8nとは?
投稿ID:空欄

記事B
タイトル:ChatGPTの使い方
投稿ID:空欄

記事C
タイトル:WordPress自動化
投稿ID:空欄

n8nで記事AをWordPressへ投稿します。

するとWordPressから、

id:845

という結果が返ってきたとします。

その845をGoogle Sheetsの記事Aの行へ保存します。

すると、

記事A
タイトル:n8nとは?
投稿ID:845

となります。

次に記事Bを投稿して、

id:846

が返ってきたら、

記事B
投稿ID:846

と保存します。

これでGoogle SheetsとWordPressの記事を番号で結び付けられます。

今回作る自動化

完成イメージは次の通りです。

Google Sheets
↓
記事を取得
↓
WordPress
↓
下書き作成
↓
Post IDを取得
↓
Google Sheets
↓
同じ行へPost IDを保存

たとえば、

入稿ステータス
=完了

WP投稿済み
=済

管理ID
=845

のように更新します。

WordPressの記事を作ると何が返ってくる?

n8nからWordPressへ記事を作成すると、成功したあとにWordPressから記事情報が返ってきます。

その中に、

id

があります。

WordPress公式のPosts REST APIでは、投稿のidはその投稿の一意な識別番号として定義されています。

つまり、

WordPressノードのOUTPUTにあるid
=投稿ID

と考えれば大丈夫です。 :chatgpt-content-reference{index=”0″}

まずWordPressノードを実行する

最初は、WordPressノードだけでテストします。

タイトルを、

テスト記事

本文を、

これはテストです。

投稿状態を、

Draft

つまり下書きにします。

実行して成功したら、OUTPUTを確認します。

その中に、

id

という項目があるか探します。

たとえば、

id:845

と表示されていれば、その845が投稿IDです。

Draftとは?

Draftは、

下書き

という意味です。

WordPressでは投稿状態として、

  • draft
  • publish
  • pending
  • private

などを使えます。

初心者が自動化を試す場合は、いきなり公開するのではなく、

draft

がおすすめです。

WordPress公式の投稿APIでも、draftは利用可能な投稿ステータスとして定義されています。 :chatgpt-content-reference{index=”1″}

Google Sheetsに投稿ID用の列を作る

次にGoogleスプレッドシートへ、

Post ID

または、

管理ID

という列を作ります。

たとえば、

A列
タイトル

B列
完成本文

C列
入稿ステータス

D列
WP投稿済み

E列
Post ID

とします。

最初は、

Post ID
=空欄

です。

WordPressへの投稿が成功したら、ここへ数字を入れます。

投稿IDをGoogle Sheetsへ保存する

WordPressノードのあとにGoogle Sheetsノードを追加します。

このGoogle Sheetsノードでは、

新しい行を追加

ではなく、

元の行を更新

します。

つまり、

記事Aの行
↓
Post ID欄だけ845へ変更

という処理です。

Expressionを使って投稿IDを取得する

たとえばWordPressノードの名前を、

WP下書き作成

にしたとします。

投稿IDを取得するときは、

{{ $('WP下書き作成').first().json.id }}

のようなExpressionを使えます。

難しく見えますが、意味は、

「WP下書き作成というノードの結果からidを取ってください」

です。

つまり、

WordPress
id:845

↓

Google Sheets
Post ID:845

という流れになります。

Expressionを自分で全部書かなくてもいい

初心者は式を暗記しなくても大丈夫です。

n8nでは、前のノードのOUTPUTにある、

id

をGoogle Sheetsの入力欄へドラッグして設定できる場合があります。

最初は、

WordPressノードのidを探す
↓
Google SheetsのPost ID欄へ入れる

だけ理解できれば十分です。

どの行を更新するの?

ここがかなり重要です。

Google Sheetsに10記事あった場合、

投稿IDを保存する行を間違えてはいけません。

たとえば、

5行目の記事をWordPressへ投稿
↓
Post ID 845

なら、

5行目

へ845を保存する必要があります。

6行目へ保存したら、別の記事とひも付いてしまいます。

row_numberとは?

そのときによく使うのが、

row_number

です。

row_numberは、

「Google Sheetsの何行目か」

を表す番号です。

たとえば、

row_number:5

なら、

5行目

です。

最初にGoogle Sheetsから記事を取得するときにrow_numberを持っておけば、最後に同じ行を更新できます。

実例:5行目の記事を更新する

たとえばGoogle Sheetsの5行目が、

タイトル
n8nとは?

入稿ステータス
入稿待ち

Post ID
空欄

だったとします。

n8nで取得したとき、

row_number:5

も受け取ります。

WordPressへ投稿した結果、

id:845

が返ってきました。

最後にGoogle Sheetsを、

row_number:5

で更新します。

結果は、

タイトル
n8nとは?

入稿ステータス
完了

WP投稿済み
済

Post ID
845

になります。

row_numberを最後まで残すのが大切

ワークフローが、

Google Sheets
↓
OpenAI
↓
HTML整形
↓
WordPress
↓
Google Sheets更新

のように長くなると、

途中でrow_numberが見えなくなることがあります。

その場合は、最初のGoogle Sheetsノードを直接参照します。

たとえば、

{{ $('自動入稿記事取得').first().json.row_number }}

のような形です。

ノード名は、自分のワークフローに合わせて変更してください。

投稿IDを保存すると何ができる?

投稿IDの使い道はたくさんあります。

代表的なのは、

  • 記事を更新する
  • アイキャッチ画像を設定する
  • 記事が存在するか確認する
  • 重複投稿を防ぐ
  • 投稿結果を管理する

実例1:あとから記事を更新する

Google Sheetsに、

Post ID:845

が保存されているとします。

WordPress REST APIでは、

GET /wp/v2/posts/845で845番の記事を取得できます。

また、

POST /wp/v2/posts/845で845番の記事を更新できます。

WordPress公式でも、特定記事の取得と更新には投稿IDを使う仕様になっています。 :chatgpt-content-reference{index=”2″}

たとえば、

  • タイトル変更
  • 本文修正
  • 公開状態変更

などに使えます。

実例2:アイキャッチ画像を設定する

WordPressでは、アイキャッチ画像にもMedia IDがあります。

たとえば、

記事のPost ID
=845

画像のMedia ID
=512

だったとします。

845番の記事に、

featured_media:512

を設定すれば、512番の画像をアイキャッチとして指定できます。

WordPress公式のPosts APIでも、featured_mediaは投稿に設定するメディアIDとして定義されています。 :chatgpt-content-reference{index=”3″}

このときも、

「どの記事を変更するのか」

を決めるためにPost IDが役立ちます。

実例3:重複投稿を防ぐ

Google Sheetsに、

Post ID
=845

が入っているなら、

「すでにWordPressへ投稿した記事では?」と判断できます。

たとえばWordPress投稿前に、

Post IDが空欄か?

をIFノードで確認します。

空欄
↓
新規投稿

845が入っている
↓
投稿しない

という流れです。

IFノードを中学生向けに言うと?

IFノードは、

「もし○○なら、こっちへ進む」

という分かれ道です。

たとえば、

Post IDが空
↓
まだ投稿していない可能性が高い
↓
WordPressへ投稿

Post IDあり
↓
すでに投稿済みの可能性がある
↓
止める

という使い方です。

実例4:投稿済み記事を確認する

Google Sheetsに、

Post ID:845

が残っていれば、

WordPressの845番の記事

を確認できます。

タイトルが途中で変更されても、

Post IDが変わらなければ同じ記事

と判断しやすいです。

タイトルだけで管理するより安全です。

Post IDと管理IDは同じ?

ここは名前の付け方によります。

Google Sheetsの、

管理ID

という列にWordPressのPost IDを保存することもできます。

ただし、自分で付ける管理番号とWordPressのPost IDを両方使うなら、列を分けた方がわかりやすいです。

たとえば、

管理ID
ART-001

WP Post ID
845

という形です。

自分の管理IDを作るメリット

自分の管理IDなら、

ART-001
ART-002
ART-003

のように好きな番号を付けられます。

WordPressを変更したり、別サイトへ記事を移した場合でも、自分の管理番号はそのまま使えます。

一方、Post IDはWordPress側が付ける番号です。

そのため、

管理ID
=自分の記事番号

Post ID
=WordPressの記事番号

と分けるとよりわかりやすくなります。

投稿IDはいつ保存する?

おすすめは、

WordPress投稿成功後、なるべく早く

です。

たとえば、

WordPress投稿
↓
Post ID取得
↓
Google SheetsへPost ID保存
↓
画像処理
↓
その他の処理
↓
完了

という順番です。

なぜすぐ保存するの?

たとえば、

WordPress投稿
=成功

画像処理
=失敗

Google Sheets更新
=まだ

という状態でワークフローが止まるとします。

Post IDを保存していなければ、

「WordPressに投稿されたのか?」

がわかりにくくなります。

でもPost ID 845が保存されていれば、

「WordPress投稿までは成功した」

と判断できます。

おすすめのステータス管理

さらに安全にするなら、

入稿待ち
↓
処理中
↓
WordPress投稿成功
↓
Post ID保存
↓
完了

という流れにします。

たとえばGoogle Sheetsを、

入稿ステータス
処理中

WP投稿済み
済

Post ID
845

としておきます。

その後すべての処理が終わったら、

入稿ステータス
完了

へ変更します。

実例:途中でエラーになった場合

たとえば、

タイトル
n8nとは?

入稿ステータス
処理中

WP投稿済み
済

Post ID
845

だったとします。

この状態なら、

「処理は最後まで終わっていないけれど、WordPress記事は作成済み」

と考えられます。

再実行するときに、もう一度新規投稿するのではなく、

845番の記事を確認

すればいいわけです。

Post IDが空欄なら?

反対に、

入稿ステータス
処理中

WP投稿済み
未

Post ID
空欄

なら、

WordPress投稿前に止まった可能性があります。

原因を直して新規投稿を再実行する判断がしやすくなります。

WordPressのIDと画像IDを間違えない

ワークフローが大きくなると、

id

が複数出てきます。

たとえば、

WordPress記事
Post ID:845

WordPress画像
Media ID:512

です。

どちらもOUTPUT上では、

id

と表示されることがあります。

そのため、

どのノードのidなのか

を必ず確認します。

よくある失敗1:Media IDを保存してしまう

たとえば、

画像アップロード
↓
id:512

WordPress記事作成
↓
id:845

だったとします。

Google SheetsのPost ID欄へ保存するのは、

845

です。

512を保存すると、それは画像のIDです。

ノード名を、

画像アップロード

WP下書き作成

のようにわかりやすくしておくと間違いを減らせます。

よくある失敗2:別の記事の行へ保存する

記事AのPost IDを、記事Bの行へ保存してしまうケースです。

原因になりやすいのが、

更新対象行の指定ミス

です。

row_numberや管理IDなどを使って、

「どの行を更新するのか」

を明確にしましょう。

よくある失敗3:Post IDを固定値にする

たとえばGoogle Sheets更新ノードに、

845

と直接入力してしまうと、次の記事でも845が保存されます。

Post IDは記事ごとに変わります。

そのため、

WordPressノードのid

をExpressionで取得します。

よくある失敗4:WordPress投稿前にIDを保存しようとする

WordPress記事がまだ作られていない段階では、Post IDはありません。

基本は、

WordPress投稿
↓
id取得
↓
Google Sheets保存

という順番です。

よくある失敗5:Post IDを保存せず完了だけにする

もちろん、

入稿ステータス
=完了

だけでも運用できます。

ただしトラブルが起きたときに、

「WordPressのどの記事?」

を探す手間が増えます。

Post IDまで保存しておくと、あとでかなり楽です。

よくある失敗6:数字ではなく別のデータを参照している

Expressionの参照先が、

title

content

category

などになっていると、Post ID欄へ別の値が入ります。

保存前にExpressionのプレビューやOUTPUTを確認しましょう。

投稿IDはURLとは違う

Post IDは、

https://example.com/n8n-guide/

のような記事URLではありません。

Post IDは、

845

のような数字です。

URLが変わってもPost IDは記事を特定するために使えます。

slugとも違う

WordPressには、

slug

という項目もあります。

たとえば、

n8n-guide

です。

slugはURLの一部として使われます。

一方、

Post ID
=845

はWordPress内部の記事番号です。

どちらも便利ですが、初心者ならまずPost IDを保存しておくのがおすすめです。

Google Sheetsを記事管理台帳にできる

Post IDを保存すると、Google Sheetsが単なる記事メモではなく、

記事管理台帳

として使えるようになります。

たとえば、

管理ID
ART-001

タイトル
n8nとは?

入稿ステータス
完了

WP投稿済み
済

Post ID
845

という形です。

これなら、

  • 何を作ったか
  • 投稿したか
  • WordPressの何番の記事か

を1行で確認できます。

複数記事を処理するときも便利

たとえば3記事を処理するとします。

記事A
↓
WordPress
↓
Post ID 845
↓
記事Aの行へ845保存

記事B
↓
WordPress
↓
Post ID 846
↓
記事Bの行へ846保存

記事C
↓
WordPress
↓
Post ID 847
↓
記事Cの行へ847保存

という流れです。

それぞれの投稿IDを正しい行へ保存します。

Loop Over Itemsと組み合わせる場合

複数記事を1件ずつ処理する場合は、

Google Sheets
↓
Loop Over Items
↓
WordPress
↓
Post ID保存
↓
次の記事

という構成にもできます。

ただし、n8nでは多くのノードが複数アイテムを扱えるため、必ずLoop Over Itemsが必要なわけではありません。

必要な場合だけ使いましょう。

Schedule Triggerと組み合わせる場合

毎朝自動で記事を処理する場合にもPost ID保存は重要です。

たとえば、

毎朝8時
↓
入稿待ち取得
↓
WordPress投稿
↓
Post ID保存
↓
完了

という流れです。

翌朝に同じ記事が対象になっても、

Post IDあり

を確認して処理を止める設計にできます。

投稿ID保存は地味だけど重要

自動化では、

AIで記事を書く

画像を生成する

自動投稿する

といった機能が目立ちます。

でも、

投稿IDを保存する

という地味な処理が、あとでかなり役立ちます。

なぜなら、

  • 更新
  • 重複防止
  • エラー復旧
  • アイキャッチ設定
  • 記事確認

の土台になるからです。

ココナラのn8nテンプレートについて

私は、

「ChatGPTで作った記事をWordPressへ半自動入稿するn8nテンプレート Lite」

をココナラで公開しています。

このようなWordPress入稿自動化では、

Google Sheets
↓
WordPressへ下書き
↓
投稿結果をGoogle Sheetsへ戻す

という流れが重要です。

Post IDを保存しておけば、

「どの記事がWordPressのどの投稿につながっているか」

を管理しやすくなります。

自分で作る場合とテンプレートを使う場合

自分でゼロから作れば、

Google Sheetsの仕組み

Expression

WordPressのOUTPUT

Post ID

row_number

などを理解しながら学べます。

一方、

完成した構成を見ながら覚えたい

ワークフロー設計の時間を減らしたい

という場合は、テンプレートを使う方法もあります。

ただしテンプレートでも、

自分のGoogle Sheets

WordPress Credential

列名

対象行

などの設定は必要です。

初心者はこの順番で試そう

  1. Google Sheetsにテスト記事を1件作る
  2. Post ID列を作る
  3. n8nでその記事を取得する
  4. WordPressへ下書き投稿する
  5. WordPressノードのOUTPUTを見る
  6. idを探す
  7. Google Sheets更新ノードを追加する
  8. idをPost ID列へ入れる
  9. 同じrow_numberの行を更新する
  10. Google Sheetsに数字が保存されたか確認する

まずは1記事だけで試しましょう。

まとめ

n8nでWordPressへ記事を投稿したら、Post IDをGoogleスプレッドシートへ保存しておくのがおすすめです。

Post IDは、

WordPressの記事番号

です。

たとえば、

記事A
↓
Post ID 845

という形です。

基本の流れは、

Google Sheets
↓
WordPressへ記事投稿
↓
Post ID取得
↓
Google Sheetsへ保存

です。

投稿IDを保存しておくと、

  • 記事更新
  • アイキャッチ設定
  • 重複投稿防止
  • エラー時の確認
  • WordPress記事とのひも付け

がしやすくなります。

初心者なら、

「WordPress投稿が成功したら、返ってきたidを同じ行へ保存する」

と覚えれば大丈夫です。

まずはテスト記事1件で、

WordPressのid
↓
Google SheetsのPost ID列

へ数字が入るところまで試してみましょう。

注意事項

n8nやWordPressはアップデートによって、ノード名、画面、設定項目などが変更される場合があります。

Post IDをGoogle Sheetsへ保存するときは、必ずWordPressの記事作成ノードから返されたidを使っているか確認してください。

WordPressでは記事のPost IDだけでなく、画像などにも別のIDがあります。Media IDとPost IDを間違えないようにしてください。

Google Sheetsの更新対象行を間違えると、別の記事へPost IDを保存してしまう可能性があります。row_numberや管理IDなどで正しい行を指定してください。

本番運用前に、テスト記事1件で、

WordPress投稿

Post ID取得

Google Sheets更新

まで正常に動くことを確認してください。

参考・公式情報

  • ・WordPress Developer Resources「Posts – REST API Handbook」
  • ・WordPress Developer Resources「REST API Glossary」
  • ・n8n公式ドキュメント「WordPress」
  • ・n8n公式ドキュメント「Google Sheets」
  • ・n8n公式ドキュメント「Expressions」
  • ・n8n公式ドキュメント「Data Mapping」

WordPress公式では投稿データに一意のidがあり、POST /wp/v2/postsで新しい投稿を作成し、GET /wp/v2/posts/<id>で特定投稿を取得、POST /wp/v2/posts/<id>で更新できます。 :chatgpt-content-reference{index=”4″}

n8nやWordPressは継続的に更新されるため、実際の画面と異なる場合は最新の公式ドキュメントも確認してください。

次に読む記事

自分で組み立てる時間を減らしたい方へ

この記事の手順を自分で試す方法に加え、設定の土台として使える販売テンプレートも用意しています。

ご自身の環境に合わせた初期設定が必要です。OpenAIを使う商品ではAPI利用料金が別途かかります。購入前に販売ページの対応範囲をご確認ください。