AutomationFlowsContent & Video › Automate SEO Blog Post Creation and Publishing with Openai & Wordpress

Automate SEO Blog Post Creation and Publishing with Openai & Wordpress

ByKhaisa Studio @khaisastudio on n8n.io

AI WordPress - SEO Content Generator automates creating and publishing SEO-friendly blog articles on WordPress. It combines AI technologies like OpenAI and OpenRouter to craft catchy titles, write 1500+ word articles, generate natural featured images, and publish everything…

Cron / scheduled trigger★★★★☆ complexityAI-powered22 nodesChain LlmOpenAIHTTP RequestOpenAI ChatTelegram TriggerWordPressOpenRouter ChatOutput Parser Structured
Content & Video Trigger: Cron / scheduled Nodes: 22 Complexity: ★★★★☆ AI nodes: yes Added:

This workflow corresponds to n8n.io template #7038 — we link there as the canonical source.

This workflow follows the Chainllm → HTTP Request recipe pattern — see all workflows that pair these two integrations.

The workflow JSON

Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →

Download .json
{
  "nodes": [
    {
      "id": "76dbfac0-fe7f-4a79-9d7a-197e57e3b642",
      "name": "Topic Chooser and Title Maker",
      "type": "@n8n/n8n-nodes-langchain.chainLlm",
      "position": [
        336,
        208
      ],
      "parameters": {},
      "typeVersion": 1.6
    },
    {
      "id": "49e846e4-bd87-4fa9-a661-b5d3ed719561",
      "name": "Basic LLM Chain",
      "type": "@n8n/n8n-nodes-langchain.chainLlm",
      "position": [
        688,
        208
      ],
      "parameters": {},
      "typeVersion": 1.6
    },
    {
      "id": "bae35281-c0a5-48af-ab52-b9e62b561ec9",
      "name": "OpenAI - Generate Image",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "position": [
        1264,
        208
      ],
      "parameters": {},
      "typeVersion": 1.8
    },
    {
      "id": "a6d5dba6-54da-4d26-89a5-90c5a9ee450c",
      "name": "Upload Image to WP",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1488,
        208
      ],
      "parameters": {},
      "typeVersion": 4.2
    },
    {
      "id": "21b9f00a-4904-467d-91cb-f6f00db2e697",
      "name": "Wordpress - Set Featured Image",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1712,
        208
      ],
      "parameters": {},
      "typeVersion": 4.2
    },
    {
      "id": "85afc2ca-e0d6-4c9d-80a6-258861f5176c",
      "name": "Schedule Trigger",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        112,
        304
      ],
      "parameters": {},
      "typeVersion": 1.2
    },
    {
      "id": "d8447a15-4e04-4056-8b04-e346914c7577",
      "name": "Article Generator",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        688,
        368
      ],
      "parameters": {},
      "typeVersion": 1.2
    },
    {
      "id": "cae1fda6-32a9-44f6-8482-833e79226cf0",
      "name": "Telegram Trigger",
      "type": "n8n-nodes-base.telegramTrigger",
      "position": [
        -112,
        112
      ],
      "parameters": {},
      "typeVersion": 1.2
    },
    {
      "id": "b5bcfda1-7004-4465-828c-18d41423278f",
      "name": "If",
      "type": "n8n-nodes-base.if",
      "position": [
        112,
        112
      ],
      "parameters": {},
      "typeVersion": 2.2
    },
    {
      "id": "63886a15-2045-43b1-80a6-3574134aa8e4",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -368,
        480
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "54c8e94c-0356-46ab-a4db-67c741facdda",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1344,
        512
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "279e6bce-b635-4e16-9117-e2eecbc9c1f0",
      "name": "Get",
      "type": "n8n-nodes-base.wordpress",
      "position": [
        1040,
        208
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "da921683-2a0a-4901-80cc-59605aa3c058",
      "name": "Set Valid Category",
      "type": "n8n-nodes-base.set",
      "position": [
        448,
        656
      ],
      "parameters": {},
      "typeVersion": 3.4
    },
    {
      "id": "ce40b7b2-10a1-407d-8569-8c48d9885390",
      "name": "Category Mapping",
      "type": "n8n-nodes-base.code",
      "position": [
        1104,
        656
      ],
      "parameters": {},
      "typeVersion": 2
    },
    {
      "id": "5efd463f-c52a-43b7-9fe9-4d0e2bb77a22",
      "name": "\ud83d\udce6 Format Final Data",
      "type": "n8n-nodes-base.set",
      "position": [
        672,
        656
      ],
      "parameters": {},
      "typeVersion": 3.4
    },
    {
      "id": "3fa76244-7b34-4761-a01e-a72680553392",
      "name": "Get Categories",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        224,
        656
      ],
      "parameters": {},
      "typeVersion": 4.2
    },
    {
      "id": "b8781242-cfbb-45e4-a066-cb84b67e914f",
      "name": "\ud83d\ude80 Publish",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        896,
        656
      ],
      "parameters": {},
      "retryOnFail": true,
      "typeVersion": 4.2
    },
    {
      "id": "bcf19367-7d34-47f1-b023-8b5719aa6421",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        160,
        576
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "d59cd82e-554c-42de-a2a6-a847b38043d0",
      "name": "Metadata Generator",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenRouter",
      "position": [
        336,
        368
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "cc8c2918-d179-40b6-a4e3-d67d013e7416",
      "name": "Parser",
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "position": [
        480,
        368
      ],
      "parameters": {},
      "typeVersion": 1.2
    },
    {
      "id": "beb57cbd-3c57-4c5d-8a0c-bf6ba6757e36",
      "name": "alt",
      "type": "@n8n/n8n-nodes-langchain.lmChatAzureOpenAi",
      "position": [
        832,
        368
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "f180f1e1-36bb-453f-8419-7a96bea89820",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        272,
        336
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    }
  ],
  "connections": {
    "If": {
      "main": [
        [
          {
            "node": "Topic Chooser and Title Maker",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get": {
      "main": [
        [
          {
            "node": "OpenAI - Generate Image",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Parser": {
      "ai_outputParser": [
        [
          {
            "node": "Topic Chooser and Title Maker",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    },
    "Basic LLM Chain": {
      "main": [
        [
          {
            "node": "Get",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Schedule Trigger": {
      "main": [
        [
          {
            "node": "Topic Chooser and Title Maker",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Telegram Trigger": {
      "main": [
        [
          {
            "node": "If",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Article Generator": {
      "ai_languageModel": [
        [
          {
            "node": "Basic LLM Chain",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Metadata Generator": {
      "ai_languageModel": [
        [
          {
            "node": "Topic Chooser and Title Maker",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Upload Image to WP": {
      "main": [
        [
          {
            "node": "Wordpress - Set Featured Image",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "OpenAI - Generate Image": {
      "main": [
        [
          {
            "node": "Upload Image to WP",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Topic Chooser and Title Maker": {
      "main": [
        [
          {
            "node": "Basic LLM Chain",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
Pro

For the full experience including quality scoring and batch install features for each workflow upgrade to Pro

About this workflow

AI WordPress - SEO Content Generator automates creating and publishing SEO-friendly blog articles on WordPress. It combines AI technologies like OpenAI and OpenRouter to craft catchy titles, write 1500+ word articles, generate natural featured images, and publish everything…

Source: https://n8n.io/workflows/7038/ — original creator credit. Request a take-down →

More Content & Video workflows → · Browse all categories →

Related workflows

Workflows that share integrations, category, or trigger type with this one. All free to copy and import.

Content & Video

The best content automation in the market! This advanced workflow not only creates and publishes SEO-optimized blog posts to your WordPress website but also backs up all content and images to a design

OpenAI, Output Parser Structured, Chain Llm +8
Content & Video

The Ultimate Guide to Optimize WordPress Blog Posts with AI. Uses manualTrigger, googleSheets, openAi, wordpress. Event-driven trigger; 21 nodes.

Google Sheets, OpenAI, WordPress +4
Content & Video

This workflow automates the process of creating a complete SEO-optimized blog post, including generating content, titles, images, and meta tags, and publishing it on WordPress. It leverages AI models

Google Sheets, OpenAI, WordPress +4
Content & Video

100% autonomous workflow that transforms YouTube videos into unique, high-quality, SEO-optimized blog articles and automatically publishes them to WordPress. No human intervention required: it uses Yo

HTTP Request, Stop And Error, Google Sheets +8
Content & Video

This template is ideal for creators, bloggers, and automation enthusiasts who want to auto-generate blog posts from AI-generated content — without lifting a finger. Whether you're running a tech blog,

HTTP Request, WordPress, Rss Feed Read Trigger +4