███████╗██╗ ██╗██████╗ ███████╗██████╗ ███╗ ██╗ ██████╗ ██╗ ██╗ █████╗
██╔════╝██║ ██║██╔══██╗██╔════╝██╔══██╗████╗ ██║██╔═══██╗██║ ██║██╔══██╗
███████╗██║ ██║██████╔╝█████╗ ██████╔╝██╔██╗ ██║██║ ██║██║ ██║███████║
╚════██║██║ ██║██╔═══╝ ██╔══╝ ██╔══██╗██║╚██╗██║██║ ██║╚██╗ ██╔╝██╔══██║
███████║╚██████╔╝██║ ███████╗██║ ██║██║ ╚████║╚██████╔╝ ╚████╔╝ ██║ ██║
╚══════╝ ╚═════╝ ╚═╝ ╚══════╝╚═╝ ╚═╝╚═╝ ╚═══╝ ╚═════╝ ╚═══╝ ╚═╝ ╚═╝
8 words before JavaScript. 832 after. Here is the audit.
On 18 September 2026 the same checks were pointed at two versions of one client’s site: the site as it was delivered, and the same site after we rebuilt it. Every row below comes from the bytes the server sent — not from a tool’s score — and the commands are printed so anyone can repeat them. The client’s name and domain are withheld at their request. The numbers are not.
$ one client · two versions · one day · served bytes only
01 the method $ cat ./method.sh
What was run, and what a row here is not.
$ curl -4 -sL <site> | wc -w # words in the served file $ curl -4 -sL <site> | grep -c 'application/ld+json' # structured-data blocks $ curl -4 -sI <site>/robots.txt # a crawl file, or the page’s HTML? $ curl -4 -sL <site> | grep -o '<h1[^>]*>' | wc -l # a heading a machine can read
Not a Lighthouse or PageSpeed score — those run a browser; this runs on the file a crawler gets.
Not a rank, not a traffic figure, not a lead count.
The prompt row is the one exception: it came from asking one AI engine 14 customer-style questions about the client’s market and counting how often the practice is named. Answers were recorded on 2026-09-18.
02 the numbers $ cat ./numbers.tsv
One client site, as delivered, then rebuilt. Same day, same commands, same machine.
| what was checked | as delivered | after the rebuild |
|---|---|---|
| words visible without running JavaScript | 8 | 832 |
| a heading (h1) in the served HTML | none | one |
| structured-data blocks (schema.org) | 0 | 3 — business, FAQ, breadcrumb |
| robots.txt | returns the page’s own HTML | real text file: Allow: / + sitemap line |
| sitemap.xml | returns the page’s own HTML | real XML sitemap |
| llms.txt | returns the page’s own HTML | missing at first measurement → real text/plain file (shipped 2026-09-18) |
| named by an AI engine, 14 buying-intent prompts | 0 of 14 | not re-measured yet * |
* earned mentions need indexing time and third-party pages; the rebuild is not live on the client’s own domain yet, so the row cannot be measured honestly today. It will be republished here — including if it is still 0.
for reference, the same measurement on this site: 1,478 words visible without JavaScript and 5 structured-data blocks.
03 what this claims, and what it does not $ cat ./limits.md
A crawler that does not run JavaScript can now read the page: 832 words, a heading, three structured-data blocks, a robots file and a sitemap. Legibility is a prerequisite, and it is measurable. This is that measurement.
And the outcome the practice reports: more enquiries and more calls. That is the client’s own description, given to us — not a figure we measured, so it is printed as a description with no percentage attached. When their own analytics have run for a full period, this line gets the number.
Being readable is not the same as being recommended. Whether an AI engine names the practice is the earned-media row above, and it is still open on purpose.
One client — a wellness practice — measured before and after, once, on one day. No averaging, no sample dressing, no third-party benchmark borrowed to make the gap look bigger.
llms.txt was absent when this audit was run, so it was printed as absent rather than left out. While the page was being written, the client’s build got the file — it now serves as text/plain. The row above keeps both states, because a gap that is printed and then closed is worth more than a table that was always clean.
04 the questions this raises $ cat ./faq.md
“What is a structured-data block?”
“Why does a site that looks finished read as 8 words?”
“Can these numbers be checked?”
The same four checks can be run on your site before anything is sold to you. If the served file is already legible, that is worth knowing too.