cd /news/artificial-intelligence/the-complete-ai-seo-playbook-from-ze… Β· home β€Ί topics β€Ί artificial-intelligence β€Ί article
[ARTICLE Β· art-98360] src=github.com β†— pub= topic=artificial-intelligence verified=true sentiment=↑ positive

The complete AI SEO playbook: from zero to 4.6M impressions in 3 months

ValueAddVC.com, built by Trace Cohen, used an AI-powered content engine with multi-model pipelines and Google Search Console feedback loops to grow from 604K to 4.62M monthly impressions in three months. The system includes 14 diagnostic scripts, 9 quality gate configs, and automated workflows for content creation, optimization, and publishing. Cohen published the full playbook, detailing the methodology and tools, to help others replicate the system.

read9 min views2 publishedAug 16, 2026
The complete AI SEO playbook: from zero to 4.6M impressions in 3 months
Image: Michielbdejong (auto-discovered)

The complete playbook for building an AI-powered content engine that actually ranks β€” from zero to 4.6M impressions in 3 months.

This is the methodology, the toolkit, and the hard-won lessons from building a content engine on ValueAddVC.com using AI agents, GSC feedback loops, and automated quality gates. 14 diagnostic scripts, 9 battle-tested configs (safety guards, agent orchestration, quality gates, anti-AI detection), structured data schemas, and CI automation β€” everything you need to replicate the system.

Not theory. Not prompts. The actual operating system behind a site that went from 604K to 4.62M monthly impressions.

Built by Trace Cohen at ValueAddVC.com.

The Content Engineβ€” AI agent orchestration (multi-model pipelines: Opus/Fable for planning, Sonnet for writing, Haiku for grunt work), 5-format content rotation, voice training, anti-AI fingerprint detectionThe GSC Feedback Loopβ€” Weekly automated reports, title rewrite candidates, cannibalization detection, query gap mining, striking distance optimizationThe Quality Systemβ€” 9 publish gates, template phrase blocklists, source verification, fact-checking, structured data validation** The Safety Layer**β€” Repo locks, rebase guards, build cost control ([nobuild] tags, deploy-tick), self-healing heartbeats, content writer isolation from gitThe Growth Loopβ€” Keyword anticipation (publish before demand spikes), living page refreshes, internal link graph optimization, news sitemap + WebSub for instant crawling

flowchart LR
    GSC[Google Search Console API] --> Report[Weekly Report]
    Report --> Triage{Triage}
    Triage --> Rewrite[Title Rewrites]
    Triage --> Merge[Merge Cannibals]
    Triage --> Refresh[Refresh Stale Pages]
    Triage --> Kill[Kill Dead Weight]
    
    Content[Content Pipeline] --> Gates[Quality Gates]
    Gates --> |Pass| Publish[Publish]
    Gates --> |Fail| Fix[Fix & Retry]
    
    Publish --> GSC
    Rewrite --> GSC
    Merge --> GSC
    Refresh --> GSC

    style GSC fill:#0d7377,color:#fff
    style Gates fill:#0d7377,color:#fff
    style Publish fill:#15803d,color:#fff
    style Kill fill:#b91c1c,color:#fff

The feedback loop: GSC data feeds diagnostic scripts β†’ scripts surface what needs fixing β†’ AI agents make the fixes through quality gates β†’ improved rankings produce better GSC data β†’ repeat. Every week the system gets smarter.

Script What It Does
gsc-rewrite-candidates.mjs
Finds title rewrite opportunities from GSC data β€” pages ranking position 4–20 with high impressions but low CTR
template-detector.mjs
Scans your content for AI template fingerprints β€” the repeated phrases that signal scaled-content-abuse to Google
cannibalization-detector.mjs
Finds pages on your site competing for the same queries, splitting authority and ranking worse than one consolidated page would
weekly-report.mjs
Generates a weekly SEO 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 / KEEP buckets based on GSC data + content quality
redirect-checker.mjs
Finds URLs in your sitemap that return 301/302/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
The retroactive keyword discovery engine β€” finds queries with real demand where you have no dedicated page. Google is telling you what to write.
striking-distance.mjs
Finds pages ranking position 5-20 with real impressions β€” the cheapest wins in SEO. Estimates click gain if improved.
rewrite-measurer.mjs
Before/after tracking for title rewrites. Take a baseline, make changes, measure impact 2-4 weeks later.
websub-ping.mjs
Notifies Google's hub that your feeds changed β€” triggers 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/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.
File Purpose
format-rotation.json
The 5-format content system: Deep Explainer, News Analysis, Ranked List, Question-Led, Contrarian Take β€” with per-format word counts, chart requirements, and selection weights
quality-gates.json
Publish gate rules: cannibalization check, source URL verification, template phrase detection, shared closer detection, typecheck
anti-ai-rules.json
The complete blocklist of AI template phrases + style rules for making AI content sound human
refresh-rules.json
Rules for the refresh drip strategy β€” staleness thresholds by content type, refresh triggers, and a refresh checklist
keyword-anticipation.json
Event calendar methodology β€” publish content before IPOs, earnings, funding rounds, regulations so you're ranked when demand spikes
health-checks.json
Live-site health checks: leaked template variables, broken OG images, injected ad links, thin content, dead pages
content-pipeline-guards.json
Safety guards: repo locks, rebase guards, cannibalization checks, build cost control, self-healing heartbeats
agent-orchestration.json
Multi-model AI pipeline rules: Opus/Fable for planning, Sonnet for writing, Haiku for mechanical tasks. Max 3 concurrent agents.
File Schema Type
article-with-author.json
Article + Person author entity (the E-E-A-T foundation)
faq-page.json
FAQPage for blog posts β€” drives FAQ rich results
item-list.json
ItemList for ranking/comparison pages β€” the format sponsors want
news-article.json
NewsArticle + news sitemap template for real-time content

sitemap.ts

β€” Next.js dynamic sitemap with honest lastmod datesnews-sitemap.ts

β€” 48-hour rolling news sitemap for Google News/Discoverinternal-link-component.tsx

β€” React component for related posts + a build-time internal link insertervercel-ignore.sh

β€” Build skip logic for Vercel: [nobuild] tags, content-only detection, deploy-tick pattern (saves $$$)

Every script has a sample output file so you can see what to expect before running anything:

weekly-report.json

β€” Full weekly report with trending queries, dropping pages, CTR triagerewrite-candidates.json

β€” Title rewrite opportunities with per-query diagnosiscontent-audit.json

β€” KILL/MERGE/UPDATE/PROMOTE/KEEP bucket assignmentscannibal-clusters.json

β€” Cannibalization clusters with wasted impression estimatestemplate-scan.json

β€” AI fingerprint scan with per-file phrase locationsorphan-pages.json

β€” Orphan, low-link, and dead-end page reports

β€” Step-by-step Google Search Console API setup (local auth + service account for CI)setup-gsc.md

weekly-seo-report.yml

β€” GitHub Action that runs the weekly report every Sunday, commits results, and optionally creates a GitHub issue with the summary

git clone https://github.com/TraceCohenTech/ai-seo-playbook.git
cd ai-seo-playbook

npm install

gcloud auth application-default login \
  --scopes=https://www.googleapis.com/auth/webmasters.readonly

npm run rewrite-candidates -- --site sc-domain:yoursite.com

npm run template-scan -- --dir ./your-content-directory

npm run find-cannibals -- --site sc-domain:yoursite.com

npm run content-audit -- --site sc-domain:yoursite.com --dir ./your-content-directory

npm run find-orphans -- --dir ./your-content-directory

npm run weekly-report -- --site sc-domain:yoursite.com

npm run query-gaps -- --site sc-domain:yoursite.com --dir ./your-content-directory

npm run striking-distance -- --site sc-domain:yoursite.com

npm run refresh-tracker -- --site sc-domain:yoursite.com --dir ./your-content-directory

npm run check-redirects -- --site sc-domain:yoursite.com --sitemap https://yoursite.com/sitemap.xml

npm run websub-ping -- --feeds https://yoursite.com/sitemap.xml,https://yoursite.com/feed.xml

New to the GSC API?See[for a step-by-step setup guide.]docs/setup-gsc.md

These tools are one half of the system. The methodology β€” why these specific metrics matter, how to interpret the results, and how to build the feedback loop that makes your content engine self-improving β€” is in the full guide:

The AI SEO Playbook: How I Used AI to Build a Content Engine That Hit 4.6M Impressions in 3 Months

The guide covers:

  • Building the content engine (architecture, voice training, format rotation)
  • The GSC reckoning (the AI-overview discovery, title rewrites, cannibalization)
  • The iteration loop (keyword anticipation, living pages, technical SEO bugs)
  • The system (quality gates, weekly reviews, cost control)

These tools were built and refined on ValueAddVC.com over 3 months:

Metric Week 1 (May '26) Now (Aug '26)
3-Month Impressions β€” 4.62M
3-Month Clicks β€” 17.3K
Daily Clicks (peak) ~50 854
Average Position 12+ 7.5
CTR 0.93% 0.4%
Posts Audited 480 960+
Title Rewrites 0 92
Cannibalization Clusters Fixed 0 21
Template Phrases Purged 500+ 0
Orphan Pages Linked 0 191

*CTR is 0.4% because impressions grew ~8x β€” largely from AI-overview citations (GEO traffic) that don't produce clicks by nature. Human-intent CTR improved: ranked lists hit 6.8%, question-led posts hit 3.2%. The growth curve is near-vertical: Aug 13 alone hit 127K impressions and 854 clicks.

  • Create a Google Cloud service account with Search Console API access

  • Add the service account JSON as a GitHub secret named GSC_CREDENTIALS

  • Set the repository variable GSC_SITE

to your GSC property (e.g.,sc-domain:yoursite.com

) - Set CONTENT_DIR

to your content directory path (e.g.,./src/app/blog

) - Optionally set CREATE_ISSUES

totrue

for weekly GitHub issue summaries - The workflow runs every Sunday at 9:30 AM ET automatically

The scripts are standalone Node.js β€” run them anywhere you can install googleapis

and authenticate with Google Cloud.

ai-seo-playbook/
β”œβ”€β”€ scripts/              # 14 diagnostic & tracking scripts
β”‚   β”œβ”€β”€ weekly-report.mjs            # Weekly GSC performance report
β”‚   β”œβ”€β”€ gsc-rewrite-candidates.mjs   # Find title rewrite opportunities
β”‚   β”œβ”€β”€ rewrite-measurer.mjs         # Before/after rewrite tracking
β”‚   β”œβ”€β”€ query-gap-miner.mjs          # Retroactive keyword discovery
β”‚   β”œβ”€β”€ striking-distance.mjs        # Position 5-20 opportunities
β”‚   β”œβ”€β”€ template-detector.mjs        # Scan for AI template phrases
β”‚   β”œβ”€β”€ cannibalization-detector.mjs  # Find competing pages
β”‚   β”œβ”€β”€ content-audit.mjs            # KILL/MERGE/UPDATE/PROMOTE scoring
β”‚   β”œβ”€β”€ orphan-finder.mjs            # Find unlinked pages
β”‚   β”œβ”€β”€ refresh-tracker.mjs          # Stale page detection
β”‚   β”œβ”€β”€ redirect-checker.mjs         # Sitemap redirect problems
β”‚   β”œβ”€β”€ broken-link-checker.mjs      # 404s and dead outbound links
β”‚   β”œβ”€β”€ websub-ping.mjs              # Notify Google of feed changes
β”‚   └── indexing-submitter.mjs       # Google Indexing API submissions
β”œβ”€β”€ config/               # Quality gates, format system, anti-AI rules
β”œβ”€β”€ schemas/              # JSON-LD structured data examples
β”œβ”€β”€ examples/             # Next.js sitemaps + React components
β”œβ”€β”€ samples/              # Example output from every script
β”œβ”€β”€ docs/                 # Setup guides
└── .github/workflows/    # Weekly automated report CI

Found a template phrase pattern that should be in the blocklist? A better heuristic for the content audit scorer? See CONTRIBUTING.md for how to submit changes.

There's even a dedicated issue template for submitting new template phrases β€” the blocklist is never complete.

This toolkit was built and battle-tested on ValueAddVC.com β€” a venture capital content platform that went from 604K monthly impressions to 4.62M in 3 months using these exact scripts and methodology.

May 2026 August 2026
Daily clicks
~50 854 (peak)
Position
12+ 7.5
Template phrases
500+ 0
Orphan pages
191 0

The full methodology is in the companion guide: The AI SEO Playbook

MIT

Built by Trace Cohen Β· ValueAddVC.com Β· t@nyvp.com

── more in #artificial-intelligence 4 stories Β· sorted by recency
── more on @valueaddvc.com 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain β€” perfect for shipping the agent you just read about.

$git push zahid main
β†’ Live at https://your-agent.zahid.host βœ“
Get free account β†’ Pricing
from €0/mo Β· no card required
LIVE [news/the-complete-ai-seo-…] indexed:0 read:9min 2026-08-16 Β· β€”