604K to 4.6M impressions in 3 months: the AI SEO system behind it

Laptop screen showing a search bar.

Most AI content playbooks stop at the prompt. Trace Cohen’s stops at 4.62 million monthly impressions.

Cohen just open-sourced the full operating system behind ValueAddVC.com, a venture capital content platform that went from 604K to 4.62M monthly impressions between May and August 2026. The repo is MIT licensed. It includes 14 diagnostic scripts, 9 configuration files, structured data schemas, and GitHub Actions automation. Not a blog post with screenshots. The actual code.

The Numbers Before You Dig In

Here is the before and after from the source, reported as of August 2026:

MetricMay 2026Aug 2026
Monthly impressions604K4.62M
Daily clicks (peak)~50854
Average position12+7.5
CTR0.93%0.4%
Title rewrites done092
Cannibalization clusters fixed021
Orphan pages linked0191
AI template phrases purged500+0

The CTR drop needs context. Cohen notes that impressions grew roughly 8x, largely from AI overview citations that don’t produce clicks by nature. Human-intent CTR actually improved: ranked lists hit 6.8% and question-led posts hit 3.2%. August 13 alone registered 127K impressions and 854 clicks.

️ How the System Is Structured

The engine has four distinct layers that feed each other in a weekly loop.

Layer 1: The GSC feedback loop. Google Search Console data flows into automated weekly reports. Those reports surface title rewrite candidates, cannibalization clusters, orphan pages, query gaps, and striking-distance pages (positions 5 to 20 where a small improvement could produce a measurable click gain). Every fix feeds back into GSC data the following week.

Layer 2: The AI content pipeline. Multi-model orchestration handles different content tasks. Opus and Fable handle planning. Sonnet handles writing. Haiku handles mechanical tasks. A 5-format rotation covers Deep Explainer, News Analysis, Ranked List, Question-Led, and Contrarian Take, each with its own word count targets and chart requirements. Max 3 concurrent agents are allowed.

Layer 3: Quality gates. Nine publish gates check content before it goes live. The gates include cannibalization checks, source URL verification, template phrase detection, shared closer detection, and a typecheck. Content that fails gets sent back for fixes, not published.

Layer 4: The safety layer. Repo locks, rebase guards, build cost controls ([nobuild] tags, deploy-tick), self-healing heartbeats, and content writer isolation from git. A Vercel ignore script skips builds for content-only deploys to keep costs down.

a wooden block that says seo on it

The 14 Scripts

Each script is a standalone Node.js module. Every one ships with a sample output file so you can see expected results before connecting your GSC credentials.

  • gsc-rewrite-candidates.mjs: Finds pages ranking position 4 to 20 with high impressions but low CTR. These are your cheapest wins.
  • template-detector.mjs: Scans content for AI template fingerprints, the repeated phrases that signal scaled-content-abuse to Google.
  • cannibalization-detector.mjs: Finds pages competing for the same queries, splitting authority between URLs that would rank better combined.
  • weekly-report.mjs: Generates a full performance report with trending queries, dropping pages, CTR triage candidates, and query monopolies.
  • orphan-finder.mjs: Finds pages with zero inbound internal links, invisible to Google’s link-graph crawler.
  • content-audit.mjs: Scores every page into KILL, MERGE, UPDATE, PROMOTE, or KEEP buckets using GSC data and content quality signals.
  • redirect-checker.mjs: Finds URLs in your sitemap returning 301, 302, or 308 instead of 200. These break GSC validation and waste crawl budget.
  • refresh-tracker.mjs: Identifies high-traffic pages that haven’t been updated recently, candidates for the refresh drip strategy.
  • query-gap-miner.mjs: Finds queries with real demand where you have no dedicated page. Cohen describes this as Google telling you what to write.
  • striking-distance.mjs: Surfaces pages at positions 5 to 20 with real impressions and estimates the click gain if improved.
  • rewrite-measurer.mjs: Before and after tracking for title rewrites. Takes a baseline, then measures impact 2 to 4 weeks later.
  • websub-ping.mjs: Notifies Google’s hub that your feeds changed, triggering an immediate crawl instead of waiting hours. Run after every publish.
  • indexing-submitter.mjs: Submits URLs to Google’s Indexing API for near-instant crawling. 200 URLs per day quota.
  • broken-link-checker.mjs: Scans all content for outbound links and checks for 404s, timeouts, and redirect chains. Exits non-zero for CI.

⚙️ The 9 Config Files

The configs are where the methodology lives. They’re not just settings files. They encode decisions about what good content looks like.

  • format-rotation.json: The 5-format system with per-format word counts, chart requirements, and selection weights.
  • quality-gates.json: The 9 publish gate rules.
  • anti-ai-rules.json: The complete blocklist of AI template phrases plus style rules for making AI content sound human.
  • refresh-rules.json: Staleness thresholds by content type, refresh triggers, and a refresh checklist.
  • keyword-anticipation.json: Event calendar methodology. Publish before IPOs, earnings, funding rounds, and regulations so you’re ranked when demand spikes.
  • health-checks.json: Live-site checks for leaked template variables, broken OG images, injected ad links, thin content, and dead pages.
  • content-pipeline-guards.json: Repo locks, rebase guards, cannibalization checks, build cost control, and self-healing heartbeats.
  • agent-orchestration.json: Multi-model pipeline rules. Opus and Fable for planning, Sonnet for writing, Haiku for mechanical tasks. Max 3 concurrent agents.

Pro Tips Embedded in the Repo

A few patterns in the repo are worth pulling out for operators who want the short version.

Keyword anticipation beats keyword chasing. The keyword-anticipation.json config encodes a calendar-based approach: identify upcoming IPOs, earnings calls, funding rounds, and regulatory deadlines, then publish before demand spikes. You’re ranked by the time the traffic arrives instead of chasing it after the fact.

One template phrase can tank a site. The template-detector.mjs script exists because Google detects scaled content abuse through repeated phrase patterns across a domain. Cohen’s site had 500+ instances of AI template phrases in May 2026. By August, zero. That cleanup coincided directly with the position improvement from 12+ to 7.5.

Orphan pages are invisible pages. 191 orphan pages were found and linked. These were pages Google’s link-graph crawler couldn’t reach because no other page on the site pointed to them. Linking them costs nothing. It gives Google a path to index and rank them.

Getting Started

The repo requires Node.js 20+ and a Google Cloud project with the Search Console API enabled. Setup for the GSC connection is documented in docs/setup-gsc.md.

# Clone and install
git clone https://github.com/TraceCohenTech/ai-seo-playbook.git
cd ai-seo-playbook
npm install

# Authenticate with Google Cloud
gcloud auth application-default login 
  --scopes=https://www.googleapis.com/auth/webmasters.readonly

# Find your cheapest wins right now
npm run striking-distance -- --site sc-domain:yoursite.com

# Scan for AI template fingerprints
npm run template-scan -- --dir ./your-content-directory

# Find queries with demand but no dedicated page
npm run query-gaps -- --site sc-domain:yoursite.com --dir ./your-content-directory

# Run the full weekly report
npm run weekly-report -- --site sc-domain:yoursite.com

For automated weekly runs, the repo includes a GitHub Actions workflow that fires every Sunday at 9:30 AM ET. It commits results and optionally opens a GitHub issue with the summary. Local cron via macOS launchd and any other CI/CD system that can run Node.js are also supported.

The Verdict

This is a real system that produced real numbers on a real site. The value isn’t in any single script. It’s in the feedback loop: GSC data surfaces problems, scripts quantify them, AI agents fix them through quality gates, and improved rankings produce cleaner GSC data the following week.

For a solo operator running a content-heavy site, the striking-distance script and the template detector alone are worth the clone. The full companion methodology is available at valueaddvc.com/seo-playbook.

Stay on top of AI & Automation with BizStack Newsletter
BizStack  —  Entrepreneur’s Business Stack
Logo