Automatisierung der Blog-Erstellung und -Veröffentlichung mit OpenAI und WordPress

Fortgeschritten

Dies ist ein Content Creation, Multimodal AI-Bereich Automatisierungsworkflow mit 6 Nodes. Hauptsächlich werden Set, OpenAi, WordPress, ManualTrigger und andere Nodes verwendet. Automatisierung der Blog-Erstellung und -Veröffentlichung mit OpenAI und WordPress

Voraussetzungen
  • OpenAI API Key
Workflow-Vorschau
Visualisierung der Node-Verbindungen, mit Zoom und Pan
Workflow exportieren
Kopieren Sie die folgende JSON-Konfiguration und importieren Sie sie in n8n
{
  "nodes": [
    {
      "name": "Manueller 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": "Manueller-Trigger-0"
    },
    {
      "name": "Blog-Thema setzen",
      "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": "Blog-Thema-setzen-1"
    },
    {
      "name": "Titel generieren",
      "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": "Titel-generieren-2"
    },
    {
      "name": "Textkörper generieren",
      "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": "Textk-rper-generieren-3"
    },
    {
      "name": "Content vorbereiten",
      "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": "Content-vorbereiten-4"
    },
    {
      "name": "Auf WordPress veröffentlichen",
      "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": "Auf-WordPress-ver-ffentlichen-5"
    }
  ],
  "pinData": {},
  "version": 1,
  "connections": {
    "Textk-rper-generieren-3": {
      "main": [
        [
          {
            "node": "Content-vorbereiten-4",
            "type": "main"
          }
        ]
      ]
    },
    "Titel-generieren-2": {
      "main": [
        [
          {
            "node": "Textk-rper-generieren-3",
            "type": "main"
          }
        ]
      ]
    },
    "Manueller-Trigger-0": {
      "main": [
        [
          {
            "node": "Blog-Thema-setzen-1",
            "type": "main"
          }
        ]
      ]
    },
    "Blog-Thema-setzen-1": {
      "main": [
        [
          {
            "node": "Titel-generieren-2",
            "type": "main"
          }
        ]
      ]
    },
    "Content-vorbereiten-4": {
      "main": [
        [
          {
            "node": "Auf-WordPress-ver-ffentlichen-5",
            "type": "main"
          }
        ]
      ]
    }
  }
}
Häufig gestellte Fragen

Wie verwende ich diesen Workflow?

Kopieren Sie den obigen JSON-Code, erstellen Sie einen neuen Workflow in Ihrer n8n-Instanz und wählen Sie "Aus JSON importieren". Fügen Sie die Konfiguration ein und passen Sie die Anmeldedaten nach Bedarf an.

Für welche Szenarien ist dieser Workflow geeignet?

Fortgeschritten - Content-Erstellung, Multimodales KI

Ist es kostenpflichtig?

Dieser Workflow ist völlig kostenlos. Beachten Sie jedoch, dass Drittanbieterdienste (wie OpenAI API), die im Workflow verwendet werden, möglicherweise kostenpflichtig sind.

Workflow-Informationen
Schwierigkeitsgrad
Fortgeschritten
Anzahl der Nodes6
Kategorie2
Node-Typen4
Schwierigkeitsbeschreibung

Für erfahrene Benutzer, mittelkomplexe Workflows mit 6-15 Nodes

Autor
Piotr Sobolewski

Piotr Sobolewski

@piotrsobolewski

AI PhD with 7 years experience as a game dev CEO, currently teaching, helping others and building something new.

Externe Links
Auf n8n.io ansehen

Diesen Workflow teilen

Kategorien

Kategorien: 34