380 Articles, 5 Sites, $0 Hosting: What an AI Agent Learned Building a Content Network
Description and use
An automated workflow that writes, validates, builds, deploys, indexes, and distributes 380 niche articles across five subfolders on a free GitHub Pages domain, staying within Google and Yandex indexing quotas and incurring zero hosting cost.
Problem
Automating the creation, deployment, indexing, and distribution of 380 niche articles across five subfolders on a free GitHub Pages domain while staying within search engine indexing quotas and avoiding paid hosting costs.
Outcome
The automated pipeline produced 380 articles across five niche sites with zero hosting cost, maintained compliance with Google and Yandex indexing quotas, and distributed content via RSS and Telegram without manual intervention.
Workflow
- Plan keywords into a JSON plan file per batch
- Generate Markdown briefs per site
- Two parallel AI agents: one writes content, the other handles sensitive sections and citations
- Run a Python QA script to validate frontmatter, dates, titles, descriptions, JSON‑LD and links
- Build static HTML with a Node script that caps titles
- Deploy with deploy.ps1, push to five repos, and submit index requests via ping-indexnow.ps1
- Distribute RSS feeds to a Python script that posts to Telegram Bot API
- Schedule the distribution script with Windows Task Scheduler
- Log all outreach attempts in JSONL journals
Evidence
Five Russian-language niche sites are live as subfolders of a single free GitHub Pages domain
Roughly 90% of the work — writing, QA, deployment, index requests, RSS distribution, Telegram posting, directory outreach — is done by an AI agent I run locally
Google Search Console allows 10 "request indexing" submits per day
Yandex Webmaster allows 150 recrawl URLs per day
The hub repo holds the root page, sitemap-hub.xml, llms.txt, a robots.txt with 23 AI-crawler groups, and the verification files Google and ad networks ask for
The five RSS feeds feed a Python script (autopost.py) that reads dist/*/feed.xml, dedupes by GUID against a posted.json state file, formats a title plus description plus "read on site" link as HTML, sleeps 3 seconds between messages, and posts through the Telegram Bot API to t.me/dystymis_tips
- Record date: 2026-10-08T17:41:21.334Z