John Williams · Senior Paid Media Specialist · 9 min read
In March 2026, we stripped 2.8 million programmatic pages to the studs and rebuilt them with real data after Google's spam and core updates landed on our exact architecture (we documented every decision here). Three months later, we ran the follow-up: a full technical SEO and E-E-A-T audit. The difference this time is who ran it. Not a crawler. Not a dashboard. An AI agent that measured the live browser, graded the pages against Google's published policy, edited the codebase, and deployed the fixes — in a single working session. This is what it found.
Most SEO audits begin and end in Google Search Console. Search Console is invaluable, but it reports what happened two or three days ago, aggregated and sampled. We wanted to see the page render in real time. So the agent opened a real Chromium session, attached to the DevTools protocol, and captured a live performance trace of the homepage and a representative service page — Largest Contentful Paint, Cumulative Layout Shift, long tasks, and the full network waterfall.
The verdict was reassuring: both pages sit comfortably inside Google's "good" Core Web Vitals thresholds, with zero long tasks blocking the main thread. The only render-blocking resource anywhere was the Google Fonts stylesheet. (These are fast-network, edge measurements; real mobile field data runs slower, which is exactly why the small fixes below still matter.)
The obvious worry for any site with tens of thousands of city-by-service pages is Google's scaled-content and doorway-abuse policy. The agent went to the source. Google's own spam documentation states that programmatic city and service pages, "even across thousands of combinations," are not automatically doorway pages — they are legitimate when each one carries genuine location-specific value.
Then it inspected an actual page. Our Austin HVAC page carries, per page:
That is enrichment, not a keyword swap. The pages clear the bar today. The audit's recommendation was not "tear it down" — it was "make the local detail even more concrete."
People assume a big page is a slow page. Our homepage HTML is large, but it is not the problem. The network
trace told the real story: 12 scripts totaling 389KB, and two of them — served first-party from a
/bkc2/ path — accounted for roughly 326KB on their own. That is Microsoft Clarity's
session-recording payload, proxied first-party, plus React on the homepage.
None of it was render-blocking, so it did not hurt Largest Contentful Paint. But on a mid-range phone, 326KB of analytics JavaScript is real parse-and-execute time and a genuine interaction-latency risk. The fix was not to delete it — every tag still has a job — but to delay it. Tag Manager (and therefore Clarity) now loads on the first user interaction, or 3.5 seconds after the page loads, whichever comes first. Every tag still fires. The 326KB simply leaves the critical path.
/shared/* header was forcing year-long immutable caching on files meant to update within minutes. Fixed, so site-wide nav and consent changes actually propagate.The strongest defense against being mistaken for a doorway page is specificity a national lead-gen reseller could never fake. The audit flagged one line on every page that told readers to "mention neighborhoods and local landmarks" — without naming any. So we added them. The Austin page now references South Congress, East Austin, and the Domain, and Lady Bird Lake. The Chicago page references the Loop, Lincoln Park, and Wicker Park. On top of that, each page now carries a category-appropriate trust signal — licensing and bonding language for home services, credential and board-certification language for healthcare, bar-admission language for legal.
Here is the part worth sitting with. There is a mature, excellent toolset for SEO — Google Search Console, Screaming Frog, SEMrush. We use them. But each one stops at the same place: it hands you a list. Someone still has to interpret it, decide what matters, write the code, and ship it.
| Capability | Search Console | Screaming Frog | SEMrush | ahmeego / Buddy |
|---|---|---|---|---|
| Live in-browser CWV trace | ~ field/CrUX | ~ via PSI | ~ lab sample | ✓ live CDP |
| Technical crawl (links, meta, status) | ✗ | ✓ | ✓ | ✓ |
| Policy judgment (is this a doorway?) | ✗ | ✗ | ✗ | ✓ |
| Implements the fix in your codebase | ✗ | ✗ | ✗ | ✓ |
| Deploys and verifies live | ✗ | ✗ | ✗ | ✓ |
| Aware of your stack and templates | ✗ | ✗ | ✗ | ✓ |
| Typical cost | Free | ~$259/yr | $140+/mo | Built-in |
The distinction is not that the tools are bad — they are superb at their slice. The distinction is where the work ends:
Crucially, the agent did one thing no checklist does: it made a judgment call. "Are these 30,000 pages a doorway violation?" is not a yes/no a crawler can answer — it requires reading the current policy and weighing it against the actual rendered content. That is the work a senior practitioner does. The agent did it, then implemented the consequence.
Restraint is part of a good audit. The agent left several things alone, on purpose:
SEO has never been short on data. It has been short on the connective tissue between knowing and doing — the hours a practitioner spends turning a report into a deploy. That gap is where most audits quietly die in a spreadsheet. Closing it is the whole point of building an agent that lives in the codebase, reads the policy, and ships. We measured ahmeego.com, graded it against Google's current standards, strengthened the programmatic pages with real local detail, took 326KB off the critical path, and pushed it live — in one session. The tools told us where to look. The agent did the work.
This audit was performed on ahmeego.com in June 2026 using a live browser performance trace and Google's published spam and helpful-content policies. All performance figures are from in-browser DevTools measurements. The platform is open source at github.com/itallstartedwithaidea.