AIO Score[01]

AIO Score

How reliably an agent can read a page, 0 to 100. Every page starts at 100 and loses points for named faults — so a score always comes with its reasons.

Try it

[02]
Your agent should

Use it, but check anything load-bearing elsewhere.

Risk is medium — usual for a page that doesn’t serve its own Markdown.

The tool hands the model
{
  text: "# …",
  aio_score: 62,
  grade: "Needs work",
  hallucination_risk: "medium",
}

Every penalty

[03]
FaultPointsCan apply on
No JSON-LD−20API and scanner
Fewer than 2 headings (h1–h3)−10API and scanner
Images without alt text−5API and scanner
Markdown not served by Onto — “Unmanaged AI Payload”−10API and scanner
No Markdown version at all−25Scanner only
Mostly code, little content−25, or −10 if milderScanner only
Page over 200 KB−10Scanner only
robots.txt blocks agentsscore 0Your own verified site

Points come off 100 and stop at 0; nothing adds points back. The reasons come back as text in penalties, with benefits and recommendations alongside. An image with alt="" counts as labelled; headings are counted across the whole page, nav included.

Grades and risk

[04]
ScoreGradeRisk, at best
90–100Excellentlow
80–89Goodlow
75–79Goodmedium
50–74Needs workmedium
0–49AI-hostile, Invisiblehigh

Risk is high below 50, or when a page has neither JSON-LD nor headings. low takes 80 or more and JSON-LD, headings and a Markdown version — otherwise it's medium.

API or scanner

[05]

One scorer, two ways in — and they don't always agree on the same URL:

The APIOnto's scanner
Where/v1/score, /v1/read-and-score, the dashboardThe checker on buildonto.dev
Markdown it scoresAlways its own clean read of the pageThe page's own Markdown, if it serves one — asked for as GPTBot
SoThe three scanner-only penalties never apply; without the SDK the ceiling is 90A page with no Markdown can lose up to 60 more
Blocked by robots.txtAn error, ROBOTS_BLOCKED — except on your own verified siteA score of 0