AI builders cheat sheet
smartspec is tuned for the specific failure patterns of today's AI site builders. When the tool is recognizable from page output, the fix message names it explicitly.
Lovable
| Rule | What goes wrong |
|---|---|
| page-noindex | Preview's <meta name="robots" content="noindex"> ships to production by accident. |
| page-canonical-localhost | Canonical URL still points at the Lovable preview domain. |
Most-likely fix: in Lovable's project settings turn off "Index protection", then redeploy.
v0 by Vercel
| Rule | What goes wrong |
|---|---|
| page-title-default | <title> is left as "v0 by Vercel" boilerplate. |
| page-empty-source-html | JS-only shell — Googlebot sees an empty <body>. |
Most-likely fix: set a real <title> and <meta name="description"> in
app/layout.tsx. If the page needs SSR for SEO, switch the route to a Server
Component.
Bolt
| Rule | What goes wrong |
|---|---|
| analytics-measurement-id-placeholder | gtag snippet still has G-XXXXXXXXXX. |
| schema-missing-organization | No Organization JSON-LD anywhere on the site. |
Most-likely fix: replace the placeholder GA4 ID with the real one, and add an Organization schema block to the root layout.
Generic AI scaffolds (Replit / Cursor / Vite / CRA)
| Rule | What goes wrong |
|---|---|
| mobile-viewport-missing | No <meta name="viewport"> — mobile rendering breaks. |
| content-thin | Inner pages near-empty (template scaffolding never replaced). |
| sitemap-phantom | Sitemap lists URLs that 404 — placeholder routes. |
| content-boilerplate-hero | H1 is "Welcome to my website" or similar boilerplate. |
How to run only these checks
smartspec audit https://your-site.com --categories page,schema,mobile,content-quality,sitemap,analytics
See the full list of rules per category.