OpenAIとWordPressを使用したブログコンテンツの自動生成と公開
中級
これはContent Creation, Multimodal AI分野の自動化ワークフローで、6個のノードを含みます。主にSet, OpenAi, WordPress, ManualTriggerなどのノードを使用。 OpenAI と WordPress でブログコンテンツ生成と公開を自動化
前提条件
- •OpenAI API Key
使用ノード (6)
ワークフロープレビュー
ノード接続関係を可視化、ズームとパンをサポート
ワークフローをエクスポート
以下のJSON設定をn8nにインポートして、このワークフローを使用できます
{
"nodes": [
{
"name": "Manual Trigger",
"type": "n8n-nodes-base.manualTrigger",
"notes": {
"text": "### 1. Start Workflow\n\nThis `Manual Trigger` node is used for easy testing. \n\n**To trigger the workflow manually:** Click the 'Execute Workflow' button in the top right.\n\n**For production:** Consider replacing this with a `Cron` node (for scheduled posts) or a `Webhook` node (to trigger from another app, like a Google Sheet entry or a custom form).\n",
"position": "right"
},
"position": [
240,
300
],
"parameters": {},
"typeVersion": 1,
"id": "Manual-Trigger-0"
},
{
"name": "ブログトピック設定",
"type": "n8n-nodes-base.set",
"notes": {
"text": "### 2. Define Blog Topic\n\nThis `Set` node defines the core topic for your blog post.\n\n**How to use:**\n* **For testing:** Directly edit the 'Value' field with your desired topic.\n* **For production:** You can replace this fixed value with data from a previous node (e.g., a Google Sheet, an Airtable record, or a Webhook input) using an expression like `{{ $json.yourInputFieldName }}`.",
"position": "right"
},
"position": [
460,
300
],
"parameters": {
"values": [
{
"name": "blogTopic",
"value": "The Future of Remote Work: Trends and Challenges"
}
],
"options": {}
},
"typeVersion": 2,
"id": "--1"
},
{
"name": "タイトル生成",
"type": "n8n-nodes-base.openAi",
"notes": {
"text": "### 3. Generate Blog Post Title (AI)\n\nThis `OpenAI` node calls the OpenAI API to generate a compelling title based on the `blogTopic`.\n\n**Setup:**\n1. **OpenAI Credential:** Click on 'Credentials' (above the 'Model' dropdown) and select 'New Credential'. Provide your OpenAI API Key (starts with `sk-`). Save it.\n2. **Model:** You can change `gpt-3.5-turbo` to `gpt-4o` for potentially better results (but higher cost), or if you prefer a different model.\n\n**Output:** The generated title will be available in `{{ $node[\"Generate Title\"].json.choices[0].message.content }}`.",
"position": "right"
},
"position": [
700,
300
],
"parameters": {
"model": "gpt-3.5-turbo",
"options": {},
"messages": [
{
"role": "system",
"content": "You are a professional blogger. Your task is to generate concise and engaging blog post titles."
},
{
"role": "user",
"content": "Generate a blog post title for the topic: {{ $json.blogTopic }}"
}
]
},
"credentials": {
"openAiApi": {
"id": "YOUR_OPENAI_CREDENTIAL_ID",
"resolve": false
}
},
"typeVersion": 1,
"id": "--2"
},
{
"name": "本文生成",
"type": "n8n-nodes-base.openAi",
"notes": {
"text": "### 4. Generate Blog Post Body (AI)\n\nThis second `OpenAI` node generates the full content of your blog post.\n\n**Setup:**\n1. **Credentials:** Select the same OpenAI credential you created for the 'Generate Title' node.\n2. **Model:** Ensure this matches your preference (e.g., `gpt-3.5-turbo` or `gpt-4o`).\n3. **Prompts:** The 'User' prompt feeds in both the original topic and the title generated in the previous step, providing context for the AI.\n\n**Output:** The full blog post body will be in `{{ $node[\"Generate Body\"].json.choices[0].message.content }}`.",
"position": "right"
},
"position": [
940,
300
],
"parameters": {
"model": "gpt-3.5-turbo",
"options": {},
"messages": [
{
"role": "system",
"content": "You are a professional blogger. Write a detailed, well-structured blog post with an introduction, several body paragraphs, and a clear conclusion. Use Markdown for headings, bold text, and lists. Ensure the content is engaging and informative for a general audience."
},
{
"role": "user",
"content": "Write a blog post about: {{ $json.blogTopic }}\n\nUse the title: {{ $node[\"Generate Title\"].json.choices[0].message.content }}"
}
]
},
"credentials": {
"openAiApi": {
"id": "YOUR_OPENAI_CREDENTIAL_ID",
"resolve": false
}
},
"typeVersion": 1,
"id": "--3"
},
{
"name": "コンテンツ準備",
"type": "n8n-nodes-base.set",
"notes": {
"text": "### 5. Prepare Content for Publishing\n\nThis `Set` node consolidates and renames the generated title and body into easily accessible fields (`blogPostTitle` and `blogPostBody`). This makes it cleaner to reference them in the final WordPress publishing step.\n\n**No specific setup needed here**, it just maps the data from the previous AI nodes.",
"position": "right"
},
"position": [
1180,
300
],
"parameters": {
"values": [
{
"name": "blogPostTitle",
"value": "={{ $node[\"Generate Title\"].json.choices[0].message.content }}"
},
{
"name": "blogPostBody",
"value": "={{ $node[\"Generate Body\"].json.choices[0].message.content }}"
}
],
"options": {}
},
"typeVersion": 2,
"id": "--4"
},
{
"name": "WordPress へ公開",
"type": "n8n-nodes-base.wordPress",
"notes": {
"text": "### 6. Publish to WordPress\n\nThis `WordPress` node creates a new post on your WordPress site using the AI-generated content.\n\n**Setup:**\n1. **WordPress Credential:** Click 'Credentials' and select 'New Credential'.\n * **Authentication:** Choose `User & Password`.\n * **WordPress URL:** Enter your full WordPress site URL (e.g., `https://yourdomain.com`).\n * **Username:** Your WordPress admin username.\n * **Password:** Your WordPress admin password.\n2. **Title & Content:** These fields are pre-filled with expressions to pull data from the 'Prepare Content' node.\n3. **Status:** Set to `publish` to make the post live immediately. Change to `draft` if you want to review it manually before publishing.\n\n**After successful execution, visit your WordPress site to see the new post!**",
"position": "right"
},
"position": [
1420,
300
],
"parameters": {
"title": "={{ $json.blogPostTitle }}",
"status": "publish",
"content": "={{ $json.blogPostBody }}",
"options": {},
"resource": "post",
"operation": "create"
},
"credentials": {
"wordPressApi": {
"id": "YOUR_WORDPRESS_CREDENTIAL_ID",
"resolve": false
}
},
"typeVersion": 2,
"id": "WordPress--5"
}
],
"pinData": {},
"version": 1,
"connections": {
"--3": {
"main": [
[
{
"node": "--4",
"type": "main"
}
]
]
},
"--2": {
"main": [
[
{
"node": "--3",
"type": "main"
}
]
]
},
"Manual-Trigger-0": {
"main": [
[
{
"node": "--1",
"type": "main"
}
]
]
},
"--1": {
"main": [
[
{
"node": "--2",
"type": "main"
}
]
]
},
"--4": {
"main": [
[
{
"node": "WordPress--5",
"type": "main"
}
]
]
}
}
}よくある質問
このワークフローの使い方は?
上記のJSON設定コードをコピーし、n8nインスタンスで新しいワークフローを作成して「JSONからインポート」を選択、設定を貼り付けて認証情報を必要に応じて変更してください。
このワークフローはどんな場面に適していますか?
中級 - コンテンツ作成, マルチモーダルAI
有料ですか?
このワークフローは完全無料です。ただし、ワークフローで使用するサードパーティサービス(OpenAI APIなど)は別途料金が発生する場合があります。
関連ワークフロー
OpenAIとGmailを使用してポッドキャストの文字起こしを要約し、キーワードを生成
OpenAIとGmailを使用してポッドキャストの字幕を要約し、キーワードを生成する
Set
Gmail
Open Ai
+
Set
Gmail
Open Ai
6 ノードPiotr Sobolewski
コンテンツ作成
AIゲスト記事ジェネレーターとOpenAI及びGoogle Sheets自動化
AIゲスト記事ジェネレーターとOpenAI及びGoogle Sheets自動化
If
Set
Open Ai
+
If
Set
Open Ai
7 ノードJuan de Dios Estrella Sáez
コンテンツ作成
AI駆動の製品調査と価格比較 - Google検索とOpenAI
Google検索とOpenAIを活用したAI駆動の製品調査と価格比較
Set
Gmail
Open Ai
+
Set
Gmail
Open Ai
8 ノードPiotr Sobolewski
市場調査
Telegram AI歌詞学習ボット — 翻訳、要約、語彙
Telegram AI歌詞学習ボット — 翻訳、要約、語彙
If
Set
Code
+
If
Set
Code
30 ノードRaphael De Carvalho Florencio
コンテンツ作成
コンテンツジェネレーター v3
AI驱动ブログ自動化:使用GPT-4生成并公開SEO記事至WordPressとTwitter
If
Set
Code
+
If
Set
Code
144 ノードJay Emp0
コンテンツ作成
AI驱动のメール分诊与自動回复系统,統合OpenAIエージェントとGmail
AI驱动のメール分诊与自動回复系统,統合OpenAIエージェントとGmail
If
Set
Gmail
+
If
Set
Gmail
68 ノードAbdullahi Ahmed
コンテンツ作成
ワークフロー情報
難易度
中級
ノード数6
カテゴリー2
ノードタイプ4
作成者
Piotr Sobolewski
@piotrsobolewskiAI PhD with 7 years experience as a game dev CEO, currently teaching, helping others and building something new.
外部リンク
n8n.ioで表示 →
このワークフローを共有