AI SEO Content Production System
Impact
Below: Search Console data from one client site over 12 months. Impressions grew from near-zero to 60K+ daily. The goal is content that appears in AI-generated search answers (Google AI Overviews, ChatGPT Browse), not just traditional Google rankings.
Problem
The agency wanted to offer AI-powered SEO content as a service. Each article required 2-3 working days of manual effort: topic research, competitor analysis, writing 1,200-2,000 words, sourcing banner images, formatting for WordPress, and publishing. At 1-3 articles per day per client, this volume was humanly impossible. The content team was the bottleneck, and adding headcount did not scale with the service price point.
The goal was speed and volume: get content out fast, track what gains traction in Search Console, then double down on high-performing topic clusters with manual optimization. The AI pipeline removed the production bottleneck so the team could focus on strategy instead of writing.
My Role
Three-person team: project lead (non-developer) who drove product direction, myself, and one colleague (both developers with PhD backgrounds). We co-built the entire system together. During prototyping, we each built independent Dify workflows, tested on our own company website, then merged the best parts into the production version. My focus area was hallucination prevention and content grounding.
There was also an advanced version with enhanced features (enhanced Q&A, additional CMS integrations to Shopify/Drupal/PayloadCMS) that I was not directly involved in building.
Key Decisions
-
Why Dify instead of custom code?Speed to market. We needed to validate the idea quickly, and Dify let us build and iterate on the LLM workflow in days instead of weeks. The visual editor meant we could experiment with prompt changes without redeploying code. For deterministic parts that Dify could not handle well (like CMS publishing), we wrote those in code. As the product matured, some workflows moved to custom code for finer control.
-
How did you balance AI automation with quality control?Fully automated means content drifts. Fully manual means the team becomes the bottleneck again. We landed on: AI suggests, humans approve. For new clients, the first batch required client review and feedback to calibrate prompts and brand voice. Once stable, the process shifted to post-publish spot-checking: we sampled ~20% of published articles and ran them through a different LLM as a judge to score quality, then used the results to refine prompts.
-
How did you handle hallucination?
This was my focus area. Hallucination is inevitable with LLMs, so the goal was layered risk reduction:
- Grounding before generation — the LLM never writes from scratch. Competitor content (PDFs and URLs) is converted to markdown and provided as reference context in the prompt.
- Analysis-first workflow — the prompt forces the LLM to analyze reference material and build an outline before writing, preventing it from jumping straight to generating filler.
- Online search verification — the LLM runs in online search mode and is instructed to verify claims through additional searches during analysis.
- Auto-research fallback — if no reference material is provided, the system automatically researches the top-ranked articles on the topic and feeds them as context.
- Brand isolation — brand-specific claims use a separate brand summary input to prevent cross-contamination with competitor content.
One recurring issue we caught through LLM-as-judge review: a client's brand was built on their own philosophy, but the LLM's online research pulled government framework citations instead, causing high-level context drift where the article's tone and references didn't match the brand at all. Most issues were subtler (wrong terminology, mismatched citations), but clean context review was essential.
We validated the approach on our own website first before rolling it out to clients.
-
Why chain 5-6 LLM calls instead of one big prompt?A single prompt producing a full article with image, alt text, and infographic consistently hit quality and formatting issues. Breaking it into stages meant each stage could be evaluated and retried independently. When the writing stage produced poor output, only that stage re-ran, not the entire pipeline.
Architecture
Transferable Pattern
Multi-stage LLM pipeline with human-in-the-loop quality control. Applicable to any business that needs AI-generated content at scale with brand consistency: product descriptions, marketing copy, customer communications, internal documentation.