Most "we analysed 500 websites" posts are unfalsifiable. There is no sample frame, no extraction rule, no dataset, and no way to check the number. They get shared anyway, because a percentage is more quotable than a method.

The results are published: 200 UK homepages, measured and scored, with the dataset as a CSV.

This page does it the other way round. It publishes the instrument, the sampling rules and the output format first, so that the number, when it appears, can be checked and re-run. The score comes from the same algorithm as our readability checker, which anyone can use on a single page in ten seconds.

Why bother measuring readability at all

Readability scores measure two things: how long your sentences are and how long your words are. Both are proxies for effort. A page that demands more effort per sentence gets read less, and a page that gets read less does not convert, rank on engagement signals, or get linked to.

The score is not a quality measure. A beautifully written page can score poorly because the subject is technical, and a badly written page can score well because it is simple and wrong. What the score does reliably is flag text that is harder than it needs to be — which is most business writing, most of the time.

What we measure

MetricFormulaWhat it is for
Flesch Reading Ease206.835 − (1.015 × words ÷ sentences) − (84.6 × syllables ÷ words)Headline score, 0–100, higher is easier
Flesch–Kincaid grade0.39 × (words ÷ sentences) + 11.8 × (syllables ÷ words) − 15.59US school year equivalent, useful for international comparison
Gunning Fog0.4 × ((words ÷ sentences) + 100 × (words of 3+ syllables ÷ words))Weights long words more heavily than Flesch does
Average sentence lengthwords ÷ sentencesThe number a writer can act on immediately
Long-word share% of words with 3+ syllablesDiagnoses jargon and nominalisation

Syllables are counted with a rule-based estimate rather than a pronunciation dictionary. That is a deliberate trade: it makes the measure reproducible in any language and any browser, and it introduces a small error on unusual words that averages out over a page of prose.

Sampling rules

A readability benchmark is only as good as its sample frame. These are the rules we apply, and the ones you should apply if you run your own.

  1. Define the population precisely. "UK small business websites" is not a population. "Homepages of UK-registered limited companies with 1–50 employees, taken from a named directory, crawled in a named month" is.
  2. Take a random sample, not a convenient one. Directory listings, chamber-of-commerce members and trade association member lists all work, provided the list is fixed before the crawl and the sampling method is stated.
  3. One page per site, plus one service page where it exists. The homepage tests positioning; the service page tests the copy that sells.
  4. Extract body text only. Strip navigation, cookie banners, footers and forms. What remains is the prose a reader is meant to read.
  5. Set a minimum length. We use 100 words. Below that the scores are noise.
  6. Exclude, and count the exclusions. JavaScript-only pages that render nothing, cookie walls that block extraction, and parked domains are excluded — and the number excluded is part of the result, not a footnote.
  7. Record the date of every fetch. A benchmark without a crawl date is an anecdote.

What the output looks like

Each row of the dataset is one URL, with these fields:

  • url, sector, sample_source, fetched_at
  • words, sentences, avg_sentence_length, long_word_pct
  • flesch_ease, fk_grade, gunning_fog
  • excluded (true/false) and exclusion_reason

With that file, anyone can re-compute the medians, split them by sector, or check whether a claim about "68% of UK small business sites" holds. Without it, a percentage is a marketing sentence.

How to run it yourself in an afternoon

  1. Pick a source list and freeze it — a spreadsheet of 200 URLs, chosen before you look at any of them.
  2. Fetch each homepage, saving the raw HTML. A simple script with a polite delay and an honest user agent is enough; do not hammer a server.
  3. Extract the main text. If a page needs a browser to render, either render it or exclude it — and say which.
  4. Score each page with the checker, or reproduce the formulas above in your own script.
  5. Report the median, the interquartile range and the sample size. A median with an IQR is honest; an average with no spread is not.
  6. Publish the dataset and the crawl date alongside the headline figure.

Two statistical notes. With 200 sites, a difference of five points in average Flesch score between two sectors is probably real; a difference of one point is not. And a sample of homepages tells you about homepages — not about the site, and not about the industry.

How to read a single score

Flesch Reading EaseBandReasonable for
80–100Very easyConsumer support content, children's material, simple notices
70–80EasyConsumer landing pages, newsletters
60–70Plain EnglishThe UK public-sector target; a good default for most B2B pages
50–60Fairly difficultSpecialist B2B, technical explainers
30–50DifficultLegal terms, academic abstracts, regulated disclosures

A homepage below 50 is usually a positioning problem rather than a vocabulary problem: the business is describing itself in the language of its industry instead of the language of its customer. The fix is not to simplify every word — it is to say what the customer gets, in a sentence they could repeat to a colleague.

What we will and will not claim

When the crawl is complete we will publish the sample size, the median, the spread and the dataset, with the crawl date. We will not claim that readability causes rankings — search engines do not publish a readability threshold, and the correlation people cite comes from content quality, not from sentence length. We will not publish a percentage from a sample we cannot show.

If you would like the dataset when it is ready, or you want the same measurement run across a competitor set, get in touch. In the meantime the instrument is free: paste a page into the readability checker, then act on the longest sentences first — plain English writing explains what to cut.