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
Paste your website
One URL only. We fetch the HTML your server returns, with no JavaScript execution.
-
2
Press check my site
We look for empty #root / #app shells, HTML word count, title, meta and H1.
-
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.
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.