Skip to content
CitedByAudit a site

Checks / Content and readability

Page is empty without JavaScript

AI crawlers do not run JavaScript. The server HTML has almost no text, so the crawler sees an empty page.

js_empty · Content and readability · Error

What triggers it

The HTML a crawler receives for a page holds fewer than 60 words in all (menus and footers included) and at least 3 script tags, and the page is not noindex.

What to change

Server-render or pre-render the page (SSR/SSG), or put the key text in the HTML.

Example

HTML to put in the page:

<main>
  <h1>Blue trail running shoes</h1>
  <p>Waterproof trail running shoes with free returns for 30 days.</p>
</main>

How to confirm the fix

  1. Run curl -s <url> | grep -c '<p' (or View Source, not Inspect): the main text must be in the HTML
  2. Press 'Re-check 1 page': the page reads 'Readable without JavaScript'

How common it is

On a sample, the study measured homepages with under 60 words of text in the HTML sent (the check also needs 3 or more scripts, which the study did not record, so at most this many): 41 of 293 Show HN sites (14%), and 48 of 66 Lovable sites (73%).

Fetched 20 and 21 Oct 2026 as CitedBot, robots.txt obeyed, no JavaScript. Study: Launch crawl 2026-10 (English).

Counted with the check's own rule, leaving out sites that refused the request (HTTP 403): CSV of the counts.

About this check

Check IDjs_empty
Report sectionContent and readability
SeverityError
How it is decidedMeasured: read directly from the page or the server's response.
AddedBefore 19 Oct 2026 (versions 1 and 2), or a site-wide check with no version date yet
StatusMeasured in every report
Report gives the codeNo, the fix is described in words

Settings by platform

Where the setting lives on a few platforms, from each platform's own help page, read on 27 October 2026. On any other server, apply the fix box above.

Next.js

In Next.js, layouts and pages are Server Components by default: they are rendered to HTML on the server. Fetch data and write the page's text there, and add 'use client' only to the interactive parts. (Next.js help page)

Lovable

Apps created from 13 May 2026 (22 June 2026 on Enterprise plans) use TanStack Start and return fully rendered HTML on every request. Older React + Vite apps are pre-rendered only for verified crawlers (search engines, AI search crawlers, social-preview bots, verified SEO tools); any other bot sees the single-page app. Lovable's migration moves an older app to server rendering. (Lovable help page)

In Lovable: Project settings → General → Project actions → Migrate to TanStack Start. (Lovable help page)

Related checks

See whether it applies to your site

Paste your address and we crawl up to 10 pages and show every issue we find, with its fix. No account, no card.

Every plan crawls up to its page limit and lists these checks with the fix: plans.

How an audit works: method