LLM parsability score: what it measures and how to raise it
A page a language model reads badly, scored under 70 out of 100. squirrel scores every crawled page and names the ones below the mark.
What LLM parsability is
LLM parsability is how reliably a language model reads a page and comes away with the right facts: what the page is about, what it claims, and what the reader is meant to do next. A page scores badly when its real content is tangled with navigation text, banners and layout strings, when sections have no headings to anchor them, or when pronouns and references point at things the model has to guess.
It is not human readability and it is not a search ranking factor. It matters because assistants and answer engines quote what they parsed cleanly. Content written clearly for a person usually scores well without any separate work.
What squirrel checks
The rule runs on every crawled page. Scoring is a cloud service, so the check needs a logged-in audit. It emits one check:
llm-parsability, skipped with the messageLLM parsability analysis skippedwhen the analysis was not available for the audit, with the skip reason naming why.llm-parsability, passing with the messageLLM parsability score: 84/100at a score of 70 or above.llm-parsability, warning with the messageLLM parsability could be improved: 55/100at a score from 40 to 69.llm-parsability, failing with the messagePoor LLM parsability: 21/100at a score below 40.
The score is rounded to a whole number and the expected value shown in the report is >= 70. An audit where the analysis ran but returned nothing scores 0, which reads as a failure rather than a skip.
| Score | Status |
|---|---|
| 70 to 100 | Pass |
| 40 to 69 | Warning |
| 0 to 39 | Fail |
How to fix it
Put the content in semantic elements so the model can tell it apart from the furniture:
<main>
<h1>Configuring the build cache</h1>
<p>The build cache stores compiled output between runs...</p>
</main>Give every section a heading that names what is in it, open each section with a sentence that states its point, and replace pronouns whose referent is more than a sentence away with the noun itself.
The common false positive is a page that is mostly a table, a form or a diagram. There is little prose for the model to parse and the score reflects that, but there may be nothing worth changing.
| Rule ID | ai/llm-parsability |
| Category | Agent Experience |
| Scope | Per-page |
| Severity | info |
| Weight | 3/10 |
| Default | Enabled |
Enable / disable
Disable this rule
[rules]
disable = ["ai/llm-parsability"]Disable all AI rules
[rules]
disable = ["ai/*"]Related rules
- ai/page-type-match: the other finding from the same analysis, comparing what the page reads as against what it declares.
- ax/content-without-js: content the model never saw because it needs JavaScript.
- ax/token-weight: how much of the page a model pays for that is not content.
- content/heading-hierarchy: the heading structure this score depends on.
Agent experience findings ship in every audit next to the SEO, performance and security rules. See Generative engine optimization for how an agent works through a report.
References
Check your site
Run squirrel audit https://example.com and open the Agent Experience section of the report. Every page below the pass mark is listed with its score. Cloud audits run the analysis.