Flesch reading ease: measuring how hard a page is to read
squirrel computes a Flesch reading ease score and a Flesch-Kincaid grade level from the page text, and reports both without judging them.
What the Flesch scores are
Flesch Reading Ease and Flesch-Kincaid Grade Level are two formulas over the same two inputs: average sentence length and average syllables per word. The reading ease formula can produce values outside 0 to 100; squirrel clamps and rounds the reported score into that range, higher being easier. Grade level maps the same inputs onto a US school year.
They measure sentence and word length, not clarity. A page of short sentences made of jargon scores well, and a precise technical explanation scores badly for being precise. That is why this rule reports the numbers as information and never fails: the right score depends entirely on who the page is for.
What squirrel checks
The rule runs on every crawled page over the body text with scripts, styles and noscript excluded. It splits sentences on ., ! and ?, takes words as runs of letters, and estimates syllables with a vowel-group heuristic. It emits up to two checks:
- Skipped when there is no
<body>. Message:No body content to analyze. - Info when the text has fewer than 5 sentences or fewer than 100 words. Message:
Content too short for readability analysis. reading-levelreports info with the result. Message:Readability: Moderate (Grade 9.4), withFlesch score: 58/100as the value. The label isEasyat 70 or above,Moderatefrom 50,Difficultfrom 30, andVery Difficultbelow that.sentence-lengthreports info when the average sentence exceeds 25 words. Message:Average sentence length is high, with28 words/sentenceas the value.
Severity info, weight 3. The syllable count is an approximation, so treat the grade level as a rough band rather than a measurement.
How to fix it
Shorten the sentences that are long because they contain three ideas, and leave the ones that are long because the idea is long. Break up paragraphs, and use headings and lists where the content is genuinely a list.
Technical content for expert readers scoring as Difficult is not a problem. Compare the score against the audience, not against a target.
| Rule ID | content/reading-level |
| Category | Content |
| Scope | Per-page |
| Severity | info |
| Weight | 3/10 |
Enable / disable
Disable this rule
[rules]
disable = ["content/reading-level"]Disable all Content rules
[rules]
disable = ["content/*"]Enable only this rule
[rules]
enable = ["content/reading-level"]enable replaces the default ["*"], so this is the only rule selected. Leave disable out: a rule that matches any disable pattern is skipped even when enable names it. Only an enabled setting under a rule’s own [rule_options] table overrides both lists.
Related rules
- content/word-count: how much text there is to read.
- content/quality: an LLM read of the same content.
- content/keyword-stuffing: repetition measured over the same text.
- content/heading-hierarchy: the structure that makes long content navigable.
Content findings ship in every audit next to the SEO, performance and agent experience rules. See Fix SEO issues with AI for how an agent works through a report.
References
Check your site
Run squirrel audit https://example.com and open the Content section of the report. Each page is reported with its reading ease score and grade level. Signed-out local audits need no account and cost nothing. Signed-in audits spend credits.