Templates / Create and publish SEO blog posts using Google Sheets, Gemini/OpenAI, Ideogram, and WordPress

Create and publish SEO blog posts using Google Sheets, Gemini/OpenAI, Ideogram, and WordPress

Ready for 3.0

by Incrementors ✓ · 553 views · created 2026-01-23 · Content Creation, Multimodal AI

Ready for 3.0. This template uses no nodes that n8n 3.0 removes. No removed nodes, versions or helpers found. Static check, last run 2026-10-19.

Nodes used (15)

Google Gemini Chat ModelStructured Output ParserDeepSeek Chat ModelAI AgentDiscordOpenAI Chat ModelGoogle Sheets

What it does

This workflow automates the complete blog publishing process. It removes manual work from content creation, image generation, category management, and WordPress publishing by using AI and n8n. It helps agencies, SEO teams, and content creators manage blogs at scale. Key Features - Scheduled or manual blog publishing - Automated topic research and content writing - AI-generated featured and in-content images using Ideogram - Dynamic WordPress category detection and creation - Automatic media upload with SEO-friendly alt text - Internal linking using sitemap data - Google Sheets logging for published URLs - Error notifications for failed executions What This Workflow Does Input - Blog topics or keywords stored in Google Sheets - Target WordPress site details - Publishing rules and schedule Processing 1. Triggers the workflow on a schedule or manual run 2. Fetches blog posting data from Google Sheets 3. Validates active projects or websites 4. Performs topic and SEO research 5. Writes long-form, SEO-optimized blog content 6. Generates image prompts and creates images using Ideogram 7. Uploads images to WordPress with alt text 8. Detects or creates blog categories dynamically 9. Publishes the blog post to WordPress Output - Live published blog post URL - Updated Google Sheet with publishing details - Notification alerts if any step fails Setup Instructions Prerequisites - n8n instance (cloud or self-hosted) - WordPress site with REST API access - Google Sheets access - AI model credentials (Google Gemini, OpenAI, or DeepSeek) - Ideogram API access - Notification service (Discord or Slack) Step 1: Import the Workflow 1. Download or copy the workflow JSON 2. In n8n, go to Workflows → Import from file / JSON 3. Import the workflow Step 2: Configure Credentials Set up the required credentials inside n8n's credential manager: - Google Sheets OAuth: For reading posting data and saving URLs - WordPress API: For publishing posts and uploading media - AI Model: Connect Google Gemini, OpenAI, or DeepSeek - Ideogram API: For AI image generation - Discord/Slack Webhook: For error notifications Important: No credentials are hardcoded. All must be connected via n8n's credential manager. Step 3: Configure Google Sheets Prepare a Google Sheet containing: - Blog topic or keyword - Target website or domain - Publishing status fields - Domain ID for tracking Update the Sheet ID inside the GetPostData node after import. Step 4: Configure Website Access Update the PBNWebsiteAccess node with your WordPress site access endpoint or API. This node should return: - Complete WordPress URL - Basic authentication token - Sitemap post URL Step 5: Configure Publishing & Schedule - Adjust the Schedule Trigger if auto-publishing is required - Modify publishing frequency or time zone - Review WordPress post status (draft or publish) Step 6: Test & Activate 1. Add one test row in Google Sheets 2. Run the workflow manually 3. Verify: - Content creation - Image generation - WordPress publishing - Sheet updates 4. Activate the workflow Usage Guide Adding New Blog Posts Add a new row in the connected Google Sheet with the required blog topic and website details. The workflow will automatically process and publish the post on the next execution. Understanding the Output After execution, the workflow: - Publishes a complete blog post on WordPress - Attaches featured and in-content images - Assigns the correct category - Logs the live URL back to Google Sheets Workflow Node Breakdown GetPostData Fetches blog posting details from Google Sheets based on the current day. It pulls keywords, landing pages, domain IDs, and posting websites. getclientstatus Checks the client's project status from the project sheet. It verifies whether the client is active or inactive before proceeding further. This prevents publishing content for paused or stopped clients. PBNWebsiteAccess Fetches WordPress website access details such as site URL, authentication token, and sitemap URL. These det

View the original on n8n.io → Check your own copy

Get the weekly “what broke” email

New templates, newly broken ones, and n8n release changes. One short email a week.

Form not loading? Subscribe here.