AutomationFlowsContent & Video › Automate Wordpress SEO Optimization with Gpt-5 Nano + Yoast SEO

Automate Wordpress SEO Optimization with Gpt-5 Nano + Yoast SEO

ByOriol Seguí @oxsr11 on n8n.io

Optimize your WordPress titles and meta descriptions with AI (OpenAI), update them directly in Yoast SEO, log results in Google Sheets, and receive a styled report by email. All from your own n8n instance.

Webhook trigger★★★★★ complexityAI-powered35 nodesHTTP RequestOpenAIStop And ErrorGoogle SheetsGmail
Content & Video Trigger: Webhook Nodes: 35 Complexity: ★★★★★ AI nodes: yes Added:

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

This workflow follows the Gmail → Google Sheets 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
{
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "nodes": [
    {
      "id": "0eab051f-54ab-4f6f-b8b5-7d3874ef0dc9",
      "name": "Iterar P\u00e1ginas",
      "type": "n8n-nodes-base.splitInBatches",
      "position": [
        -112,
        736
      ],
      "parameters": {},
      "typeVersion": 3
    },
    {
      "id": "20a69797-2e0f-4d9d-9b0d-2a2a45ff94cb",
      "name": "Webhook",
      "type": "n8n-nodes-base.webhook",
      "notes": "using: pag=example.com\n\nReal example:\nhttps://yourspace.app.n8n.cloud/webhook-test/bbdf9cca-e5f4-4bae-afb1-a893ffb51b18?pag=onlineseoscan.com",
      "position": [
        -2512,
        384
      ],
      "parameters": {},
      "typeVersion": 2
    },
    {
      "id": "cf2087b3-c09e-498a-91da-f118fc567c50",
      "name": "MANUAL",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        -2512,
        192
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "9bf2cefa-f4a8-46d6-8c46-d4cbef5a982d",
      "name": "meta desc and title SEO YOAST",
      "type": "n8n-nodes-base.httpRequest",
      "onError": "continueRegularOutput",
      "position": [
        816,
        880
      ],
      "parameters": {},
      "typeVersion": 4.2,
      "alwaysOutputData": true
    },
    {
      "id": "3bf2acb0-feef-4272-8dee-1ccee768cd19",
      "name": "meta descr and title gen",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "position": [
        432,
        880
      ],
      "parameters": {},
      "typeVersion": 1.8
    },
    {
      "id": "88cca1c7-70d3-48ad-b77c-05d207a4e22f",
      "name": "OPTIONS",
      "type": "n8n-nodes-base.set",
      "position": [
        -1920,
        304
      ],
      "parameters": {},
      "typeVersion": 3.4
    },
    {
      "id": "f66bbebf-fcf8-45fd-81a7-f0b804fe8992",
      "name": "Sitemap Error",
      "type": "n8n-nodes-base.stopAndError",
      "position": [
        -560,
        544
      ],
      "parameters": {},
      "executeOnce": false,
      "typeVersion": 1
    },
    {
      "id": "2af54a7a-730a-48df-8fc1-0fce2c4fbd06",
      "name": "Split Out1",
      "type": "n8n-nodes-base.splitOut",
      "onError": "continueErrorOutput",
      "position": [
        -784,
        752
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "33cda87c-a938-450e-b6a9-96cf31f41730",
      "name": "Req Error4",
      "type": "n8n-nodes-base.stopAndError",
      "position": [
        -784,
        1008
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "48baf5df-3ae0-464c-ba61-90263125da5d",
      "name": "Markdown",
      "type": "n8n-nodes-base.markdown",
      "position": [
        192,
        880
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "6ae5c360-7f5a-48ec-8566-0efc2603c298",
      "name": "HTTP Request1",
      "type": "n8n-nodes-base.httpRequest",
      "onError": "continueErrorOutput",
      "position": [
        -416,
        736
      ],
      "parameters": {},
      "retryOnFail": true,
      "typeVersion": 4.2,
      "waitBetweenTries": 5000
    },
    {
      "id": "cffa6b0c-6795-425a-9782-f7c57f658879",
      "name": "Loop Over Items",
      "type": "n8n-nodes-base.splitInBatches",
      "position": [
        -1184,
        304
      ],
      "parameters": {},
      "typeVersion": 3
    },
    {
      "id": "213872cf-d67a-4042-bc24-815a46a62eea",
      "name": "Selected",
      "type": "n8n-nodes-base.code",
      "position": [
        -1664,
        304
      ],
      "parameters": {},
      "typeVersion": 2
    },
    {
      "id": "7bac5dc6-efe4-4298-823f-1902e4b7829d",
      "name": "Split Out",
      "type": "n8n-nodes-base.splitOut",
      "position": [
        -1424,
        304
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "949e7aa7-8d37-4c73-8c77-a501a3a85ad8",
      "name": "SEO Result",
      "type": "n8n-nodes-base.code",
      "position": [
        -832,
        112
      ],
      "parameters": {},
      "typeVersion": 2
    },
    {
      "id": "30bac31f-46a7-49b3-a596-dda37feed6d7",
      "name": "Loop Over Items1",
      "type": "n8n-nodes-base.splitInBatches",
      "position": [
        -592,
        112
      ],
      "parameters": {},
      "typeVersion": 3
    },
    {
      "id": "44320905-d9d1-4849-ad59-4e26cc39bec1",
      "name": "Append row in sheet",
      "type": "n8n-nodes-base.googleSheets",
      "onError": "continueRegularOutput",
      "position": [
        -128,
        128
      ],
      "parameters": {},
      "typeVersion": 4.7
    },
    {
      "id": "7b6bf2f0-169e-4722-ac71-3c85f90cd62d",
      "name": "Send a message",
      "type": "n8n-nodes-base.gmail",
      "position": [
        224,
        -48
      ],
      "parameters": {},
      "typeVersion": 2.1
    },
    {
      "id": "6d1ac4b6-888f-4986-9aea-45e6daa20d20",
      "name": "Count",
      "type": "n8n-nodes-base.summarize",
      "position": [
        -320,
        -48
      ],
      "parameters": {},
      "typeVersion": 1.1
    },
    {
      "id": "4cb5cb07-8740-4505-bba9-ca874c4eabcf",
      "name": "Text email",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "position": [
        -112,
        -48
      ],
      "parameters": {},
      "typeVersion": 1.8
    },
    {
      "id": "ff6868da-70fc-4fd6-9e57-83fb612d79b0",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -2192,
        96
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "8c45e9d7-0989-4a92-9f90-902b218cf0d8",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -832,
        336
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "26a7c5dc-ed25-45d2-84cb-f7d81210f1f5",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -864,
        -240
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "25e8046e-7041-4035-bbac-16aa3b3b2721",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1232,
        -256
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "407819da-fdbc-4dae-b31b-f6d6172720dd",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1232,
        -96
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "b7f0275c-54d3-4adc-aabb-72147df22468",
      "name": "Maping urls",
      "type": "n8n-nodes-base.httpRequest",
      "onError": "continueErrorOutput",
      "position": [
        -816,
        528
      ],
      "parameters": {},
      "typeVersion": 4.2
    },
    {
      "id": "4f352187-6fa1-43ea-b522-3eeb611a91f5",
      "name": "Sticky Note5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1872,
        -96
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "75aa025a-540d-4c81-b2d3-b09ed2eaf474",
      "name": "Sticky Note6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1232,
        752
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "3e474eae-81fb-4959-9dde-a4616a495ea8",
      "name": "Sticky Note7",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -2192,
        -144
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "92c5edd7-b0c2-47d9-9b3f-d6f85bc165ac",
      "name": "Sticky Note8",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -3072,
        -144
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "5207c89f-bb07-419d-a171-ae9b55880453",
      "name": "Sticky Note9",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -2512,
        544
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "d457ceb1-9f70-48d5-8656-f0ba02b2168c",
      "name": "Maping urls1",
      "type": "n8n-nodes-base.httpRequest",
      "onError": "continueRegularOutput",
      "position": [
        -416,
        1008
      ],
      "parameters": {},
      "typeVersion": 4.2
    },
    {
      "id": "eaab5c5e-a0b9-49ce-b09f-a31ad365fc08",
      "name": "UA Rotativo",
      "type": "n8n-nodes-base.code",
      "position": [
        -2192,
        304
      ],
      "parameters": {},
      "typeVersion": 2
    },
    {
      "id": "253d38da-2168-4961-be32-1019a69fd323",
      "name": "Sticky Note10",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1920,
        544
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "8f181ce2-4e3e-4b7f-bf14-6be02cc0c80e",
      "name": "Sticky Note11",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -3072,
        544
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    }
  ],
  "connections": {
    "Count": {
      "main": [
        [
          {
            "node": "Text email",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "MANUAL": {
      "main": [
        [
          {
            "node": "UA Rotativo",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "OPTIONS": {
      "main": [
        [
          {
            "node": "Selected",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Webhook": {
      "main": [
        [
          {
            "node": "UA Rotativo",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Markdown": {
      "main": [
        [
          {
            "node": "meta descr and title gen",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Selected": {
      "main": [
        [
          {
            "node": "Split Out",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Split Out": {
      "main": [
        [
          {
            "node": "Loop Over Items",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "SEO Result": {
      "main": [
        [
          {
            "node": "Loop Over Items1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Split Out1": {
      "main": [
        [
          {
            "node": "HTTP Request1",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Req Error4",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Text email": {
      "main": [
        [
          {
            "node": "Send a message",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Maping urls": {
      "main": [
        [
          {
            "node": "Split Out1",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Sitemap Error",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "UA Rotativo": {
      "main": [
        [
          {
            "node": "OPTIONS",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Maping urls1": {
      "main": [
        [
          {
            "node": "Iterar P\u00e1ginas",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "HTTP Request1": {
      "main": [
        [
          {
            "node": "Iterar P\u00e1ginas",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Maping urls1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Iterar P\u00e1ginas": {
      "main": [
        [
          {
            "node": "Loop Over Items",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Markdown",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Loop Over Items": {
      "main": [
        [
          {
            "node": "SEO Result",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Maping urls",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Loop Over Items1": {
      "main": [
        [
          {
            "node": "Count",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Append row in sheet",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Append row in sheet": {
      "main": [
        [
          {
            "node": "Loop Over Items1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "meta descr and title gen": {
      "main": [
        [
          {
            "node": "meta desc and title SEO YOAST",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "meta desc and title SEO YOAST": {
      "main": [
        [
          {
            "node": "Iterar P\u00e1ginas",
            "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

Optimize your WordPress titles and meta descriptions with AI (OpenAI), update them directly in Yoast SEO, log results in Google Sheets, and receive a styled report by email. All from your own n8n instance.

Source: https://n8n.io/workflows/8423/ — 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

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

Description: This workflow fully automates your blog publishing process using n8n, AI, and WordPress. It pulls blog data from Google Sheets, generates SEO-optimized content with AI, creates feature im

XML, WordPress, Google Sheets +4
Content & Video

CF7-AI-Inbox-Automation. Uses googleDrive, openAi, googleDocs, googleSheets. Webhook trigger; 19 nodes.

Google Drive, OpenAI, Google Docs +2
Content & Video

Transform a Google Sheet into an automated content factory! This workflow reads article topics, scrapes source content, uses AI to create original articles, and publishes drafts to WordPress automatic

Google Sheets, HTTP Request, OpenAI +1
Content & Video

AI-Generated Summary Block for WordPress Posts - with OpenAI, WordPress, Google Sheets & Slack. Uses manualTrigger, textClassifier, lmChatOpenAi, splitInBatches. Event-driven trigger; 32 nodes.

Text Classifier, OpenAI Chat, HTTP Request +4