Why I'm Doing This in Public
Most affiliate marketing income claims are unverifiable. Screenshots are easy to fake, "income reports" often exclude costs, and the success stories you see promoted most loudly are survivorship bias in action. Building this site in public — with documented niche selection, content decisions, and real revenue figures — creates a verifiable case study that's actually useful to someone starting from scratch in 2026.
Step 1: Niche Selection
I evaluated four niche candidates against three filters before committing:
- Filter 1 — Affiliate program quality: Does the niche have multiple SaaS/digital products with 20%+ recurring commission rates? Physical products with Amazon's 3% rate require 10x the traffic to generate equivalent income.
- Filter 2 — Keyword opportunity: Can I find 30+ keywords with monthly search volume 300–3,000 and Keyword Difficulty under 25 in Ahrefs? Below that KD threshold, a new site can rank within 3–6 months.
- Filter 3 — Longevity: Is this niche driven by permanent human needs (making money, productivity, learning) or a trend (specific app, seasonal interest, fad)? Trend niches spike and collapse. Need-based niches compound.
The niche I chose: online entrepreneurship with AI tools — specifically the overlap of affiliate marketing, AI-assisted content, and building income online. It hits all three filters: high-commission SaaS tools throughout the niche, abundant low-KD keywords, and built on a permanent human desire (financial independence).
Full niche research methodology →
Step 2: Platform Decision — Static HTML vs WordPress vs Next.js
I chose static HTML on GitHub Pages for this site. The reasoning:
- Speed: Static HTML served from a CDN is faster than any CMS-generated page. PageSpeed scores above 95 by default. This matters for Core Web Vitals.
- Cost: GitHub Pages hosting is free. Zero monthly hosting cost.
- Complexity: No database, no plugin vulnerabilities, no PHP updates. A static site can go years without maintenance issues.
- SEO: Clean HTML, canonical tags, custom meta descriptions — full control with zero overhead.
The tradeoff: adding pages requires creating files manually or with tooling. No visual page builder. Fine for a content creator comfortable with code or AI coding tools. For a non-technical builder, WordPress with a minimal theme is a reasonable alternative.
If you want a more scalable technical stack, see the Next.js build log →
Step 3: Site Architecture
I mapped 34 target keywords into 5 content pillars before writing a single article:
| Pillar | Hub URL | Articles planned |
|---|---|---|
| Affiliate Marketing | /affiliate-marketing/ | 6 articles targeting KD <25 |
| AI Tools | /ai-tools/ | 10 articles, mostly comparison/review |
| Build With AI | /build-with-ai/ | 6 technical and strategy guides |
| Workflows | /workflows/ | 5 process documentation articles |
| Blog | /blog/ | 3 broader income strategy articles |
Each pillar has a hub page (overview + links to all cluster articles) and a set of subordinate articles targeting specific low-KD keywords. This architecture tells Google clearly what the site is about and reinforces topical authority across all content.
Step 4: Content Production With AI
Every article follows the same production process:
- Keyword validation in Ahrefs: Confirm KD, volume, and SERP composition. If the top 10 is dominated by Reddit + YouTube, skip it for now.
- Content brief: Target keyword, secondary keywords, required H2 sections (based on Surfer competitor analysis), word count target, affiliate products to include.
- Claude first draft: Paste the brief into Claude Pro. Edit for voice, factual accuracy, and natural transitions. ~20–30% of the output gets rewritten.
- Surfer SEO optimization: Paste draft into Surfer Content Editor. Target score 70+. Add missing semantic keywords, adjust H2 structure.
- Internal linking pass: Add 2–3 outbound internal links to related content. Go back to 2–3 existing articles and add an inbound link to the new page.
- HTML encoding and publish: Format as a complete HTML article page, push via Git to GitHub Pages. Google picks up the new page within 48–72 hours.
Step 5: Free Tools Used at Launch
- GitHub Pages: Free hosting with automatic HTTPS and CDN.
- Google Search Console: Submit sitemap, track indexing, monitor crawl errors.
- Google Analytics 4: Track sessions, traffic sources, and engagement metrics.
- Cloudflare (free): DNS, CDN layer, and analytics proxy.
- schema.org JSON-LD: Article schema, FAQPage schema, manually added to article templates.
Month 1 Results (March 2026)
I'm documenting every month in the income reports. Month 1 snapshot:
- Pages published: 44 articles across 5 content pillars
- Pages indexed by Google: 38 of 44
- Total sessions: 312
- Organic sessions: 47
- Affiliate revenue: $0
- Total expenses: $129 (Ahrefs $29, Surfer $89, domain $12 — no hosting cost)
$0 revenue in month 1 of an SEO-based affiliate site is normal and expected. The content foundation is being indexed. By month 3–4, the early articles that are already on page 2–3 should push to page 1 and start generating organic clicks.
Full March 2026 income report with all the details →
What I'd Do Differently Starting Now
Honest reflection at month 1:
- Target even lower KD to start: I have a few articles targeting KD 20–25 that I should have waited on. KD 0–15 articles are already getting impressions; the KD 20–25 ones aren't showing up yet.
- Publish the tools earlier: The free tools (income calculator, program finder, etc.) generate engagement and links that pure article content doesn't. I added them late in the build process.
- Internal linking from day one: I had to go back and add internal links to the first 10 articles I published. Building that habit from article 1 saves time.