91 personal-brand sites. One weekly audit. Three questions per site: is it in spec, is the person doing the work, and is there third-party proof it’s paying off?
For months our weekly fleet audit counted things — pages, hub posts, schema tags, bylines. Useful, but a site can pass every structural check and still do nothing for the business behind it. Nobody builds a personal brand for vanity. The founder has a business. The site exists to make it obvious that the business does the thing they say it does, in the city they say they do it, for the audience they sell to.
So the audit now measures that. This is the definitive process.
GCT: the record that makes impact measurable
Every site gets a GCT — Goals, Content, Targeting — a five-minute strategy record stored in a registry the agents read: the person, the business their brand feeds, the thing that business provably does, the city or audience, the podcast (almost all of these folks are podcasting — building credibility with a specific audience so they can sell to that audience), and 3–6 money queries: the searches a buyer types when they need the thing.
Sites without a GCT get one auto-drafted from their own homepage — title, meta description, Person schema, podcast signals — and queued for a human confirmation. GCT coverage is itself a weekly metric. More confirmed GCTs → sharper targeting → better content briefs → measurable impact. That’s the first loop.
SAY, SHOW, PROVE: the credibility gap
Every audit we run exists to expose one gap: the distance between what someone says they do, what they show to demonstrate it, and what third parties prove about it.
- SAY — the claim, on-site: title, meta, Person schema, declared socials, a confirmed GCT.
- SHOW — the demonstrated work: total posts, posts in the last 30 days, recency, podcast presence, and whether recent content actually matches the money queries.
- PROVE — what we don’t control: Domain Rating, organic traffic, keywords ranking, referring domains, Search Console impressions and clicks.
SAY minus PROVE is the credibility gap, tracked per site, per week. The Content Factory exists to close it. The weekly audit measures whether it’s closing.
The three layers and the score
Each site gets a Business Impact Score (BIS): 30% Foundation + 30% Momentum + 40% Proof.
- Foundation — the original 12 structural checks (homepage up, title, meta, indexable, og:image, entity schema, sameAs, hub post, hub wheel, master links, no admin bylines). Necessary, not sufficient.
- Momentum — content velocity from each site’s own public WordPress REST API: total posts, posts in the last 30 days, days since the last post, recent titles matched against money queries.
- Proof — one Ahrefs batch-analysis call covers all 91 domains at once (~1,650 API units of a 100,000 monthly budget), returning DR, organic traffic, keyword counts, and referring domains. Sites verified in Search Console add clicks and impressions on top.
The recursive loops
The design goal Dennis set: the more we run it, the more it ties into real performance. Four loops do that.
- Coverage → data. Every site not yet verified in Search Console lands in a verification queue. Each verification means next week’s audit reports real impressions instead of nothing. Coverage only ratchets up.
- GCT → targeting. Missing GCTs get auto-drafted from the site itself; drafts get confirmed in five-minute passes; confirmed money queries turn generic “post more” advice into aimed content briefs.
- Content → performance. Sites with zero posts in 30 days generate Content Factory briefs pointed at their money queries. Next week’s pulse measures whether those queries moved. The audit grades its own dispatches.
- Process → process. Anything a run learns — a new failure mode, a better check — gets filed to the skill-learnings inbox that our daily propagation agent harvests into every skill pack. The audit improves the system that improves the audit.
Run mechanics (what the agent actually does)
Read-only against the sites. Chunked into 8-domain batches, one per call, sequential — parallel chunks trip the shared host’s firewall and produce false “down” reads. Foundation pass first, impact collection second, one Ahrefs batch call third, score and render fourth.
Two classifier rules keep the data clean:
- Template ghosts. A site still wearing its template kit — “First Last,” Lorem ipsum, placeholder testimonials — claims nothing real, whatever tags it carries. The audit detects boilerplate and routes the site to an identity build, not a content brief.
- Blame the right network. If collection fails because our own connection is intercepted (a captive portal presenting its own certificate, say), sites are flagged network-blocked and their scores renormalize. A site is never marked down because our wifi was.
Output is a Fleet Pulse dashboard — fleet KPIs, per-site score cards with week-over-week deltas, SAY/SHOW/PROVE bars, and a dispatch queue grouped by fix type: identity builds, Content Factory briefs, Search Console verifications, GCT confirmations, credibility gaps, infrastructure. Every gap routes to the worker playbook that closes it.
Why this matters beyond our fleet
Any agency running client sites can copy this shape: a strategy record per site (GCT), one cheap weekly crawl, one batch proof call, a score that blends structure, effort, and results, and queues that feed the fixers. Report business impact and the audit stops being a chore and starts being the operating system.
Related: The System (the loop this audit plugs into), the Quick Audit (#MAA) (the per-client version of the same Metrics → Analysis → Action discipline), and the meta-article standard every run documents against.

