{
  "name": "WordPress blog automation: AI SEO content, images, scheduling & email alerts",
  "nodes": [
    {
      "id": "25d49ecf-2a4c-4e08-8060-6b62c2a9cfce",
      "name": "Aggregate",
      "type": "n8n-nodes-base.aggregate",
      "position": [
        784,
        176
      ]
    },
    {
      "id": "49689745-b9b2-4d7e-ab27-a580dad65c95",
      "name": "Edit Fields",
      "type": "n8n-nodes-base.set",
      "position": [
        -272,
        176
      ]
    },
    {
      "id": "c7750f10-5c86-4fcf-bb3f-c0ef956fe312",
      "name": "Schedule Trigger1",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        -1040,
        192
      ]
    },
    {
      "id": "8602bed6-8bb6-4012-a46b-9023985e68a6",
      "name": "Split Out",
      "type": "n8n-nodes-base.splitOut",
      "position": [
        576,
        176
      ]
    },
    {
      "id": "d43855d7-c80d-481f-8026-8264e2c498de",
      "name": "XML",
      "type": "n8n-nodes-base.xml",
      "position": [
        384,
        176
      ]
    },
    {
      "id": "d8f59b65-eb1e-4341-9119-420a8b964525",
      "name": "Code in JavaScript",
      "type": "n8n-nodes-base.code",
      "position": [
        -576,
        688
      ]
    },
    {
      "id": "a0a0aab7-b47e-4e28-b399-1df9a20ebc97",
      "name": "Send to Wordpress2",
      "type": "n8n-nodes-base.wordpress",
      "position": [
        -272,
        688
      ]
    },
    {
      "id": "424161ae-b7b4-4a93-a9b8-2b9ef8a7e226",
      "name": "Code in JavaScript1",
      "type": "n8n-nodes-base.code",
      "position": [
        560,
        688
      ]
    },
    {
      "id": "0759fb60-48d5-45c0-a733-68f595dcf13b",
      "name": "Get post information from Spreadsheet",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        -784,
        192
      ]
    },
    {
      "id": "a7a4b2d0-f563-4bf1-a97c-8822eb0452b9",
      "name": "Compare date of spreadsheet and todays",
      "type": "n8n-nodes-base.if",
      "position": [
        -528,
        192
      ]
    },
    {
      "id": "ced37102-7938-41f0-b0d5-e7dd3aca6e9d",
      "name": "GET information from sitemap",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        192,
        176
      ]
    },
    {
      "id": "3ce06a80-cb7c-4691-bef2-fa26783637f8",
      "name": "Generate all the necessary information of post",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "position": [
        -1008,
        688
      ]
    },
    {
      "id": "ea5ac65c-607a-48eb-ba66-ba7ee6ab1d64",
      "name": "GET image",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        288,
        688
      ]
    },
    {
      "id": "12682eba-7385-41e4-a1ff-2e3abf741e17",
      "name": "Edit Feature Image",
      "type": "n8n-nodes-base.editImage",
      "position": [
        816,
        688
      ]
    },
    {
      "id": "7e97a557-b0d0-4f5c-827b-663ea936114b",
      "name": "Upload feature image",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -960,
        1152
      ]
    },
    {
      "id": "0b2f6974-87c2-4acf-bc13-56de0ad291cc",
      "name": "Design the post",
      "type": "n8n-nodes-base.html",
      "position": [
        -48,
        1152
      ]
    },
    {
      "id": "0f35171c-e5bb-4bd0-a509-49b6aecc4e01",
      "name": "Added post excerpt",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        528,
        1152
      ]
    },
    {
      "id": "53d8bfb9-5d32-4909-ad24-e04fcc82dbfd",
      "name": "Added meta title, meta description and meta image for post",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -288,
        1584
      ]
    },
    {
      "id": "03e2ff32-2de3-4879-b109-f6d94b0f0d3c",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -2224,
        160
      ],
      "parameters": {
        "width": 1040,
        "height": 1136,
        "content": "# How it works\n## This workflow automates scheduled WordPress publishing using content stored in a Google Sheet. Every day at the set time, it checks the sheet for posts scheduled for today. If a matc"
      }
    },
    {
      "id": "f895c711-415c-4902-bd3c-1af9c1dd547b",
      "name": "Sticky Note5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1088,
        64
      ],
      "parameters": {
        "width": 992,
        "height": 320,
        "content": "## STEP 1: 🟦 Trigger & Spreadsheet Input\n\n#### Retrieves spreadsheet data, checks if today is the publish date, and prepares all fields needed for the article generation."
      }
    },
    {
      "id": "78b0b38f-ceae-42a1-9380-12bab549c93d",
      "name": "Sticky Note6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        0,
        0
      ],
      "parameters": {
        "width": 960,
        "height": 384,
        "content": "## STEP 2:  🟨 Sitemap Fetching and Internal Link Collector\n\n###  1. Downloads your post sitemap and converts it into an XML structure for parsing.\n###  2.  Extracts blog URLs from the sitemap and aggr"
      }
    },
    {
      "id": "899a0d72-2351-4822-b3fb-87aae0762542",
      "name": "Sticky Note7",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1024,
        464
      ],
      "parameters": {
        "width": 960,
        "height": 384,
        "content": "## STEP 3:  🟩 AI Content Generation and WordPress Publisher\n\n###  1. Generates structured article content using your keyword set. Code nodes convert the OpenAI JSON into a final HTML article + formatt"
      }
    },
    {
      "id": "a5b6d91b-939e-43f9-bd16-d6fefefdf291",
      "name": "Sticky Note8",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        80,
        464
      ],
      "parameters": {
        "width": 960,
        "height": 384,
        "content": "## STEP 4:  🟩 GET image and editImage\n\n###  1. Fetch Base Feature Image\n###  2. Create SEO-Friendly Feature Image"
      }
    },
    {
      "id": "e92a15ae-88e7-4a04-a1ec-ab18fb6df562",
      "name": "Sticky Note9",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -992,
        960
      ],
      "parameters": {
        "width": 736,
        "height": 384,
        "content": "## STEP 5:  🟧 Upload Generated Featured Image and Add SEO-Friendly Image Meta\n\n###  1. Uploaded the created image at media library and used as a feature image for the post\n###  2. Adds SEO-friendly:  "
      }
    },
    {
      "id": "b102f651-4714-495f-88ae-3462ae3b5231",
      "name": "Sticky Note10",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -192,
        928
      ],
      "parameters": {
        "width": 496,
        "height": 384,
        "content": "## STEP 6:  🟪 HTML Post Template Renderer\n\n###  Builds the blog post HTML using the AI-generated title + article content. This node formats output inside a styled <html> layout for WordPress publishin"
      }
    },
    {
      "id": "0c2ec22a-10dd-411f-afba-baa82eee0184",
      "name": "Sticky Note11",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        432,
        928
      ],
      "parameters": {
        "width": 544,
        "height": 416,
        "content": "## STEP 7:  🟪 Post Excerpt Builder and Featured Image Meta Writer\n\n###  1. Creates a short summary of the article for WordPress. Used for SEO, search results, and theme previews.\n###  2. Adds SEO meta"
      }
    },
    {
      "id": "67aae0e0-a3af-4d0d-b8d5-984a7bcc603f",
      "name": "Post feature image meta information",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        832,
        1152
      ]
    },
    {
      "id": "3cd53bf8-7264-441b-a472-3ce1b22cca34",
      "name": "Added feature image meta information",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -560,
        1152
      ]
    },
    {
      "id": "b01e492f-12ac-4f22-baf5-f5a806253e4b",
      "name": "Sticky Note12",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -656,
        1408
      ],
      "parameters": {
        "width": 624,
        "height": 352,
        "content": "## STEP 7:  🟧 SEO Meta Writer\n\n###  Adds Yoast-based SEO fields to the WordPress post: meta title, meta description, OpenGraph image/title/description, Twitter card metadata. you can also write for ot"
      }
    },
    {
      "id": "40462181-36f2-4c6e-b33a-0972779e0143",
      "name": "Sticky Note13",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        64,
        1424
      ],
      "parameters": {
        "width": 592,
        "height": 320,
        "content": "## STEP 8:  🟩 Email Node – Send Draft Notification\n\n### Sends the email to admin for publishing the post to website"
      }
    },
    {
      "id": "4fc41079-901c-4e9c-8497-d3ed7f907fee",
      "name": "Send a Email to admin",
      "type": "n8n-nodes-base.gmail",
      "position": [
        240,
        1584
      ]
    }
  ],
  "connections": {
    "XML": {
      "main": [
        [
          {
            "node": "Split Out",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Aggregate": {
      "main": [
        [
          {
            "node": "Generate all the necessary information of post",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "GET image": {
      "main": [
        [
          {
            "node": "Code in JavaScript1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Split Out": {
      "main": [
        [
          {
            "node": "Aggregate",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Edit Fields": {
      "main": [
        [
          {
            "node": "GET information from sitemap",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Design the post": {
      "main": [
        [
          {
            "node": "Added post excerpt",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Schedule Trigger1": {
      "main": [
        [
          {
            "node": "Get post information from Spreadsheet",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Added post excerpt": {
      "main": [
        [
          {
            "node": "Post feature image meta information",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Code in JavaScript": {
      "main": [
        [
          {
            "node": "Send to Wordpress2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Edit Feature Image": {
      "main": [
        [
          {
            "node": "Upload feature image",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Send to Wordpress2": {
      "main": [
        [
          {
            "node": "GET image",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Code in JavaScript1": {
      "main": [
        [
          {
            "node": "Edit Feature Image",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Upload feature image": {
      "main": [
        [
          {
            "node": "Added feature image meta information",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "GET information from sitemap": {
      "main": [
        [
          {
            "node": "XML",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Post feature image meta information": {
      "main": [
        [
          {
            "node": "Added meta title, meta description and meta image for post",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Added feature image meta information": {
      "main": [
        [
          {
            "node": "Design the post",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get post information from Spreadsheet": {
      "main": [
        [
          {
            "node": "Compare date of spreadsheet and todays",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Compare date of spreadsheet and todays": {
      "main": [
        [
          {
            "node": "Edit Fields",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Generate all the necessary information of post": {
      "main": [
        [
          {
            "node": "Code in JavaScript",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Added meta title, meta description and meta image for post": {
      "main": [
        [
          {
            "node": "Send a Email to admin",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}