Vibecoder rules
The 10 rules that catch the specific failure modes of AI site builders. When smartspec can detect the tool from page output, the finding's fix message names it explicitly so you recognize what to change.
Lovable
| Rule ID | Catches |
|---|---|
| page-noindex | Preview's <meta name="robots" content="noindex"> leaks to production. |
| page-canonical-localhost | Canonical URL still points at the Lovable preview domain. |
v0 by Vercel
| Rule ID | Catches |
|---|---|
| page-title-default | <title> left as boilerplate ("v0 by Vercel", "Vite + React", etc.). |
| page-empty-source-html | JS-only shell — Googlebot sees an empty <body>. |
Bolt
| Rule ID | Catches |
|---|---|
| analytics-measurement-id-placeholder | gtag with G-XXXXXXXXXX or similar. |
| schema-missing-organization | No Organization JSON-LD anywhere on the site. |
Generic AI scaffolds (Replit, Cursor, Vite, CRA)
| Rule ID | Catches |
|---|---|
| mobile-viewport-missing | No <meta name="viewport">. Common Vite / CRA default. |
| content-thin | Inner pages near-empty — template scaffolding never replaced. |
| sitemap-phantom | Sitemap lists URLs that 404. |
| content-boilerplate-hero | H1 reads "Welcome to my website" / "Hello world" / "Lorem ipsum…". |
How to run only these
smartspec audit https://your-site.com \
--categories page,schema,mobile,content-quality,sitemap,analytics
Why this matters
Generic SEO tools mark these as "default title" or "missing viewport" with generic advice. smartspec knows the source — so the fix is "in Lovable, turn off Index protection", not "consider checking your robots configuration".