Bob Michaels/ai
An article by Bob MichaelsAugust 2026

Score your own site for agent readability

  • Fifteen checks in five groups, twenty points each. Every check is run by a script, not by an opinion.
  • Reachable, readable, identifiable, answerable, agent ready. In that order, because each one is worthless without the one before it.
  • Score partials only where the check is genuinely a ratio. Everything else is pass or fail.
  • Record the evidence for every check, meaning the URL and the literal thing you found. A score you cannot defend line by line is a marketing number.
  • Most sites I run this against land in the thirties. The spread is wide enough to be embarrassing, which is why it is worth publishing.

Last time I argued that somebody is going to publish the first comparison of how well companies' sites work for AI agents, and that the first one published will set the definition. Here is the rubric I use, in full, so you can run it before anyone runs it on you.

I am publishing it rather than selling it because a score nobody can reproduce is worth nothing. If I tell a firm it scored 34 and cannot show them the fifteen lines that produced the 34, I have given them a horoscope.

The takeaway

Fifteen mechanical checks, a hundred points, and an evidence line recorded for every one of them. No model judges anything, because a score that cannot survive an argument is not a score.

The order is the argument

The five groups run in a specific order and it is not arbitrary. If a crawler cannot reach the page, nothing else about the page matters. If it reaches the page and the content renders in a browser rather than arriving in the response, the markup underneath it is decoration. If it can read the page but the page disagrees with your regulator filing about your own name, it has read something useless. Each group only counts because the one above it passed.

That is also why I distrust checklists that lead with llms.txt. It is the last group here, worth eight points, and it is the most fashionable item on the list by a distance.

The fifteen checks

Reachable

20 pts

Can the software get to the pages at all.

  • AI crawlers not blocked in robots.txt, scored as the fraction of the major ones you allow. 8 points.
  • A sitemap that exists, parses as valid XML, and is referenced from robots.txt. 6 points.
  • Sitemap coverage: the URLs in the sitemap against the URLs a crawl actually finds, as a ratio. 6 points.

Readable

20 pts

Is the content in the response, or assembled later in a browser.

  • Raw against rendered text, measured on the home page and five sampled pages, capped at parity. 10 points.
  • Semantic structure: real headings in order, primary content in elements that mean something. 5 points.
  • Your load bearing documents readable as text rather than locked in a PDF or a picture. 5 points.

Identifiable

20 pts

Does the site agree with itself about who you are.

  • Valid organization markup carrying legal name, address and phone. 8 points.
  • People, with credentials, linked out to the profiles that can confirm them. 6 points.
  • The same firm name and the same address everywhere, including whatever a regulator has on file. 6 points.

Answerable

20 pts

Does the site answer the questions a buyer actually asks.

  • Price, fees or minimums stated in text on a page anyone can crawl. 8 points.
  • Services and process on their own pages, with the answer in the first sentence. 6 points.
  • Team, locations and who you work with, written down rather than implied by photography. 6 points.

Agent ready

20 pts

The experimental layer. Cheap bets, labeled as bets.

  • llms.txt present, valid, and every URL in it resolves. 8 points.
  • An explicit stated policy on AI use of your content. Silence scores zero, either answer scores. 6 points.
  • A contact path a machine can use: structured contact details, or a real endpoint. 6 points.

Two rules that keep it honest

Partial credit only where the check is a real ratio. Three of the fifteen are: how many crawlers you allow, how much of your site the sitemap covers, how much of your text survives without JavaScript. Those are fractions by nature. Everything else is pass or fail, because the moment you allow “sort of has organization markup” you have invited judgment back in through a side door.

And every check writes down its evidence: the URL, and the literal thing found there. Not “fails structured data.” The actual block, or the actual absence of one. This sounds like bookkeeping until the first time a marketing director calls to tell you the score is wrong. Then it is the only thing that matters, and twice now the caller has been right and the evidence line is what let me fix it in an hour instead of arguing for a week.

What the raw versus rendered check catches

If you only run one of these, run that one. Fetch the page the way software does, with no browser, and compare the visible text you get to what a rendered browser produces. Google's own JavaScript documentation describes the failure precisely: sites where the initial HTML does not contain the actual content, which forces a second rendering pass that plenty of software never attempts.

I have watched a firm score in the low teens on this check while looking flawless in a browser, on a site that cost real money. Their entire value proposition, their fee schedule and their team page arrived after render. To anything that was not a browser, the company had a logo and a cookie banner.

Where the score stops

A hundred out of a hundred means software can reach your site, read it, identify you, get an answer, and act. It does not mean any AI system recommends you. Those are different measurements and the second one is the one you are actually being paid or not paid on. That is the next post.

If you want the underlying content checks in more depth, the machine readable website audit covers the consistency question, and the truth audit covers what happens when the site and the company have drifted apart.

Common questions

Why build a rubric when Chrome already has an audit?

Because Lighthouse checks whether files and structures exist, which is the easy half. It does not check whether your site tells a consistent story about who you are, whether your fees are readable as text or trapped in a PDF, or whether the sitemap matches what is actually on the site. Those are the failures that decide what a model can say about you, and they need a separate pass.

Why is there no AI judgment in the scoring?

Because a score produced by a model cannot be defended when someone disputes it, and someone always disputes it. Every check here is mechanical: a file exists or it does not, a ratio is measured, a string matches. That means the score reproduces exactly, and anyone who disagrees can rerun it and show me where I am wrong.

What is a good score?

I do not know yet, and neither does anyone else, because no one has published enough sites scored the same way to say. That is the honest answer. What I can tell you is that the sites I have run it against cluster low, and the gap between the top and the bottom of any given industry is much wider than the people in that industry believe.

Run it yourself, or have me run it against your real competitor field and tell you where you sit. That is the presence audit.

ListenDiscussed on the podcast, episode 07Who Grades Your Website Now?
← All writingAugust 6, 2026 · 8 min read