Skip to main content

Generate SEO-optimized WordPress blog posts with Perplexity and Gemini

Workflow preview

Workflow preview
100%
Generate SEO-optimized WordPress blog posts with Perplexity and Gemini preview
Open on n8n.io

1. Workflow Overview

Quick Overview This workflow collects a research query from an n8n form, researches it with Perplexity, drafts and formats an SEO blog post using OpenRouter and Google Gemini, then creates a draft ...

Best for

  • Content Creation automation workflows
  • Multimodal AI automation workflows
  • advanced n8n builders looking for reusable templates

Tools used

n8n-nodes-base.stickynote, n8n-nodes-base.wordpress, @n8n/n8n-nodes-langchain.outputparserstructured, @n8n/n8n-nodes-langchain.agent, n8n-nodes-base.merge, n8n-nodes-base.httprequest, n8n-nodes-base.formtrigger, n8n-nodes-base.set

Source and attribution

This workflow is cataloged by N8N Workflows and links back to its original n8n.io source page by Ravi Patel.

Original n8n.io source

1.1 Workflow description

Title
Generate SEO-optimized WordPress blog posts with Perplexity and Gemini
Workflow name
Generate SEO-optimized WordPress blog posts with Perplexity and Gemini

Quick Overview

This workflow collects a research query from an n8n form, researches it with Perplexity, drafts and formats an SEO blog post using OpenRouter and Google Gemini, then creates a draft in WordPress, uploads and sets a featured image, and sends a Telegram success message.

How it works

  1. Receives a research query from an n8n form submission.
  2. Sends the query to the Perplexity API and rewrites citation markers into source-linked text.
  3. Uses an OpenRouter chat model to draft a long-form, SEO-focused blog post based on the research.
  4. Generates a JSON title, slug, and meta description via an OpenRouter-powered agent and parses the structured output.
  5. Sends the blog draft to Google Gemini to convert it into WordPress-compatible HTML with a table of contents, FAQ, and styling rules.
  6. Aggregates the generated HTML and metadata, cleans the HTML output, and creates a draft post in WordPress.
  7. Downloads an image from a configured URL, uploads it to the WordPress Media Library, sets it as the post’s featured image, and notifies a Telegram chat.

Setup

  1. Create credentials for Perplexity API (HTTP Header Auth) and update the request headers/body as needed for your Perplexity account.
  2. Add an OpenRouter API credential for the two OpenRouter chat model connections used to write the draft and generate title/slug/meta.
  3. Add a Google Gemini (Google PaLM) API credential for the HTML-generation step.
  4. Add WordPress API credentials and update the WordPress site base URL used in the media upload and post update HTTP requests.
  5. Create a Telegram bot credential, set the TELEGRAM_CHAT_ID environment variable, and choose the chat where the success message should be sent.
  6. Replace the hardcoded image URL (or extend the workflow to generate/select images dynamically) before publishing.

1.2 Logical Blocks

This catalog entry is organized from the workflow JSON. The node-level section below shows the executable blocks available for review before importing the template.

2. Block-by-Block Analysis

Block 1 - Sticky Note4

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 2 - Wordpress

Type / Role
n8n-nodes-base.wordpress - wordpress
Config choices
Version 1

Block 3 - Sticky Note6

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 4 - Sticky Note8

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 5 - Structured Output Parser

Type / Role
@n8n/n8n-nodes-langchain.outputParserStructured - outputParserStructured
Config choices
Version 1.2

Block 6 - Create Title, Slug, Meta

Type / Role
@n8n/n8n-nodes-langchain.agent - agent
Config choices
Version 1.8

Block 7 - Merge

Type / Role
n8n-nodes-base.merge - merge
Config choices
Version 3

Block 8 - Upload Image to Wordpress

Type / Role
n8n-nodes-base.httpRequest - httpRequest
Config choices
Version 4.2

Block 9 - Set Image on Wordpress Post

Type / Role
n8n-nodes-base.httpRequest - httpRequest
Config choices
Version 4.2

Block 10 - Sticky Note5

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 11 - On form submission

Type / Role
n8n-nodes-base.formTrigger - formTrigger
Config choices
Version 2.2

Block 12 - Sticky Note

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 13 - Perplexity Research

Type / Role
n8n-nodes-base.httpRequest - httpRequest
Config choices
Version 4.2

Block 14 - Cleanup Links

Type / Role
n8n-nodes-base.set - set
Config choices
Version 3.4

Block 15 - Copywriter AI Agent

Type / Role
@n8n/n8n-nodes-langchain.agent - agent
Config choices
Version 1.8

Block 16 - Sticky Note7

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 17 - Cleanup HTML

Type / Role
n8n-nodes-base.set - set
Config choices
Version 3.4

Block 18 - GET Image

Type / Role
n8n-nodes-base.httpRequest - httpRequest
Config choices
Version 4.2

Block 19 - Sticky Note1

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 20 - Set Image URL

Type / Role
n8n-nodes-base.set - set
Config choices
Version 3.4

Block 21 - Send Success Message to Telegram

Type / Role
n8n-nodes-base.telegram - telegram
Config choices
Version 1.2

Block 22 - Combine Blog Details

Type / Role
n8n-nodes-base.aggregate - aggregate
Config choices
Version 1

Block 23 - OpenRouter Chat Model

Type / Role
@n8n/n8n-nodes-langchain.lmChatOpenRouter - lmChatOpenRouter
Config choices
Version 1

Block 24 - OpenRouter Chat Model1

Type / Role
@n8n/n8n-nodes-langchain.lmChatOpenRouter - lmChatOpenRouter
Config choices
Version 1

Showing the first 24 of 25 workflow blocks. Download the JSON for the full node graph.

3. Summary Table

Workflow Generate SEO-optimized WordPress blog posts with Perplexity and Gemini
Complexity advanced
Nodes 25
Categories Content Creation, Multimodal AI
Author Ravi Patel
Published 15 Jun 2026

4. Reproducing the Workflow from Scratch

  1. 1. Download the workflow JSON

    Use the JSON export at /data/workflows/16357/16357.json as the source template for this automation.

  2. 2. Import the template into n8n

    Open n8n, import the downloaded JSON, and review each node before activating the workflow.

  3. 3. Configure credentials and variables

    Replace placeholder credentials, API keys, webhook URLs, account IDs, and environment-specific values with your own settings.

  4. 4. Test with sample data

    Run the workflow manually or in a staging workspace, inspect node output, and confirm downstream systems receive the expected data.

  5. 5. Activate and monitor

    Enable the workflow only after testing, then monitor executions, errors, and rate limits during the first production runs.

5. General Notes & Resources

Review imported nodes carefully before activation. This catalog entry is intended to help you inspect the workflow structure, understand required services, and find related templates faster.

Node names, credentials, schedules, webhook paths, and external service limits may need adjustment for your workspace.

Frequently asked questions

What does Generate SEO-optimized WordPress blog posts with Perplexity and Gemini do?

Quick Overview This workflow collects a research query from an n8n form, researches it with Perplexity, drafts and formats an SEO blog post using OpenRouter and Google Gemini, then creates a draft ...

What do I need before importing this workflow?

Review the workflow JSON, configure any required credentials in n8n, and test the automation in a safe workspace before using it in production.

Can I customize this workflow?

Yes. Use the block-by-block analysis and the downloadable JSON to inspect each node, then adjust credentials, prompts, schedules, filters, or destinations for your Content Creation, Multimodal AI use case.