AI & agent visibility
See your site the way machines do.
Some of your readers are not people. They are assistants and retrieval systems fetching your pages to answer someone else's question, and they only get what your public surfaces actually hand them. MachineRead requests those surfaces the way an agent would, then reports what came back.
GET/robots.txtai bot policy
GET/llms.txtllm text access
GET/.well-known/ai-catalog.jsonagent protocol discovery
Three of the surfaces every audit requests. Thirteen check groups run on each scan.
Public signal path
What machines inspect
- present/readable
- missing/needs attention
Run the audit
Scan a URL
Give it a public URL. It requests the same things an agent would: crawler policy, bot access, semantic HTML, structured data, text and Markdown access, freshness, discovery hints, and reports what came back. 13 check groups run on every scan. Anything it cannot verify is listed and scored at zero, never guessed at.
Evidence sequence
From public signals to bounded conclusions
Read what MachineRead measures, how the audit works, and where its claims stop.
What MachineRead measures
Three pillars of machine visibility
Some of the traffic hitting your site has no eyes. It is a retrieval system pulling a page to answer a question someone asked somewhere else, and it succeeds or fails on what your markup and your public files actually hand it.
MachineRead sorts every signal into three pillars: off-site presence, AI access, and search discovery. The full rubric caps them at 30, 40, and 30 points, for 100 in total. Those caps are allocation limits, not scores.
Thirteen check groups run on every scan, worth 56 checked points between them. They cover social and entity metadata, Wikipedia and Wikidata lookups, robots.txt bot policy, bot fetch access, semantic HTML, JSON-LD structured data, LLM text and Markdown access, raw HTML readability, agent protocol discovery, crawl efficiency, canonical and HTTPS, indexing directives, and search discovery hints.
Nine further rows are listed and locked at zero. They appear in the report so that what is not being measured stays visible rather than implied. Advanced coverage below itemizes each one.
All of it measures a single thing: what public HTTP, DNS, and page metadata hand to a machine. Not what a private dashboard reports back to you. That distinction is the boundary on every claim in the report.
How the audit works
From URL entry to scored report
You hand it a URL and, if you want, a scope. FastAPI normalizes and validates that URL, and SSRF protection rejects unsafe targets and unsafe redirects before a single request leaves the server.
The backend then fetches three anchors: the homepage, robots.txt, and sitemap.xml. Those documents ground the crawler-policy, bot-access, and discovery checks. If one of them fails, the failure is isolated into an actionable warning row rather than collapsing the whole report.
Next the free checks run concurrently, each against a bounded slice of public HTTP, DNS, or page metadata. A check that fails stays failed on its own row and leaves the others alone. The backend also computes the strict agent-readiness summary from explicit discovery and protocol signals; if that step fails, the audit returns a degraded warning state instead of a dead request.
Finally it assembles the result, locked rows at zero, scope metadata, pillar caps, benchmark comparison, and the dashboard renders the scores, caveats, and action items.
The whole flow runs on free bounded public checks and one cached Wikimedia lookup. No logins, no paid APIs, no authenticated crawls.
What the scores mean
Three scores, three denominators
An audit returns three numbers, and they are not interchangeable. A site can hold a strong Essentials score and a weak agent-readiness score at the same time. That gap is usually the most useful thing in the report.
The Full Rubric Score is the 100-point view across all three pillars. It counts the nine locked advanced rows at zero, because nothing has verified them. A site cannot reach 100 on Essentials alone, and that is deliberate.
The Essentials Evidence Score ignores the locked rows entirely. It reads only the checks that actually ran, against a fixed 56-point maximum. Holding that maximum still is what makes the score comparable between sites and across time.
The Strict Agent Readiness Score is the harshest of the three. It asks only whether explicit agent-native surfaces are present. Eight probes run by default; a fully scoped audit runs 21.
The bands, Elite, Strong, Developing, At risk, are diagnostic labels, not grades. Developing means specific named signals are missing, and the report names them.
What MachineRead does not claim
The trust anchor
Essentials only sees what a public request returns. It has no access to your analytics, no window into a search engine's index, and no telemetry from any model. That boundary is the point, so the report states it rather than blurring it.
It does not measure ranking. Crawl access, indexing directives, and canonical tags are inputs a search engine may use. None of them tell you where a page sits on a results page.
It does not measure traffic, backlinks, or conversion. Those live in private data that only you can see.
It does not measure social presence. A site with no social links is not a company with no social presence, the audit reports what the page exposes, and nothing about the organization behind it.
It does not measure real-user performance or model citation share. Publishing an agent surface is not evidence that a model read it.
And it will not mark a site down for a protocol that does not apply to it. Scope toggles exist so a blog is not judged on checkout flows.
Benchmarks and peer context
Relative position, not exposure
A benchmark tells you where a site sits relative to peers audited under the same preset. It is context, not exposure data.
Pick an unmodified named preset and the comparison runs against sites audited under that same preset. Choose Custom or Legacy, or override a named preset enough to change its family mix, and no like-for-like cohort exists. The report says so and falls back to disclosed cross-preset context, so you always know which pool you were placed in.
The Essentials denominator stays fixed at 56 points across 13 rows. The agent-readiness denominator does not: it is derived from the families in scope. General presets run 8 probes, SaaS 17, and Ecommerce 21. A partial scope counts only the protocol, auth, and commerce probes you actually selected.
You get a percentile, a median, and the peers nearest your evidence score. None of that claims comparable traffic, ranking, or citation share. It says only that these public signals, under this denominator, compare this way.
Profiles are regenerated whenever scoring or applicability changes, and every report carries the snapshot date it was compared against.
Advanced coverage
Nine rows, locked at zero
Nine rows in every report are locked. They need logins, paid APIs, authenticated crawls, or private data, things a free audit cannot honestly perform. They score zero until something actually verifies them.
They still appear in the report, and that is deliberate. A row you can see sitting at zero tells you what is not being measured. A row quietly omitted tells you nothing at all. Each one carries the Advanced state label and a badge naming the tier that would unlock it.
Starter accounts for seven: earned mentions and backlinks, owned social presence, social traction and reviews, extraction fidelity, multi-engine index coverage, Core Web Vitals field data, and keyword and competitor gap analysis. Pro accounts for the remaining two, AI citation share and agent task simulation.
When coverage is activated those rows unlock and start contributing to the full rubric score. The Essentials evidence score and its benchmark denominator do not move, so a report you ran last month still compares to one you run today.
Roadmap
What is free, and why
Essentials is free for a structural reason rather than a promotional one: nothing it does costs money to run. Bounded public HTTP, DNS, and page checks, one cached Wikimedia lookup, and a scoring pass. No account, no card, no trial clock.
The nine locked rows are what the paid tiers buy, and they are itemized in Advanced coverage above rather than repeated here. Each one costs money on every audit, which is exactly why it stays at zero until it is paid for and verified.
Planned and not yet built: accounts, billing, paid crawlers, paid search and model integrations, and bring-your-own-provider access. Accounts will be OAuth only, so no password is ever stored, and payment will run through Stripe and Link. There is no tracking today and there will be none on any tier later.
The agent-consumable surfaces are already live. This site publishes the same documents it audits other sites for, which is the only honest way to ship a tool like this.
The audit contract stays stable. New rows are additive: they unlock from the locked state, join the full rubric, and never move the Essentials denominator that past reports depend on.
Run audit
Point it at a URL
Free, no account, no card. Every locked row is shown at zero rather than left out.
Run auditRead the launch post