n8nを使うと、Googleスプレッドシートに用意した記事をWordPressへ自動で送る仕組みを作れます。
たとえば、
- Googleスプレッドシートに記事を保存
- n8nが記事を取得
- WordPressへ送信
- 下書きとして保存
という流れです。
毎回、
- WordPressを開く
- 記事タイトルをコピー
- 本文をコピー
- カテゴリを設定
- 下書き保存
という作業をしているなら、この部分を自動化できます。
この記事では、n8nを使ってGoogleスプレッドシートからWordPressへ記事を自動投稿する基本的な仕組みと作り方を、初心者向けにやさしく解説します。
コードをたくさん書く方法ではなく、
「何をどこにつなぐのか」
がわかることを重視します。
今回作る自動化
- Google Sheets
- 記事データを取得
- WordPress
- 下書き投稿
- Google Sheets
- 投稿済みに変更
たとえばGoogleスプレッドシートに、
- テーマ
- カテゴリ
- タイトル
- 完成本文
- 入稿ステータス
- WP投稿済み
という列を作っておきます。
その中から、
入稿ステータス
=入稿待ち
の記事をn8nが取得します。
そしてタイトルと本文をWordPressへ送り、
下書き
として保存します。
投稿が成功したら、
入稿ステータス
=完了
WP投稿済み
=済
のようにGoogleスプレッドシートを更新します。
これだけでも、WordPressへのコピペ作業をかなり減らせます。
n8nとは?
n8nは、複数のサービスをつないで作業を自動化できるツールです。
たとえば、
- Google Sheets
- OpenAI
- WordPress
- Gmail
などをつなげられます。
n8nでは、
Google Sheetsからデータを取る
WordPressへ送る
Google Sheetsを書き換える
といった作業を「ノード」と呼ばれる部品で組み立てます。
イメージはブロック遊びに近いです。
1つずつ部品をつないで、自動化を作っていきます。
なぜGoogleスプレッドシートを使うの?
記事を自動投稿するだけなら、Googleスプレッドシートを使わない方法もあります。
それでもGoogle Sheetsを使うと管理しやすくなります。
たとえば、
- どの記事を投稿したか
- まだ投稿していない記事はどれか
- タイトルは何か
- カテゴリは何か
- WordPress投稿IDは何番か
といった情報を一覧で確認できます。
つまりGoogleスプレッドシートを、
「記事の管理表」
として使うイメージです。
最初にGoogleスプレッドシートを作る
まず記事管理用のGoogleスプレッドシートを作ります。
初心者なら、次のような列から始めれば十分です。
- A列
テーマ - B列
カテゴリ - C列
タイトル - D列
完成本文 - E列
入稿ステータス - F列
WP投稿済み - G列
管理ID
たとえば、
テーマ:
n8n初心者向け解説
カテゴリ:
n8n
タイトル:
n8nとは?初心者向けにやさしく解説
完成本文:
記事本文
入稿ステータス:
入稿待ち
WP投稿済み:
未
という形です。
最初から項目を増やしすぎる必要はありません。
n8nでGoogle Sheetsノードを追加する
次にn8nを開きます。
新しいワークフローを作成して、
Google Sheets
ノードを追加します。
Google Sheetsノードは、Googleスプレッドシートからデータを取得したり、書き換えたりするためのノードです。
最初は、
記事データを取得する
ために使います。
Googleアカウントと接続する
Google Sheetsを使うには、n8nとGoogleアカウントを接続します。
n8nでは、この接続情報をCredentialとして管理します。
Credentialとは、
「このGoogleアカウントを使う許可」
のようなものです。
一度接続すると、そのCredentialを選んでGoogle Sheetsノードからスプレッドシートへアクセスできます。
対象のスプレッドシートを指定する
Google Sheetsノードで、
Document
に記事管理用スプレッドシートを指定します。
次に、
Sheet
で対象のシートを選びます。
たとえば、
AI記事管理
というシートを作ったなら、それを指定します。
コピーしたワークフローを使う場合は注意してください。
元のワークフローをコピーしても、Google Sheetsノードが自動で新しいスプレッドシートへ切り替わるとは限りません。
Documentが正しいか必ず確認しましょう。
入稿待ちの記事だけ取得する
すべての記事を取得すると、すでに投稿済みの記事まで再投稿してしまう可能性があります。
そこで、
入稿ステータス
=入稿待ち
の記事だけ取得するように設定します。
イメージは、
- 記事A
入稿待ち
→取得する - 記事B
完了
→取得しない - 記事C
入稿待ち
→取得する
です。
これで処理対象の記事を絞れます。
まずGoogle Sheetsノードだけ実行する
いきなりWordPressまで全部つなぐ必要はありません。
まずGoogle Sheetsノードだけ実行します。
OUTPUTに、
- タイトル
- 完成本文
- カテゴリ
- 入稿ステータス
などが表示されれば、Google Sheetsから正しくデータを取得できています。
n8nでは、
1ノード作る
↓
実行する
↓
OUTPUT確認
↓
次のノードを追加
という順番がおすすめです。
一気に作ると、どこで失敗したのかわかりにくくなります。
次にWordPressノードを追加する
Google Sheetsから記事を取得できたら、WordPressノードを追加します。
WordPressノードを使うと、n8nからWordPressへ記事を作成できます。
たとえば、
- タイトル
- 本文
- 投稿ステータス
などを設定できます。
今回は最初から公開せず、
Draft
つまり下書きとして保存するのがおすすめです。
なぜ下書き投稿がおすすめなの?
自動投稿できるからといって、最初から自動公開する必要はありません。
むしろ初心者なら、
n8nで下書き作成
↓
WordPressで最終確認
↓
人が公開
という「半自動化」がおすすめです。
理由は、
- タイトルがおかしくないか
- 本文が崩れていないか
- リンクが正しいか
- 画像が正しいか
- カテゴリが正しいか
を公開前に確認できるからです。
自動化は、
全部人間をなくす
ためだけのものではありません。
面倒な作業だけ減らして、最後の確認を人が行う使い方も十分便利です。
WordPressとn8nを接続する
WordPressへ記事を送るには、n8nからWordPressへアクセスするための認証設定が必要です。
WordPressには、外部アプリからREST APIへ接続するための「アプリケーションパスワード」という仕組みがあります。
通常のWordPressログインパスワードとは別に、n8nなど外部ツール専用のパスワードを作れます。
WordPress公式でも、Application Passwordsは外部アプリやスクリプトがREST APIへ接続するときに使う仕組みとして案内されています。
アプリケーションパスワードとは?
アプリケーションパスワードは、
「n8n専用のWordPress接続パスワード」
と考えるとわかりやすいです。
WordPressの通常ログインパスワードをn8nへ登録するのではなく、
n8n用
として別のパスワードを発行します。
万が一その接続を停止したい場合も、対象のアプリケーションパスワードだけ削除できます。
WordPress側で接続情報を準備する
WordPress管理画面で、
ユーザー
↓
プロフィール
を開きます。
アプリケーションパスワードの項目が利用できる環境では、ここから新しいパスワードを発行できます。
名前は、
n8n
など、自分でわかるものにしておくと管理しやすいです。
発行されたパスワードは、通常のログインパスワードとは別物です。
他人に見せないように管理しましょう。
n8n側でWordPress Credentialを設定する
n8nでWordPress Credentialを作ります。
主に必要になるのは、
- WordPressサイトURL
- WordPressユーザー名
- アプリケーションパスワード
です。
たとえばサイトURLなら、
https://example.com
のような形です。
接続テストが成功すれば、n8nからWordPressへアクセスできる状態です。
REST APIが制限されている場合がある
ここは初心者がかなり詰まりやすいポイントです。
WordPress側の設定が正しくても、
- レンタルサーバー
- セキュリティプラグイン
- ファイアウォール
などがREST APIへの外部アクセスを制限している場合があります。
その場合、
- ユーザー名も正しい
- アプリケーションパスワードも正しい
- それでも接続できない
ということがあります。
認証設定だけでなく、WordPress REST APIが外部から利用できる状態か確認しましょう。
ただし、セキュリティ機能を必要以上に無効化するのはおすすめできません。
利用しているサーバーやセキュリティプラグインの公式情報を確認しながら設定してください。
Google SheetsのタイトルをWordPressへ渡す
WordPressノードのタイトル欄に、Google Sheetsから取得したタイトルを指定します。
n8nではExpressionを使って前のノードのデータを利用できます。
たとえば、
{{ $json["タイトル"] }}
のような形です。
意味は、
「現在のデータにあるタイトルを使う」
です。
ただし、自分で全部入力しなくても、INPUT欄からタイトルをドラッグして設定できる場合があります。
初心者はドラッグ&ドロップから始めても大丈夫です。
本文も同じように渡す
本文も同じです。
Google Sheetsの、
完成本文
をWordPressの本文欄へ指定します。
流れは、
Google Sheets
完成本文
↓
WordPress
Content
です。
これでスプレッドシートに入っている記事本文がWordPressへ送られます。
Markdownのままだと表示が崩れることがある
ここは重要です。
ChatGPTなどで作った文章には、
見出し
小見出し
太字
など、Markdown形式が使われることがあります。
しかしWordPressへそのまま送ると、期待した表示にならないことがあります。
そこで、
- Markdown
↓
HTMLへ整形
↓
WordPressへ送信
という処理を追加すると便利です。
WordPress用HTMLへ整形する
たとえば、
n8nとは?
という文章を、
<h2>n8nとは?</h2>
へ変換します。
通常本文なら、
<p>本文です。</p>
という形です。
OpenAIを使ってHTMLへ整形する方法もありますし、Codeノードなどで処理する方法もあります。
初心者なら、
Google Sheets
↓
OpenAIでHTML整形
↓
WordPress
という流れでも作れます。
HTML整形で注意すること
AIにHTML整形を任せる場合は、
- 記事内容を勝手に変更しない
- 要約しない
- 文章を削除しない
- URLを書き換えない
- すでにあるリンクを消さない
といった指示を入れておく方が安全です。
目的は、
記事を書き直すこと
ではなく、
WordPress用のHTMLへ整えること
だからです。
WordPressはまずDraftにする
WordPressノードの投稿ステータスは、
Draft
にします。
Draftは、
下書き
という意味です。
これでn8nが記事を作っても、すぐインターネット上へ公開されません。
WordPress管理画面から内容を確認して、問題がなければ公開します。
初心者ならこの形が安全です。
カテゴリ設定はどうする?
カテゴリも自動化できます。
ただし、ここで少し注意が必要です。
WordPressではカテゴリ名だけではなく、カテゴリIDを使う場合があります。
たとえば、
- n8n
=2 - ChatGPT
=3 - WordPress
=4 - AI自動化
=5
のように、それぞれIDがあります。
Google Sheetsに、
n8n
と入っている場合、
n8n
↓
カテゴリID 2
へ変換してWordPressへ送る仕組みを作れます。
カテゴリ変換はExpressionでもできる
たとえば、
n8nなら2
ChatGPTなら3
WordPressなら4
という対応表を作ってExpressionで変換できます。
ただしサイトによってカテゴリIDは違います。
他人の記事に書いてあるIDをそのまま使ってはいけません。
必ず自分のWordPressサイトのカテゴリIDを確認してください。
投稿後にGoogle Sheetsを更新する
WordPressへ投稿できたら、Google Sheetsを更新します。
たとえば、
入稿ステータス
=完了
WP投稿済み
=済
に変更します。
さらにWordPressから返ってきた投稿IDを、
管理ID
などの列へ保存しても便利です。
流れは、
Google Sheets
↓
WordPress下書き作成
↓
Google Sheets更新
です。
なぜ投稿IDを保存するの?
WordPressで記事を作ると、その記事にはIDが付きます。
たとえば、
123
という投稿IDです。
Google SheetsへこのIDを保存しておけば、
- あとで記事を更新する
- アイキャッチを設定する
- 投稿済みか確認する
といった処理がしやすくなります。
row_numberも重要
Google Sheetsの特定の行を更新するとき、
どの行を書き換えるのか
をn8nへ伝える必要があります。
そのときにrow_numberを使うことがあります。
たとえば、
Google Sheetsの15行目を取得
↓
WordPressへ投稿
↓
15行目を完了へ変更
という流れです。
別の行を間違って更新しないように注意しましょう。
まず1記事だけでテストする
最初から10記事、20記事を流さない方が安全です。
まずGoogle Sheetsにテスト記事を1件だけ用意します。
そして、
- Google Sheetsから取得できたか
- タイトルが正しいか
- 本文が正しいか
- WordPressに下書きができたか
- Google Sheetsが完了に変わったか
を確認します。
1件で成功してから件数を増やしましょう。
よくある失敗1:Google SheetsのDocumentが違う
ワークフローをコピーした場合によくあります。
新しいスプレッドシートを作ったのに、
n8nでは古いスプレッドシート
を見ている状態です。
Google Sheetsノードの、
Document
Sheet
を確認しましょう。
よくある失敗2:列名が違う
たとえばExpressionで、
{{ $json["完成本文"] }}
と書いているのに、Google Sheets側の列名が、
記事本文
なら値を取得できません。
列名とExpressionは合わせる必要があります。
OUTPUTを見ながら設定するのがおすすめです。
よくある失敗3:WordPressへ接続できない
原因はいくつか考えられます。
- サイトURLが違う
- ユーザー名が違う
- アプリケーションパスワードが違う
- REST APIが制限されている
- セキュリティ設定で止められている
などです。
Credentialのテストが失敗する場合は、1つずつ確認しましょう。
よくある失敗4:WordPressに本文が入らない
WordPressノードまで動いているのに、本文が空になることがあります。
この場合は、
- Google SheetsノードのOUTPUTに本文があるか
- WordPressのContent欄が正しいデータを参照しているか
を確認します。
WordPressノードだけを見るのではなく、1つ前のノードも確認しましょう。
よくある失敗5:同じ記事が2回投稿される
自動化では重複投稿にも注意が必要です。
たとえば、
WordPressへの投稿は成功
しかしGoogle Sheetsの「完了」更新に失敗
したとします。
もう一度ワークフローを実行すると、同じ記事を再び投稿する可能性があります。
対策として、
入稿待ち
↓
処理中
↓
完了
のようにステータスを分ける方法があります。
さらに投稿IDをGoogle Sheetsへ保存しておくと管理しやすくなります。
自動投稿より半自動化がおすすめ
初心者の場合、
完全自動投稿
より、
半自動入稿
の方が扱いやすいです。
たとえば、
記事をGoogle Sheetsへ準備
↓
n8n実行
↓
WordPressへ下書き
↓
人間が確認
↓
公開
という流れです。
これなら、
- コピペ作業は減らせる
- でも公開前の確認はできる
というバランスになります。
ChatGPTと組み合わせるとさらに便利
Google SheetsとWordPressの間にOpenAIを入れることもできます。
たとえば、
Google Sheets
↓
OpenAI
↓
WordPress
という流れです。
OpenAIでは、
- タイトル生成
- 本文整形
- HTML変換
- メタ情報作成
- カテゴリ判定
などができます。
つまり、
記事作成
↓
整形
↓
WordPress入稿
までつなげられます。
さらにアイキャッチ画像も自動化できる
少し発展すると、
- 記事内容から画像生成用の指示を作る
- 画像を生成する
- WordPressへ画像をアップロードする
- 記事のアイキャッチに設定する
という処理も作れます。
流れは、
Google Sheets
↓
AI処理
↓
画像生成
↓
WordPressへ画像アップロード
↓
記事作成
↓
アイキャッチ設定
です。
ただし最初からここまで作ると複雑になります。
まずは、
Google Sheets
↓
WordPress下書き
から始めるのがおすすめです。
どこまで自動化するべき?
全部自動にすればいいわけではありません。
たとえば、
記事テーマを決める
↓
AIで本文作成
↓
自動投稿
↓
自動公開
まで人間が確認しない仕組みにすると、内容の間違いや表示崩れに気づきにくくなります。
初心者の場合は、
記事作成
↓
WordPress下書きまで自動化
↓
最後は人間が確認
くらいから始めると安全です。
自分で作る場合に詰まりやすいポイント
仕組みだけ見ると、
Google Sheets
↓
WordPress
なので簡単に見えます。
しかし実際に作ると、
- Google Credential
- WordPress Credential
- アプリケーションパスワード
- REST API
- Expression
- row_number
- カテゴリID
- HTML整形
- 投稿ステータス管理
など、細かい設定がいくつもあります。
1つずつ理解すれば作れますが、初めてn8nを触る人にとっては、この初期設定で時間がかかりやすい部分です。
すぐ試したい人向けのn8nテンプレート
「仕組みはわかったけど、最初から全部組むのは大変そう」
という方向けに、GoogleスプレッドシートとWordPressを使ったn8nテンプレートを用意しています。
私自身がWordPressの記事入稿を自動化するときに使ってきた構成をベースに、
ChatGPTで作った記事
↓
n8n
↓
WordPressへ半自動入稿
できる形にしたテンプレートです。
ココナラで、
「ChatGPTで作った記事をWordPressへ半自動入稿するn8nテンプレート Lite」
として公開しています。
すでに完成したワークフローをベースに、自分のGoogle SheetsやWordPressへ接続して使いたい方向けです。
自分でゼロから作りながらn8nを覚えたい人は、この記事の手順から作ってみるのがおすすめです。
一方、
- まず動く形を見たい
- 設定時間を減らしたい
- 実際のワークフローを参考にしたい
という場合は、テンプレートを使う方法もあります。
テンプレートを使っても設定は必要
ここも注意が必要です。
n8nテンプレートを読み込めば、
何も設定せずそのまま動く
わけではありません。
利用する環境に合わせて、
- Googleアカウント接続
- 対象スプレッドシート
- WordPress URL
- WordPress Credential
- カテゴリ
- API設定
などを変更する必要があります。
テンプレートは、
「ワークフローをゼロから組む作業を減らすもの」
と考えるのがわかりやすいです。
この記事の自動化から広げられること
Google SheetsからWordPressへ投稿できるようになると、さらにいろいろな自動化へ広げられます。
たとえば、
- ChatGPTでタイトル生成
- AIで記事本文をHTML整形
- カテゴリ自動設定
- アイキャッチ生成
- メタディスクリプション作成
- 投稿完了をGoogle Sheetsへ記録
- SNS投稿文を生成
などです。
最初の、
Google Sheets
↓
WordPress
が土台になります。
初心者はこの順番で作ろう
最初から全部自動化すると複雑になります。
おすすめは次の順番です。
- Google Sheetsから1記事取得する
- WordPress Credentialを設定する
- タイトルだけ下書き投稿する
- 本文も送る
- Google Sheetsを完了に更新する
- カテゴリ設定を追加する
- 必要ならOpenAIを追加する
- 必要なら画像処理を追加する
この順番なら、どこで失敗したか見つけやすくなります。
まとめ
n8nを使うと、Googleスプレッドシートで管理している記事をWordPressへ自動で送れます。
基本の流れは、
Google Sheets
↓
記事取得
↓
WordPress
↓
下書き作成
↓
Google Sheets更新
です。
これだけでも、
- タイトルのコピペ
- 本文のコピペ
- 下書き作成
- 投稿済み管理
といった作業を減らせます。
さらにOpenAIを追加すれば、
記事生成
↓
HTML整形
↓
WordPress入稿
まで広げることもできます。
初心者なら、最初から完全自動公開を目指す必要はありません。
まずは、
「WordPressの下書きまで自動化する」
ところから始めるのがおすすめです。
そして、
自分で仕組みを理解しながら作りたい
ならこの記事を見ながら1つずつ作る。
一方で、
最初から組む時間を減らしたい
完成形を参考にしたい
という場合は、完成済みのn8nテンプレートを利用する方法もあります。
自分に合った方法で、まず1記事をWordPressへ下書き保存できるところまで試してみましょう。
注意事項
n8nやWordPressはアップデートによって、ノード名、画面表示、設定項目などが変更される場合があります。
この記事では執筆時点の公式情報をもとに基本的な仕組みを解説しています。
WordPressのアプリケーションパスワードは、通常の管理画面ログイン用パスワードとは別の認証情報です。外部ツールとの連携専用として扱い、第三者へ共有しないようにしてください。
WordPress公式では、Application PasswordsをREST APIなど外部アプリからの認証に使用でき、不要になった認証情報は個別に無効化できます。
また、外部からWordPressへ接続する場合はHTTPSを利用してください。
セキュリティプラグインやレンタルサーバーによってREST APIへのアクセスが制限されている場合があります。制限を変更する場合は、利用中のサービスの公式情報を確認したうえで行ってください。
最初から大量の記事を処理せず、テスト用の記事1件で動作確認してから本番運用することをおすすめします。
AIで生成した記事を利用する場合も、内容の正確性、リンク、表示、著作権などを公開前に確認してください。
参考・公式情報
- ・n8n公式ドキュメント
- ・n8n公式ドキュメント「Google Sheets」
- ・n8n公式ドキュメント「Data Mapping / Expressions」
- ・WordPress Developer Resources「REST API Handbook」
- ・WordPress Developer Resources「Authentication」
- ・WordPress Developer Resources「Application Passwords」
n8nやWordPressは継続的に更新されるため、実際の設定画面と異なる場合は最新の公式ドキュメントも確認してください。
次に読む記事
自分で組み立てる時間を減らしたい方へ
この記事の手順を自分で試す方法に加え、設定の土台として使える販売テンプレートも用意しています。
- WordPress記事入稿 Liteの商品内容・価格を見る(ココナラ)
用意した記事をHTMLに整えてWordPressへ下書き保存。 自動公開はしません。Google Sheets・OpenAI・WordPressの接続設定が必要です。
ご自身の環境に合わせた初期設定が必要です。OpenAIを使う商品ではAPI利用料金が別途かかります。購入前に販売ページの対応範囲をご確認ください。