openclaw
← All products
Content & Creator

seo-factory

50K-page programmatic SEO sites generated by local Qwen — cloud-LLM equivalent would cost $5-15K, ours is electricity.

Get startedSource on GitHub

Launch kit

seo-factory — launch kit

1-liner

50K-page programmatic SEO sites generated by local Qwen — cloud-LLM equivalent would cost $5-15K, ours is electricity.

Tweet hook

50,000 SEO landing pages.

Cloud LLM cost: $7,400. Local Qwen cost: ~$8 in electricity.

Same content quality. Site live in 4 days.

Architecture below 🧵

Reddit

  • r/SEO: "50K-page programmatic-SEO factory in Python — open code"
  • r/IndieHackers: "Built a niche calculator+content site, 18 months to $4k/mo. Here's the engine."
  • r/juststart: "Free engine for spinning up programmatic-SEO niches."

Cold-email ICP

  • Affiliate marketers running 1-10 sites
  • Local SEO agencies with $5K-50K/mo retainers
  • Niche-site flippers (motion, exit-prep)

Cold-email template

Subject: $0 marginal cost programmatic SEO

Hi {first} — saw {their site / niche} on {recent ranking move / mention}.

I built an engine that takes a CSV (e.g., every ZIP × every drug, or
every car model × every state) and emits 50K Markdown pages with
internal links + sitemaps via local Qwen. $0 per page.

The customer (you / your client) gets a 50K-page site shippable to
Cloudflare Pages in a weekend. Affiliate + display ads pay the rest.

DIY: free, MIT-licensed.
DFY: $500-5000 per niche site.

Want to walk through one of your stalled niches as a test?

SEO content angles

  1. "Programmatic SEO is back in 2026 — what changed"
  2. "How to avoid Google's helpful-content update kill on programmatic sites"
  3. "Cloudflare Pages + Astro + 50K pages: the full deploy stack"
  4. "Internal linking at 50K-page scale (with code)"
  5. "Niche selection: 10 untouched programmatic-SEO opportunities"

Documentation

seo-factory

Programmatic-SEO content factory. Generate 50K+ long-tail pages from a seed CSV using local Qwen, ship as a static Astro/Hugo/Eleventy site, rank on Google's long tail, monetize with display ads + affiliate links.

Why this works as a passive-income play

  • Local Qwen = $0 marginal token cost. Cloud Claude/GPT would cost $5K+ to generate 50K pages. Qwen on your hardware = electricity.
  • Static site = $0 hosting (Cloudflare Pages, Netlify, Vercel free tier).
  • Long-tail SEO rewards comprehensive coverage. 50K pages each ranking for 1-3 micro-queries = millions of monthly impressions.
  • Internal link graph is auto-generated, fixing the orphan-page problem that kills most programmatic-SEO sites.
  • Repeatable — once one niche works, scale horizontally.

Niches that work

Niche format Seed columns Pages
"Best {product} for {persona}" product × persona 1K-50K
"{Profession} in {city}" profession × city 50K-500K
"{Drug} side effects in {age group}" drug × demo 50K
"How to {task} in {tool}" task × tool 5K
"{Recipe} {variant}" recipe × variant 10K
"{Job title} salary in {city}" role × city 100K

Pricing models

  1. DIY (operator-as-owner): $0/mo. You operate it, you keep ad revenue.
  2. Done-for-you build: $500-5000 one-time per niche site.
  3. Revenue split: 50/50 with the site owner. Better for low-trust first deals.
  4. SaaS interface (v0.2+): Customers paste a niche idea, we generate the site. $99 per 1K pages, $499 per 5K pages, $2999 per 50K pages.

How to use it

1. Initialize a niche

cd C:\openclaw-products\seo-factory
seofactory init niches/best-laptop-for-x

This creates:

niches/best-laptop-for-x/
  factory.yaml      ← niche config (sections, prompts, templates)
  seed.csv          ← rows of (primary, modifier, year)
  page.md.j2        ← Markdown+Jinja2 page template
  out/              ← generated .md pages land here

2. Edit the seed + prompts

Replace seed.csv with your real seed data. Open factory.yaml and tune the per-section prompts.

3. Smoke test (10 pages)

seofactory build niches/best-laptop-for-x/factory.yaml --limit 10

Check the output. Rewrite prompts if quality is off.

4. Generate at scale

seofactory build niches/best-laptop-for-x/factory.yaml

50K pages on a Qwen 30B running locally takes 8-16 hours.

5. Add internal links

seofactory link niches/best-laptop-for-x --field modifier --per-page 5

Every page now links to 5 sibling pages sharing the same modifier.

6. Generate sitemaps

seofactory sitemap niches/best-laptop-for-x --base-url https://yoursite.com

7. Ship to a static-site generator

The out/ folder contains valid Astro/Hugo/Eleventy content. Drop into your site's src/content/ and deploy.

Quality safeguards

The dirty secret of programmatic SEO is that 80% of generated content is generic enough that Google's helpful-content updates can torch your rankings overnight. Mitigations baked in:

  • Per-niche prompt tuning. Each section is a separate Qwen call with targeted constraints. You can iterate prompts cheaply.
  • Pull facts from the seed CSV. The prompt fills row data, so the generated content is anchored to real attributes (not pure imagination).
  • No infinite tail expansion. If you find a sub-niche works, double down on those rows; if not, drop them.

Test

pytest tests/ -v

Roadmap

  • Astro starter site embedded (so customers don't need their own)
  • One-click deploy to Cloudflare Pages
  • Affiliate-link injection (Amazon Associates, Skimlinks)
  • Mediavine/AdThrive ad-slot template
  • PageSpeed budget enforcement
  • Anti-spam guard (max 2 outbound affiliate links per page)
  • SaaS dashboard for non-technical buyers