What your number actually means
A score nobody understands is a score nobody acts on. This page explains every band — what it measures, why an answer engine cares, and what a low number is costing you in plain language.
What the score is, and what it is not
A measurement of whether AI answer engines can reach your website, read it, and resolve your brand as a specific entity. Every line of it was tested against your live site during the run — nothing is looked up from a database or inferred from a third-party crawl.
It is not a measure of whether ChatGPT, Gemini or Perplexity currently recommend you. That is a different question with a different answer, and it needs a set of buyer questions run repeatedly across those engines — because answer engines are not deterministic, and a single run cannot support a claim about movement. We keep the two numbers apart deliberately. A vendor who merges them into one number is quoting you noise.
Weighted by consequence, not by count
The five bands are weighted by what a failure in each actually costs. Crawler access is 30 points because a blocked crawler cannot cite you at all, at any score. Trust signals are 10 because they shift the odds rather than the outcome. Inside each band, individual checks are weighted the same way — a blocked OAI-SearchBot outweighs a missing breadcrumb by an order of magnitude, and the report orders your fix list by points recoverable rather than by how alarming the label sounds.
Where your number sits, and what to do about it
| Grade | What it means | What to do next |
|---|---|---|
| A AI-Ready
85–100
|
Answer engines can reach your site, read it, and resolve your brand as a specific entity. The technical prerequisites are in place. | Readiness is done; being named is a different problem. The next lever is content that answers real buyer questions, and being present in the sources these engines quote from. |
| B Mostly Ready
70–84
|
Reachable and parseable, with named gaps that are costing you citations on specific engines or specific page types. | Work the three biggest gaps in your report. B to A is usually a few hours of configuration, not a project. |
| C Partially Ready
55–69
|
AI engines can reach your site but struggle to extract a clean answer from it — or they can read it and cannot tell who you are. | This is the band where a Sprint pays for itself fastest, because the failures are structural rather than cosmetic and they compound. |
| D At Risk
35–54
|
Major blockers. Most AI surfaces will skip your site entirely, and the ones that do not will struggle to quote it. | Start at the top of your report and do not skip to content work. Fix access first — everything else is downstream of it. |
| F Invisible
0–34
|
Answer engines effectively cannot use this site as a source. Either they cannot fetch it, or what they fetch has nothing in it. | One thing at a time, and access first. An F is usually one or two causes, not fifty — a firewall rule, or a JavaScript-only page. |
AI Crawler Access
This is the gate. Everything else is downstream of it.
Two separate things, because they disagree more often than people expect. First, what your robots.txt gives each AI crawler permission to do. Second, what your server actually does when 24 real AI crawler user-agents knock on the door — which is a different question, and the one that decides the outcome.
A crawler that cannot fetch your page cannot cite you, no matter how good the page is. Blocking OAI-SearchBot removes you from ChatGPT's answers. Blocking PerplexityBot removes you from Perplexity's. There is no partial credit and no workaround: this is binary.
A low score here usually means you are invisible to at least one major answer engine right now, today. In our own portfolio we found sites blocking AI crawlers by accident — a Cloudflare toggle switched on years ago by somebody who has since left.
robots.txt names every AI crawler you want and allows it explicitly, private paths stay disallowed, and the live probe returns HTTP 200 for every crawler that matters.
Machine Readability
A page that needs JavaScript to show its content is an empty page to an AI crawler.
Whether your content exists in the HTML that is actually served — before any JavaScript runs — and whether it is shaped so an answer can be lifted out of it: real headings, a direct answer near the top, a title and description that say something, and enough words on the page to constitute a source.
AI crawlers do not run your JavaScript. Almost none of them do, and the ones that sometimes do will not wait. A React or Vue site that renders client-side serves an empty shell to every crawler, which is why a beautiful site can score badly here and a plain HTML page can score perfectly.
You get fetched and then skipped. The crawler came, found nothing quotable, and moved to whoever answered the question in the first paragraph.
Server-rendered or statically generated HTML, one clear H1, a 40–60 word direct answer near the top of every important page, descriptive headings, and a title and meta description written for a human.
Structured Data
Structured data is how a model knows the name on your page refers to a real, specific company.
Your JSON-LD: whether an Organization or LocalBusiness block exists and is valid, whether FAQ, Service, Product, Article and Breadcrumb types are used where they apply, and whether the entity carries the identifiers that let a model tell you apart from a similarly-named company.
Models resolve entities, not strings. Without structured data your brand name is text that has to be guessed at from context — and when another company shares your name or category, the guess frequently goes the other way. We found exactly that on our own domain: a near-identical brand name in the same country and category, and the model was quoting their facts about us.
You get half-credited, misattributed, or merged with somebody else. The answer names a company; it is not reliably yours.
Valid Organization or LocalBusiness JSON-LD on every page, sameAs links to your real profiles, a consistent legal name, FAQPage markup on pages that answer questions, and Breadcrumb markup for structure.
Discoverability & Index
ChatGPT Search and Copilot read Bing. If you are not in Bing, you are not in either.
Sitemap presence and health, whether the sitemap is declared in robots.txt, canonical consistency, whether www and non-www agree, whether your 404 handling is honest, whether feeds exist, and whether IndexNow is set up so new pages get picked up in hours rather than weeks.
Answer engines do not crawl the open web from scratch on every question. They read indexes. Bing's index feeds ChatGPT Search and Microsoft Copilot; Google's feeds AI Overviews and Gemini grounding. Absence from an index is absence from everything built on top of it.
Slow discovery at best, permanent invisibility at worst. Most Indian sites we audit have never been submitted to Bing at all — six of our own properties had Bing Webmaster Tools accounts with zero sitemaps in them.
A clean sitemap declared in robots.txt, consistent canonicals, one host that redirects to the other, Bing Webmaster Tools verified, and IndexNow keys live.
Trust & Entity Signals
Being readable makes you quotable. Trust signals make you worth quoting.
Whether a real organisation is visible behind the site: a named entity, a physical address, contact routes, an about page with substance, authorship, and dates that show the content is maintained.
When an engine picks three sources out of a hundred candidates, it favours the ones that look accountable. An anonymous page with no address, no author and no dates loses to a page that has all three, even when the content is comparable.
You stay a source of last resort. You will be read, occasionally quoted, and rarely recommended by name.
A real about page, a postal address, a named team, working contact routes, visible publication and update dates, and consistent identity across your own profiles.
How to read the one we sent you
Start with the fix list, not the score
Findings are ordered by points recoverable, not by how alarming the label sounds. A partially-credited 20-point check outranks a fully-failed 3-point one, because fixing it returns more of your score for the same afternoon of work.
Read the evidence line before you argue with the finding
Every check shows what we actually measured — the HTTP status we got, the exact robots.txt line that matched, the byte count of the page as served. If you think a finding is wrong, the evidence line is where to check, and you can reproduce all of it with curl.
Treat "not tested" and "inconclusive" as different from "blocked"
If your server rate-limited us, or our per-host request budget stopped the run, those crawlers are marked not tested and excluded from scoring. They are not counted against you, and they should not be quoted as blocks by anyone.
Fix access first, always
Everything else is downstream of being fetchable. Beautiful schema on a page no crawler can reach is worth exactly nothing, and we have seen sites spend a quarter on content while a firewall rule kept every engine out.
Re-run it after you change something
One check per domain per day. That limit is deliberate: two checks hours apart differ by crawl noise more than by real change, and a number that jitters is a number nobody trusts.
Do not have a score yet?
The guide makes a lot more sense next to your own numbers.