Insights

The SEO skill that has to show its receipts

The SEO skill that has to show its receipts

There is a lot of SEO advice written for AI agents now. Almost all of it is a checklist: remember canonicals, remember alt text, remember schema. I read a stack of it while building mine, including a very popular one with fourteen thousand stars, and the thing they share is the thing that worries me. A checklist gives an agent everything it needs to write a confident audit of a site it never actually looked at.

That failure is quiet. The report reads beautifully. Every heading is in the right place, the severities are color-coded, and not one sentence is anchored to something that was fetched. I have received audits like that from humans too, and they cost the same as good ones.

So the skill I built for the studio harness has exactly one rule underneath it: no claim without a fetched artifact behind it. A curl response, a crawl row, a Search Console row, a real-user speed measurement, a line from a server log. If nothing was fetched, there is no finding, only an opinion.

Five stages left to right: scoreboard from Search Console, facts from a crawl and field speed data, judgment as ranked findings, fix on a branch, proof verified live and pushed to discovery

The cheap hedges, placed early

This site shipped with an llms.txt in its first commit, alongside answer-shaped FAQ blocks on every money page and, a few weeks later, an explicit crawler policy naming which AI agents may read what. None of that was a bet on a rich result. It cost an afternoon and no ongoing maintenance, and my rule for cheap infrastructure is simple: if it might matter and it costs nothing to carry, carry it.

That turned out to be the right way to hold it, because 2026 removed the payoffs one by one. Google deleted FAQ rich results outright in June. It also stated plainly that llms.txt does nothing for Search or its AI features, which was awkward for the part of the industry that had spent a year selling llms.txt files as a service.

Neither announcement changed a line on this site. The FAQ blocks were written as visible answers for readers, with the markup attached as a bonus rather than a purpose, so losing the stars in the search result cost nothing: the answers still sit on the page in the shape that answer engines lift. The llms.txt still costs nothing to serve. When the ground moves under infrastructure you bought cheap and built for humans first, you get to keep standing there.

What measurement finds that a checklist cannot

The morning the skill was finished, I ran it against two client sites. Four findings came out that no amount of remembering best practices would have produced.

The first: twenty-six of forty pages on one site were not merely unranked, they were unknown to Google. Never crawled, never judged, sitting in a sitemap that had been submitted a month earlier. A checklist says submit your sitemap. The inspection API says Google has not spent a single fetch on you, which is a different problem with a different fix.

The second: two thirds of that site's pages were short video stubs of about sixty words each. Thin pages are not something you notice by reading a page. You notice them by counting words on every page at once and looking at the distribution.

The third is the one I would put on the tool's business card. A technical fix deployed in early August was no longer in production. Not broken, gone: the branch it lived on was never merged, and a later deploy from the main line quietly wrote over it. Every check made from memory would have passed, because the work was genuinely done and genuinely verified at the time. Only a fresh fetch knew it had been undone. Deploys drift on every team that ships often, and the only defense is a machine that re-reads production instead of trusting the changelog.

The fourth, on the other site: the page titles named the suburb the business sits in, while the queries it actually earns name the metro. Ninety seconds of Search Console data settles that argument, and no amount of taste does.

Two columns. The checklist column lists advice that sounds right but is stale or unfetched. The harness column lists the same territory as measured findings with their source named.

Half of what the industry repeats has expired

Before writing a line of the skill I sent four research agents out: one through open-source tooling on GitHub, one through current audit methodology, one through every free data API worth calling, one through programmatic SEO. They came back with corrections, and the corrections were the point.

Beyond the FAQ and llms.txt news above: PageSpeed Insights is dropping the real-user data most reports quote from it, the Python library everybody uses for Google Trends has been archived since spring, and there is no API for requesting indexing or for the new AI Overviews report, so anyone selling you automated AI-visibility numbers is selling you something else.

All of that went into the skill as a block titled facts that expire, each with the date it was last checked and an instruction to verify before quoting. The alternative is a skill that ages into confident wrongness, which is the same failure as the checklist, only slower.

I pointed it at my own site first

A tool you only aim at other people's work is a tool you do not trust yet. So before it went near another client, it audited this site, and it earned its place in about four minutes.

What it found was the ordinary sediment of a site that grows fast: service pages carrying plenty of footer links but few contextual ones, a sitemap that had been excluding four real pages since the day their templates were written, a www host answering alongside the apex, an About page that every credential claim points at and nothing linked to. None of it was exotic. All of it was the kind of thing that accumulates quietly while you are busy shipping client work, and none of it announces itself.

Terminal output with the client domain masked: the crawl script walking forty-seven URLs, the Search Console audit reporting twenty-six of forty URLs unknown to Google, and a fetch showing a www host answering 200 instead of redirecting

Every one of them was fixed the same afternoon, which is the actual argument for building the tool. One redirect rule. One sentence with a real anchor at the end of each case study. A byline that links to the page it credits. Four pages added to a sitemap that had quietly left them out. The fixes are boring by design. Finding them is the part that needed a machine that looks rather than remembers.

What it refuses to do

The most useful section may be the one listing what the skill will not do regardless of what the keyword data says. It will not put a professional title on a page that the professional does not hold, no matter how many people search for that title. It will not write around a regulated client's compliance wall. It will not invent a metric, and when free data genuinely cannot answer a question, competitor backlinks being the honest example, it says so instead of producing a plausible number.

It also carries the rules that separate programmatic pages that survive from the ones that get a site burned, because scale is where this work goes wrong fastest, and the difference is never volume. It is whether a person landing on one of those pages gets something no other page gives them.

None of this is exotic either. It is the same discipline behind every build here: measure first, write it down where the next session finds it, and treat a claim without evidence as a claim not yet made. The skill makes that repeatable at two in the morning, on a site I have never seen, without me in the room.

Related

← All insights

Beta