Hide and Seek

Readable without JavaScript

content · Readability · weight 35 of 120

What we check

We fetch your home page and the sample of pages we check the way a bot does: we read the HTML the server sends and don’t run any JavaScript. Then we count the text.

  • An empty shell — a blank placeholder that scripts fill in later — scores 0.
  • Under 200 characters of text scores 0.
  • Under 800 scores 0.5.
  • More than that scores 1.

The score is the average across pages. Pages served as Markdown or plain text are readable and count the same way; pages served as anything else that isn’t a web page (a download, for example) score 0.

Why it matters

Most AI crawlers and answer bots don’t run JavaScript. They read the HTML and move on. If your site is built so the words only appear once scripts run in a browser, those bots see a blank page, and an assistant has nothing to say about you.

This is the single heaviest check in Readability because nothing else here matters if there’s no text to read.

How to pass

  1. Check what a bot sees:
    curl -s https://example.com/ | sed -e 's/<[^>]*>//g' | tr -s ' \n' | head -c 1000
    If your headline and description aren’t in that output, bots can’t see them.
  2. Render pages on the server, or generate them ahead of time. Most frameworks can: Next.js (server rendering or static export), Nuxt, SvelteKit, Astro, Remix, and Gatsby all do it.
  3. If a full change isn’t possible soon, make sure at least the important pages — home, about, product, pricing — are prerendered.
  4. Give each important page more than a few lines: say what it is, who it’s for, and what it does, in text.

Back to the rules