Guides · 2026-09-02 · By VSNARY | Emmanuel Orta
How to read a CrawlCheck report: the grade, the three stages, the fix list and the evidence
A report is six views over one record. This is what each one is for, what the numbers mean, and where the bytes behind every finding live.
A CrawlCheck report is one stored record rendered six ways. The record is what the scanner measured: every response it got as fifteen client identities, five machine files on two hosts, the structured data, the claims on the page, and the section scores computed from all of it. The views are just different questions asked of that record. Nothing in a later tab contradicts an earlier one, because they read the same object; the JSON and CSV exports at the foot of every report are that object.
The top of the page: grade, score, headline
The ring is the AI visibility score, 0 to 100. The letter beside it is the grade. They are not the same thing: the score is the weighted mean of the three stages, and the letter is that score capped by the worst finding. A medium-severity finding holds a site at C, a high finding at D, a critical one at F, however good the average is. When that cap is in force the report says so under the headline, because a high score next to a low letter is otherwise confusing.
The headline sentence is written from the record, not typed. It tells you in one line whether an answer engine can reach, read and quote the site, and how many things are worth tidying. The “In plain English” box under it says the same in three to five bullets: how many sections pass, what to fix first, what the score would read if the listed items were fixed, which engines were served or refused by name, and what moved since the previous scan.
Reach, then read, then quote
The three rings after the headline are the three stages, in the order an engine hits a site. Reach is whether a named answer-engine crawler gets the page at all. Read is whether, once it has the bytes, it can find the words and the machine files that guide it. Quote is whether there is a specific fact it can state and attribute. Each stage is the average of the sections that feed it; the Overview tab shows those sections under each stage with their scores.
Reach carries 40% of the score and also acts as a ceiling: nothing downstream of a refusal reaches an engine, so a site that refuses crawlers cannot score in the seventies because its schema is tidy. Read and quote carry 30% each. Sections that sit outside the three stages, such as accessibility structure or the mobile surface, still count toward the section average and appear in the fix list, but a screen reader is not an answer engine and they are kept out of the stage arithmetic.
The Overview tab
After the stages: a tally of sections passing, needing work, failing and not measurable; the remaining sections as tiles; the chain a crawler follows (robots.txt names the sitemap, llms.txt points onward, the entity graph points home) with the first broken link named; every named crawler as a chip showing whether robots.txt allows it and, where the scan also fetched the page as that crawler, what the edge did; where the delivered bytes go; how the site compares with its cohort; and the score over previous scans. Every figure is drawn from fields on the record, and a figure whose inputs were not measured is omitted rather than drawn empty.
The Fix list tab
Findings first, ordered by severity, because each one holds the grade down until it is gone. Each card has three columns: what we saw (the measurement, with the path), why it matters (what a crawler does with that response), and how to fix it (the change to make on the server). The evidence bytes are one click below the card. After the findings come the headroom rows: nothing there is broken, but each is a measure currently outside its optimal range, with the points it is worth to the score. The arithmetic is on measurements already taken; it is not a forecast.
The Sections tab
Every section as a tile, then every section as a table of rows: the measure, what it is now, the range that passes, and a tick or a cross. A row marked n/a could not be measured and is excluded from the section score rather than failed. This is the tab to open when you want to know exactly which row moved a section from 100 to 89.
Changes, Evidence, and how to read this
Changes compares this scan to the ones before it: findings that appeared, resolved or returned, and score movements between readings taken under the same score version. A finding code means the same thing before and after a change to our rubric, so those comparisons are always shown; a score delta across rubric versions is not, because the number moved because we changed. Evidence holds the transcript of every machine-file fetch (status, content type, bytes, edge cache state), the report’s SHA-256 digest and how to cite it. How to read this is the scoring method in full, including what the scan does not measure.
What the score is not
It does not measure whether ChatGPT, Perplexity or Google’s AI answers actually cite the site. No server can, and a score that implied otherwise would be invented. It measures whether an engine can: reach, read, quote. That is the part a site owner controls and the part that has to be true first. Everything an engine also reads about you off-site — directory listings, review corpora, a business profile — is outside this number, and the report says so.
Disputing a finding
Open the finding’s evidence, then the Evidence tab. The transcript shows the exact request and the exact response. If the bytes say something different from what the finding claims, the instrument is wrong and we want to know: the report URL and the finding code to hello@crawlcheck.io. A report regenerates when opened, so fix the server, reload the same URL, and the finding either clears or it does not; done is measured, not asserted.
Every figure above came out of this scanner.
Point it at your own domain and see the same measurements, free.
Questions this post answers
Why is the grade lower than the score suggests?
The letter is capped by the worst finding: medium holds a site at C, high at D, critical at F, regardless of the average. The report says under the headline when a cap is in force and which finding set it.
What does n/a mean on a section row?
The input for that row could not be measured, so the row is excluded from the section score rather than failed. A section with every row n/a is not scored and counts for nothing, never zero.
Does the report change after I fix something?
Yes. The URL regenerates when opened, so the same link shows the current state. Re-scan after a change and the finding either clears or it does not.
Where are the bytes behind a finding?
One click below each fix card, and in full on the Evidence tab: status, content type, bytes and edge cache state for every fetch the scan made.