How We Use AI to Run a 4,400-Page Editorial Engine

We manage 12+ websites and 4,400 pages with one human and one AI agent. Here's the exact system: how we use OpenClaw, Claude Opus 4.6, Google Search Console data, and Google Analytics to find opportunities, fix underperforming pages, publish news, and build interactive tools — all in a single session.

⚡ What this guide covers

  • The data stack: GSC + GA + Ahrefs keyword queues
  • How to find pages that rank but don't convert
  • The "fix the leaks" framework (before building new)
  • Publishing news articles that link to upgraded tools
  • The full workflow from data pull to deploy
  • Real results from a single morning session

The Stack

Here's what we run:

Step 1: Pull the Data

Every editorial session starts the same way. The AI agent pulls three data sources and cross-references them:

Google Search Console: What Google sees

GSC tells us which pages are getting impressions (showing up in search results) and at what position. The key insight: impressions without clicks means Google thinks our page is relevant, but searchers aren't choosing it.

We pull:

// Example GSC output — what we actually see:
/short-interest         4,387 imp   0 clicks   pos 7.4   CTR 0.0%
/etf-expense-ratios     3,139 imp   3 clicks   pos 7.7   CTR 0.1%
/cap-rates             1,296 imp   0 clicks   pos 11.8   CTR 0.0%
/beta-volatility        1,057 imp   0 clicks   pos 5.4   CTR 0.0%
// 20,000+ monthly impressions. Near-zero clicks. The traffic exists — we're just not catching it.

Google Analytics: What visitors actually do

GA tells us what happens after someone clicks. The critical metrics:

// GA engagement data — spot the pattern:
/buyback-leaders    22 sess   9% bounce   114s   ← GOOD (interactive, sortable)
/drip-calculator    10 sess   10% bounce   530s   ← GREAT (tool, people use it)
/short-interest     16 sess   88% bounce   77s   ← BAD (static data dump)
/debt-to-equity     11 sess   100% bounce   0s   ← BROKEN (no interactivity)
/dividend-aristocrats   17 sess   94% bounce   2s   ← TERRIBLE (list, no tool)

The pattern is clear: interactive pages retain visitors. Static data dumps don't. Buyback leaders (sortable table, search, charts) has 9% bounce. Debt-to-equity (75KB static HTML, zero JavaScript) has 100% bounce. Same data quality, completely different engagement.

Ahrefs: What to build next

Ahrefs keyword exports feed our build queue — a ranked list of keywords by a custom score combining search volume, keyword difficulty, and commercial intent. We maintain queues per domain so each site gets topically relevant content.

Step 2: Diagnose — Find the Leaks

Before building anything new, we fix what's broken. The framework:

🔴

High impressions, zero clicks

Google is showing our page, but nobody clicks. Fix: rewrite meta title + description. Template descriptions like "Free X data and analysis. Updated regularly." kill CTR.

🟡

Clicks but high bounce

People land and immediately leave. Fix: add interactivity — search, sort, filters, calculators. Turn static pages into tools.

🟢

Low bounce, high duration

This is working. Action: build more pages like this, and add internal links FROM this page to underperforming ones.

Real example: the meta description purge

We discovered that 9 of our highest-impression pages had template meta descriptions: "Free [keyword] data and analysis. Updated regularly." These were auto-generated during the initial build and never reviewed.

The fix took 10 minutes — rewrite each description with specific data points and a compelling hook:

❌ "Free highest short interest stocks march 2026 data and analysis. Updated regularly."
✅ "76 stocks where bears have bet big — some with over 40% of float sold short. Sort by SI%, days to cover, sector. Updated March 2026."

Real example: the null data discovery

Our cap-rates page on firemaths.info had 1,296 monthly impressions at position 11.8 (just below page 1) with zero clicks. When we inspected the page, we found every single data field for all 50 cities was null. The page had a working interactive framework — search, sort, filter — but literally no data to display. It was an empty shell that had been live for weeks.

Populating it with real data was a 2-minute sub-agent task. The page now shows cap rates from 3.8% (San Jose) to 9.2% (Detroit) across 51 US markets.

Step 3: Upgrade — Make Pages Interactive

The data consistently shows that interactive pages outperform static ones by 10x on engagement. Our best-performing page (buyback-leaders, 9% bounce) has sortable tables, search, bar charts, and sector filters. Our worst (debt-to-equity, 100% bounce) was 75KB of static HTML cards.

The upgrade playbook:

  1. Add a calculator or tool — something users interact with. Our dividend aristocrats page went from a static list to having an income calculator ("pick a stock, enter investment amount, see 10-year income projection").
  2. Add context visualizations — our S&P 500 P/E ratio page got a percentile gauge ("current CAPE is higher than X% of all historical readings"), decade averages, and a distribution histogram.
  3. Make tables sortable and filterable — every data page should have search + column sort at minimum.
  4. Add multiple view modes — our API directory got a Cards/Table toggle because developers want to scan quickly.

Step 4: Publish News That Links to Tools

This is where it comes together. Instead of treating news articles and evergreen tools as separate workstreams, every page upgrade ships with a news article.

The news article:

Example from this session:

News: "Markets Sell Off as Hormuz Crisis Deepens" — sourced from Google Finance, BBC, Al Jazeera

Links to:

  • Westmount's short interest rankings (just upgraded with better meta)
  • Beta/volatility rankings (for defensive positioning)
  • Oil price impact calculator (directly relevant to Hormuz)
  • Emergency fund calculator (consumer preparedness angle)

The news article drives timely search traffic. The tools catch and retain it. The internal links pass authority. Everything reinforces everything.

Step 5: Internal Linking

With 4,400 pages, internal linking is the single highest-leverage SEO action. Google discovers and ranks pages partly based on how many internal links point to them.

After every batch of upgrades, we run an internal linking pass:

In one session, we added related links from 8 high-traffic pages to our new dividend tools. This immediately helps Google discover and rank the new pages.

Step 6: Deploy and Verify

Our deploy pipeline:

  1. npm run build — Astro builds all 4,400 pages in ~35 seconds
  2. wrangler pages deploy — pushes to Cloudflare Pages in ~30 seconds
  3. Regenerate sitemaps so Google discovers new pages
  4. Verify pages return 200 status codes

Total time from code change to live: under 2 minutes.

The Parallel Workflow

OpenClaw can spawn sub-agents — separate AI instances that work in parallel. While the main agent analyzes data and makes editorial decisions, sub-agents build pages simultaneously.

A typical session flow:

// Main agent: strategic work
12:00 — Pull GSC + GA data, cross-reference
12:05 — Identify top 5 opportunities
12:08 — Fix meta descriptions (9 pages, direct edits)
12:10 — Build + deploy
 
// Spawn sub-agents for heavy lifting
12:12 — Sub-agent 1: Build dividend tracker page
12:12 — Sub-agent 2: Build DGRO ETF deep dive
12:12 — Main agent: Write + publish news article (while sub-agents build)
 
// Sub-agents complete, main agent deploys
12:15 — Both pages done → build + deploy
12:18 — Internal linking pass
12:20 — Next batch: spawn sub-agents for debt-to-equity + cap-rates
12:20 — Main agent: upgrade paper trading sim + APIs page
12:30 — Everything deployed

Results: One Morning Session

In a single ~90-minute session, we:

9
Meta descriptions fixed
6
Pages upgraded with tools
2
New tool pages built
2
News articles published
8
Pages internally linked
4,399
Total pages across network

The math: if fixing meta descriptions alone gets 2% CTR on existing impressions, that's ~400 new clicks per month from zero new content. Add the interactive upgrades reducing bounce rates, the new tools attracting new queries, and the news articles driving timely traffic — and a single morning's work compounds for months.

The Framework (TL;DR)

  1. Pull data — GSC impressions/clicks/position + GA bounce/duration + Ahrefs keywords
  2. Fix the leaks — meta descriptions, broken pages, null data, non-interactive tools
  3. Upgrade top pages — add calculators, sortable tables, visualizations
  4. Publish news — timely articles that link to upgraded tools
  5. Wire the network — internal links from high-traffic pages to new/upgraded ones
  6. Deploy + verify — build, ship, regenerate sitemaps
  7. Repeat — next session, pull fresh data and start again

The key insight: the traffic is already there. 20,000+ monthly impressions across our network. The bottleneck was never "build more pages" — it was "make existing pages worth clicking on and staying at." Fix the leaks before turning on more faucets.

Tools mentioned: OpenClaw (open-source AI agent runtime), Claude Opus 4.6 (Anthropic), Google Search Console, Google Analytics 4, Ahrefs, Cloudflare Pages, Astro. Our sites: westmountfundamentals.com, firemaths.info, siliconbased.dev, and gab.ae.