Function review 1 — SEO / AEO

Built for the Tuesday review · every number counted from the live system, 20 August 2026
“Let's go through each function as a group and actually critically assess what it does … what does the system do, what does a human need to do, what's the quality of the output, does it really add value.”

What follows is that, for the first function. Nothing here is estimated — the check names are read out of the engine's own source, and the ship counts are counted across all 261 workspaces.

The thirty-second answer

Asked what the product does for a ski shop in Breckenridge, the honest reply is:

It reads your live site and scores it on 50 checks across five disciplines. Then it writes the fixes. On a site we host, it publishes the technical ones itself — page titles, meta descriptions, structured data, whole pages, llms.txt — rebuilds your sitemap and tells the search engines. On your own site it writes the same fixes but cannot apply them; you or your developer paste them in.

Everything beyond the page — social posts, outreach emails, PR angles — it drafts and stops. Those have never gone out on their own, by design and in fact.

1. What it does on its own today

Not "can in principle" — what it has actually done, counted across the network:

Applied to a live pageTimes
schema90
meta76
title61
page24
file4
total unaided publishes255

After each publish it rebuilds the sitemap and pings IndexNow, so the page is findable rather than merely present. A snapshot is taken first, so any publish can be rolled back.

47 further items are marked shipped and are deliberately NOT counted above. Those pages were built by a site generator and back-recorded into the ledger so it matched what was actually live — real pages, but not the engine publishing on its own. Counting them would have made this number 302. The distinction matters most in the page row: most of the excluded items are enquiry forms.

The 9 checks it runs on SEO

The 17 checks it runs on AI Search — the AEO half

This is the part most competitors do not have. It covers both how answer engines extract you and how agents read you:

A real site, start to finish

Everything above is counted across the network. This is one site, so the quality can be judged rather than described — maxelmagnets.com, onboarded by Tim on 18 August.

DisciplinePassWarnFail
SEO621
Content332
AI Search755
Technical1100
Social311
Reach010
total30129

Technical scores 11 out of 11 — that is the part the engine can see and fix without help. The failures cluster in AI Search and Content, which is where a human has to supply something the engine cannot invent.

Three of the nine failures, with the fix it wrote

Agent read API
No /openapi.json or MCP server card for agents to call.

Fix it wrote: Publish BOTH /openapi.json and /.well-known/mcp-server-card.json so agents use structured data instead of scraping HTML (Agents First).
AI answer identity (sameAs)
No sameAs entity links -- assistants may confuse you with someone else or describe you vaguely.

Fix it wrote: Add Organization/LocalBusiness JSON-LD with a sameAs array pointing to your LinkedIn, socials, and any Wikipedia/Crunchbase entry -- this is how AI answers get your identity right.
Answerable Q&A (FAQ schema)
No FAQ/Q&A schema -- answer engines have nothing clean to lift.

Fix it wrote: Add a short FAQPage block answering the real questions buyers ask; it is the content most often quoted verbatim into ChatGPT/Claude answers.

What it then produced for this site

StatusTypeItem
shippedPageEnquiry form — maxelmagnets.com
pendingContent briefDesigning with Polymagnets 101
pendingContent briefReducing rare earth use with polymagnets
pendingLead magnetLead magnet — How to Choose Between Align, Latch and Spring
pendingPositioningAngles to test — 5 the site can back

Read that table carefully, because it is the honest answer. The enquiry form is marked shipped, but its own record says a site generator built it and it was back-recorded — and maxelmagnets is not on the publish whitelist, so the engine could not have shipped it. On this site the engine published nothing by itself. It produced four pieces — two content briefs, a lead magnet and a positioning list — and all four are waiting on a person.

That is not the flattering version. It is the version that survives Tim opening the site himself, and it sharpens rather than weakens the case: the engine is demonstrably strong at the technical layer it is allowed to touch (11 of 11), and everything past the page is still a draft looking for a human.

2. What it needs a human for

Structural — cannot be automated by us

  • Any site we do not host. Shipping is limited to 80 whitelisted domains with a webroot on our server. For a customer's own site the engine produces the fix and a person applies it.
  • Anything needing an account we do not hold — Search Console, social profiles, an email sender.
  • Approval. Nothing ships without a yes, deliberately.

Drafted, never published

Produced in volume; zero have ever gone out:

TypeDraftedShipped
LinkedIn3700
X/Twitter3700
Positioning2540
Cold email2500
Pricing2500
A/B test2500
Social hooks2500
Customer research2500
Social plan2500
Link opportunities2500
Link outreach email2500
Digital PR angle2500

This is the honest centre of the review. The engine is strong at the technical on-page layer and produces a great deal of everything else that a person must then carry. That is not a defect to hide — it is the line to state plainly to a customer.

3. What we would want automated later

4. Is it commercial?

For a site we host: yes, on the evidence. 255 real publishes, each with a rollback snapshot and a sitemap refresh, is work somebody would otherwise pay an agency to do by hand.

For a site we do not host: not yet. It becomes an audit-and-draft tool. Valuable, but it is advice rather than labour, and it should be sold as such until a publish path exists.

The unanswered half: we cannot yet show that any of it moved a number. That is the measurement gap, and it is the same gap behind Q2 across the whole network.