PUBLISHING EFFICIENCY
FROM CONTENT CALENDAR TO PUBLISHER
Publishing a technical blog consistently requires 3–4 hours per article. We had the same problem and automated the entire thing. A 28-node n8n workflow fires every Monday and Thursday at 08:00: it searches Reddit, GitHub, and the web via self-hosted SearXNG, scores results for freshness and relevance, deduplicates against PostgreSQL history, generates a 1,000+ word SEO article via Claude Sonnet 4, creates a featured image via fal.ai Flux Dev, and publishes to WordPress with full Yoast SEO metadata. Zero human input required. Article cost: $0.80–1.20.
THE PROBLEM
Running a technical blog in the automation niche requires publishing consistently — twice a week, minimum, if you want Google to take you seriously. That means monitoring what's trending, researching the topic, writing 1,000+ words with real technical depth, finding or generating a featured image, handling SEO metadata, and uploading everything to WordPress correctly.
That's 3–4 hours per article. 6–8 hours per week. Every single week. Most technical founders don't have that. So the blog dies, traffic never comes, and the content calendar becomes a guilt document.
We had the same problem. So we automated the entire thing — from topic discovery to live post.
HOW IT WORKS
Phase 1
At 08:00, the workflow fires three parallel HTTP requests to a self-hosted SearXNG instance: general web search (Google, Bing, DuckDuckGo), OpenClaw/Moltbot ecosystem search, and a dedicated Reddit engine targeting r/n8n. All three run in parallel, merge into a single result pool. No API costs — SearXNG is self-hosted on the same VPS.
Phase 2
Every result gets a relevance score in a custom JS engine: up to 40 pts for freshness (<24h articles), +8 pts per keyword match, +15 pts for n8n or OpenClaw topics, +10 pts for tutorials and case studies, +12 pts for community sources (Reddit, GitHub, dev.to). Top-scoring article becomes the week's topic. PostgreSQL deduplication by topic hash prevents republishing the same subject.
Phase 3
Workflow fetches the 10 most recent OpsPilots posts for internal linking context, assembles a rich prompt with the top 6 scored sources, and sends to Claude Sonnet 4 via OpenRouter (4,096 tokens, temperature 0.65). LLM returns clean HTML plus structured JSON metadata: meta_title, meta_description, URL slug, tags array, and a 50–70 word Flux image prompt.
Phase 4
While the article is parsed, two branches execute simultaneously:
fal.ai Flux Dev generates the featured image at 1792×1024, 28 steps, guidance 3.5. Both branches merge before publish — no manual media step.
Phase 5
WordPress node publishes immediately. A PATCH request updates the post with featured image ID, Yoast title, and Yoast meta description. Run logged to PostgreSQL. Telegram notification sent with article title, live URL, word count, tags, and source breakdown.
FULL WORKFLOW
| Node | Type | Function |
|---|---|---|
| Schedule Mon+Thu 08:00 | scheduleTrigger | Fires the pipeline twice a week |
| Config | set | All variables: URLs, API model, queries, system prompt |
| DB: Get Published This Week | postgres | Loads published topic hashes for dedup |
| Search: News n8n EN | httpRequest → SearXNG | General web search, n8n topic |
| Search: News OpenClaw EN | httpRequest → SearXNG | OpenClaw / Moltbot ecosystem |
| Search: Reddit r/n8n | httpRequest → SearXNG | Reddit engine, community signal |
| Merge: n8n + OpenClaw Results | merge | Combines all 3 result pools |
| Process: Filter & Rank News | code (JS) | Scores, deduplicates, picks top topic |
| DB: Check Topic Duplicate | postgres | Checks topic hash against history |
| IF: Topic Is New? | if | Routes to write or stop cleanly |
| WP: Fetch Recent Posts | httpRequest | Gets last 10 posts for internal links |
| Build: Article Prompt | code (JS) | Assembles userPrompt + source context |
| LLM: Generate Article | httpRequest → OpenRouter | Claude Sonnet 4, 4,096 tokens, temp 0.65 |
| Parse: Article & SEO | code (JS) | Splits HTML body + metadata JSON |
| WP: Get Category ID | httpRequest | Finds correct WP category |
| Generate: Featured Image | httpRequest → fal.ai | Flux Dev, 1792×1024, 28 steps |
| Download: Image Binary | httpRequest | Downloads image as binary |
| Upload: Image to WP | httpRequest | Uploads to WP Media Library |
| Merge: Category + Image | merge | Joins parallel branches before publish |
| WP: Publish Post | wordpress | Publishes live immediately |
| Set: Featured Image & SEO Meta | httpRequest PATCH | Yoast fields + featured image ID |
| DB: Save Run | postgres | Logs run to n8n_news_runs table |
| Telegram: Success | telegram | Report: URL, word count, sources |
| Telegram: Already Published | telegram | Notifies on clean duplicate skip |
| Error Trigger | errorTrigger | Global error catcher |
| Telegram: Error Alert | telegram | Error details to Telegram |
TECH STACK
Scalability: Adding a new topic vertical means adding one search node and updating two query strings in Config. The scoring engine, dedup, LLM pipeline, and publishing logic require zero changes.
BOTTOM LINE
We build and deploy autonomous content pipelines, AI agents, and operational automations. Custom-built for your niche — ready in 2–3 weeks.
What exactly is an automated content pipeline?
An n8n workflow that handles the full content lifecycle — topic research, scoring, AI writing, image generation, WordPress publishing, and Telegram logging — without manual steps. Each piece of content passes through 28 decision and transformation nodes from topic idea to live published post.
How does it find trending topics without human input?
It monitors trending topics via self-hosted SearXNG (aggregating Google, Reddit, GitHub), scores each result by freshness, keyword match, and community signal, then selects the top candidate automatically. PostgreSQL deduplication by topic hash ensures the same subject never gets republished.
Will the content pass AI detection tools?
Articles are structured for SEO — proper heading hierarchy, internal links to recent posts, and optimized metadata. The workflow uses Claude Sonnet 4 at temperature 0.65 with rich source context, which produces content that reads naturally and consistently passes standard AI-detection checks.
Which CMS platforms does it publish to?
The current deployment publishes to WordPress with full Yoast SEO metadata. Adding Ghost, Webflow, Substack, or other platforms requires one additional HTTP request node per destination — typically a 1–2 hour configuration. The content generation stage remains identical regardless of publishing target.
Do I still need to review each article before it goes live?
The workflow includes an optional Telegram review step before publishing. You receive a preview with a one-tap approve or reject option. Most clients switch to fully autonomous mode after the first 2–3 weeks once they've validated output quality against their brand standards.
We map exactly which workflows cost your team the most time and give you a specific deployment plan — in one 30-minute call.
Book Free 30-Min Process Audit →