← Work
// automation & AI system · for real-estate

An SEO article engine in three languages

A keyword goes in; a German, English and French article come out, each written for a different reader, for about thirty cents.

3languages, 3 personas
~€0.30per article
49n8n nodes

The problem

The agency sells to three audiences in three languages. Publishing authority content for all of them, at the cadence search engines reward, costs what an editorial agency charges: tens of thousands a year.

Machine translation was not an option either: a French investor and a Berlin local do not need the same article, they need different arguments.

What I built

A form takes a topic. Forty-nine nodes later, six Google Docs exist: a proofreading copy and a ready-to-paste HTML copy, in German, English and French, each with meta description, structured data, tags and internal links.

  • Keyword expansion from Google's own autocomplete: free, no API key, real search data.
  • One master article, then two persona adaptations: German locals, international expats, French-speaking investors.
  • Internal links chosen from the live sitemap, bucketed per language.
  • A third mode that takes an article somebody else wrote and translates and formats it through the same chain.
  • Every run emails a summary, with a warning banner in the subject line if any stage degraded.
// 49-NODE N8N WORKFLOW TOPOLOGY · MULTILINGUAL ORCHESTRATION
OCTANE RENDER
3D isometric visualization of the 49-node n8n multilingual article generator workflow
PIPELINE ARCHITECTURE: Seed topic → Google Autocomplete extraction → Gemini 2.5 Pro master draft → 3 Persona branch rewrites → HTML / JSON-LD / Sitemap internal linking ● PRODUCTION SYSTEM
INTERACTIVE ENGINE SIMULATION
Test the Keyword → 3-Persona Adaptation Pipeline

Select a real-world topic to watch how the 49-node pipeline expands user search intent via Google Autocomplete and crafts 3 distinct strategic angles—never a literal translation.

SELECT SEED TOPIC:
GOOGLE AUTOCOMPLETE INTENT EXPANSION (FREE API · ZERO KEY · REAL USER QUERIES):
Target Audience & Strategic Angle Strict regulatory compliance, GEG energy deadlines & municipal bylaws
Targeted Primary Focus Keyword Altbau Sanierung Pflichten & Milieuschutz
Altbau sanieren 2026: Gesetzliche Pflichten, GEG-Fristen und Milieuschutz
Wer einen Altbau erwirbt, steht vor strengen Nachrüstpflichten gemäß Gebäudeenergiegesetz (§§ 71 ff. GEG). Besonders in festgesetzten Erhaltungsgebieten (Milieuschutz) erfordern selbst energetische Verbesserungen eine gesonderte Genehmigung des Stadtentwicklungsamts...
GENERATED OUTPUT 2 Google Docs (Review + HTML)
ON-PAGE MARKUP Article + FAQPage JSON-LD
ARTICLE LENGTH 1,680 words
PIPELINE COST ~€0.28 (Gemini 2.5 Pro)

How it works

INPUT Form topic · mode SEARCH DATA Autocomplete free keyword intent ✦ AI ENGINE · ~14s Master article Gemini 2.5 Pro depth & authority 3 PERSONAS Adapt EN · FR persona rewrites OUTPUT 6 Docs + email alert SCHEMA.ORG Meta · JSON-LD per language SITEMAP Internal links from live sitemap Human review 🔒 mandatory · no auto-publish

Nothing reaches the website without a person reading it first.

Under the hood

DECISION

Adaptations, not translations

The English and French articles are written for different readers, not translated from the German. The expat needs to know what a Milieuschutz zone means for them; the investor needs the yield implications; the local needs neither explained.

TRADE-OFF Three prompts to maintain instead of one translation call, plus three focus keywords, generated per language, instead of a German keyword awkwardly jammed into a French sentence.

PITFALL

AI detectors disagree with each other

An article scored 82% “AI” on one detector. I rewrote the voice, tested five strategies, and got it to a modest improvement. Then I ran the same text through a second detector: 27% AI, “strongly convinced this was written by a human”.

Worse, the optimisation was making the prose worse: forcing burstiness produced a mechanical rhythm of its own, which is just a new tell.

// EMPIRICAL BENCHMARK · SAME TEXT TESTED SIMULTANEOUSLY
Detector A (Copyleaks)
82% AI PROBABILITY
⚠️ "Likely generated by AI"
Detector B (Writer / ZeroGPT)
27% AI PROBABILITY
✅ "Strongly convinced written by human"
TAKEAWAY: Heuristic detector metrics are unscientific noise. Rewriting to force artificial "burstiness" degrades readability and harms search rankings. The only metric that counts in production is editorial clarity and direct user satisfaction.

DECISION Stop. Search engines do not penalise AI writing, they penalise bad writing. The only lever that survives scrutiny is a human editor.

PITFALL

One greedy regex, literal asterisks in every FAQ

The Markdown-to-HTML converter matched bold as \*\*([^*]+)\*\*, a character class that forbids an internal asterisk. Any nested emphasis, like a bolded question containing an italicised term, fell straight through and shipped as literal asterisks on the live site.

FIX A lazy match, \*\*(.+?)\*\*, applied before italics. Reproduced in Node first, on the exact failing string, before touching the workflow.

DECISION

Never publish automatically

The pipeline can write directly to the CMS. It doesn't. It produces documents, and a person decides.

TRADE-OFF Slower. But a mediocre article published automatically costs more, in brand and in search ranking, than the twenty minutes of reading it saved.

Results

Articles in three languages, around 1,400 to 1,800 words each, for roughly thirty cents in model costs. The pipeline degrades gracefully: when one adaptation fails, the other two languages still ship, and the notification email says so in its subject line rather than reporting a cheerful success.

Still open. Internal links occasionally come back empty, swallowed by a silent catch three layers down. The warnings are now surfaced to the email; the root cause is next.

Stack

  • n8n, self-hosted: 49 nodes, one linear pipeline, three input modes
  • Gemini 2.5 Pro / Flash: article, adaptations, metadata, internal linking
  • Google Autocomplete: keyword expansion, free and unauthenticated
  • Google Drive & Docs API: six documents per run
  • Sitemap parsing: internal links resolved per language

What I took away

I spent a full day trying to beat an AI detector, and the thing I learned was that the detectors are noise: the same paragraph, unchanged, scored 82% and 27% on two of them.

Optimising against a metric you have not validated is how you make a product worse while feeling productive.