AutomationFlowsContent & Video › Automate SEO Title & Description Updates for Wordpress with Yoast SEO API

Automate SEO Title & Description Updates for Wordpress with Yoast SEO API

Byphil @phil on n8n.io

This workflow automates the update of Yoast SEO metadata for a specific post or product on a WordPress or WooCommerce site.

Event trigger★★☆☆☆ complexity4 nodesHTTP Request
Content & Video Trigger: Event Nodes: 4 Complexity: ★★☆☆☆ Added:

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

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": "1cb100ae-108b-43ab-8430-f3ecfc7de76a",
      "name": "Settings",
      "type": "n8n-nodes-base.set",
      "position": [
        208,
        320
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "080b234c-a753-409d-9d2d-3322678a01f2",
              "name": "wordpress URL",
              "type": "string",
              "value": "https://example.com/"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "0f8b25b7-bc5e-4c17-b821-81536741a97c",
      "name": "When clicking \u2018Test workflow\u2019",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        -16,
        320
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "5401ea77-65f7-4448-ad15-8a8756bc1b39",
      "name": "HTTP Request - Update Yoast Meta",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        448,
        320
      ],
      "parameters": {
        "url": "={{ $json[\"wordpress URL\"] }}wp-json/yoast-api/v1/update-meta",
        "method": "POST",
        "options": {},
        "sendBody": true,
        "authentication": "predefinedCredentialType",
        "bodyParameters": {
          "parameters": [
            {
              "name": "post_id",
              "value": "519"
            },
            {
              "name": "yoast_title",
              "value": "Demo SEO Title"
            },
            {
              "name": "yoast_description",
              "value": "Demo SEO Description"
            }
          ]
        },
        "nodeCredentialType": "wordpressApi"
      },
      "credentials": {
        "wordpressApi": {
          "name": "<your credential>"
        }
      },
      "retryOnFail": true,
      "typeVersion": 4.2
    },
    {
      "id": "e1d716b0-abc7-4436-a28e-3ea44e4e0acc",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        0,
        0
      ],
      "parameters": {
        "width": 592,
        "height": 288,
        "content": "## Yoast SEO Update\n\nThis workflow updates the **SEO Title** and **Meta Description** of a post via a request to a custom API endpoint.\n\n**Prerequisites:**\n* The provided custom plugin must be installed and active on the WordPress site.\n\n**Configuration:**\n* The `post_id` of the post to be modified is set manually in the **HTTP Request - Update Yoast Meta** node.\n* The WordPress site URL is set in the **Settings** node."
      },
      "typeVersion": 1
    }
  ],
  "connections": {
    "Settings": {
      "main": [
        [
          {
            "node": "HTTP Request - Update Yoast Meta",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "When clicking \u2018Test workflow\u2019": {
      "main": [
        [
          {
            "node": "Settings",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}

Credentials you'll need

Each integration node will prompt for credentials when you import. We strip credential IDs before publishing — you'll add your own.

Pro

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

About this workflow

This workflow automates the update of Yoast SEO metadata for a specific post or product on a WordPress or WooCommerce site.

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

This n8n workflow automates the translation of WordPress blog content into any language using the AI Translate Pro API, and inserts the translated text into a Google Doc. Manual Trigger Initiates the

WordPress, HTTP Request, Google Docs
Content & Video

This workflow automates the process of updating important Rank Math SEO fields (SEO Title, Description, and Canonical URL) directly via n8n.

HTTP Request
Content & Video

Creating high-quality, SEO-friendly blog posts consistently can be time-consuming. This template helps content creators, bloggers, SEO specialists, and agencies fully automate their blogging workflow.

HTTP Request, Google Sheets
Content & Video

This workflow is for content teams, marketers, and solo site owners who draft posts in Google Sheets and want a reliable way to publish to WordPress automatically — including featured images and tags.

HTTP Request, Google Sheets
Content & Video

wordpress_fb. Uses googleSheets, httpRequest. Event-driven trigger; 28 nodes.

Google Sheets, HTTP Request