Home / Founders tools / SPA Shell Checker

Free tool

SPA Shell Checker

Paste your website. We fetch the raw HTML (no JavaScript) and tell you if crawlers see real content or an empty SPA shell.

Free SPA shell checker. Paste your website to see if crawlers get real HTML or an empty JavaScript shell. No signup.

  • Website

Check my site

Example

northwind.com

Title. Meetings become a backlog.

Meta description. None

80/100 Checks passed

Title. The right length.

Meta description. Missing.

How it works

  1. 1

    Paste your website

    One URL only. We fetch the HTML your server returns, with no JavaScript execution.

  2. 2

    Press check my site

    We look for empty #root / #app shells, HTML word count, title, meta and H1.

  3. 3

    Read the verdict

    Static HTML, thin HTML, or SPA shell — plus concrete fixes for marketing pages.

Why founders need static HTML

Many AI crawlers and some search paths read the HTML response without running JavaScript. If you ship an empty #root or #app, they see almost nothing.

Counts words in the raw HTML (scripts and styles removed).
Detects empty mount points like #root, #app, #__next.
Checks title, meta description and H1 in the first response.
Flags frameworks that often ship client-only shells.

What a good result looks like

Static HTML means the first response already includes real copy. Thin HTML means some content is there but it is light. SPA shell means crawlers likely see an empty page.

How to fix an SPA shell

Prerender or server-render marketing pages. Keep the logged-in product as an SPA if you want, but do not make your homepage depend on client JS to show text.

What this does not do

  • We fetch the HTML your server returns. Content that only appears after JavaScript runs is invisible to this check — that is the point.
  • A product app can be an SPA. Marketing pages (/ , /pricing, /blog) should still ship crawlable HTML via SSR or prerender.
  • Verdicts are heuristic. Very minimal landing pages can look thin even when intentional.

Frequently asked questions

What is an SPA shell?
A page that returns almost no content in the HTML, only an empty container like <div id="root"></div>. JavaScript later paints the UI. Browsers are fine. Many crawlers are not.
Is this checker free?
Yes. No signup. Paste your website URL and get a verdict plus fixes. There is a rate limit per visitor.
Why does this only ask for my website?
One input keeps the check honest: we fetch what your server actually sends. No mobile/desktop toggle, no compare URL.
My app is React / Next / Vite. Is that bad?
No. Frameworks are fine when you SSR or prerender. The problem is an empty client shell on pages you want indexed.
What should I do if I fail?
Ship real HTML for marketing URLs: SSR, prerender, or a static site for /, /pricing and /blog. Re-run this checker after you deploy.
Does Google always execute JavaScript?
Google can render JS, but it is slower and less reliable than clean HTML. AI answer engines and other crawlers often skip JS entirely.

Other free tools

  • Landing Page Analyzer

    Free landing page analyzer. Instant score across speed, SEO, best practices and accessibility — with actionable recommendations.

  • Backlink Checker

    Free backlink checker. Paste a domain for Domain Rating, referring domains, backlinks and spam score. Sign in free to see who links to you.

List your product when the page is ready for founders to find it.