Serve Real HTML, Not an Empty App Shell

AI Readiness Analyzer

What is this warning?

The HTML your server returns contains almost no text, no headings and no links: just a mount point and some scripts. A browser fills this in, and Googlebot will eventually render it on a second pass. Most AI crawlers do neither. They read what the server sent, which in this case is nothing.

How to Fix This Issue

How to Fix It

The Problem

The server returns a shell that only a browser can make sense of:

<body>
  <div id="root"></div>
  <script src="/static/js/main.js"></script>
</body>

The Solution

Render the page's content on the server. Every mainstream framework supports this: Next.js server components, Nuxt's universal mode, Angular Universal, or a static build for pages that do not change per request. The content belongs in the response, with JavaScript enhancing it afterwards:

<body>
  <div id="root">
    <h1>Choosing a running shoe</h1>
    <p>A running shoe has to match the shape of your foot...</p>
  </div>
  <script src="/static/js/main.js"></script>
</body>

Why This Works

A crawler that does not execute scripts can only use what arrived in the response body. Server rendering puts your content there, where every crawler can read it, without changing what a browser shows.

SEO Impact

This issue can affect your site's search engine rankings and user experience. Addressing it promptly helps ensure optimal performance and visibility in search results.

Automatic Detection

bseoa automatically checks for this warning during site analysis, along with hundreds of other technical SEO issues.

Other AI Readiness Analyzer issues

Ready to Unlock Your Site's Full SEO Potential?

Choose the license that fits your needs and start getting the deep, actionable insights you deserve.