Launch checklist for AI-built sites (Lovable, Bolt, v0, Cursor, Replit)

What sites built with AI app builders and coding agents usually get wrong before launch: SEO tags, share previews, client-only rendering, accessibility, broken links, security, and 404s.

By Sumit JhaUpdated October 15, 20269 min readFor: Vibe coders, indie hackers, and anyone shipping with AI tools

Short answer

AI app builders get a site working fast but often skip launch basics. Before you share the link, give every page its own title, description, and share image, make sure the content is in the server HTML (not only rendered by JavaScript), remove placeholder text and dead links, fix icon buttons without labels and low-contrast text, return a real 404, add security headers, and keep secret keys out of the browser.

Paste your live URL into the free website checker for a report covering most of this list.

Why AI-built sites need a pass

Tools like Lovable, Bolt, v0, Replit, and Cursor get an app working in hours. They optimize for what you can see in the preview. The things you cannot see, such as meta tags, what crawlers receive, keyboard access, and response headers, are easy to skip, and they decide whether the launch link looks good, ranks, and works for everyone.

Titles, descriptions, and previews

  • Same title on every page. Single-page apps often keep the template's title on every route. Give each page a unique title of about 50 to 60 characters.
  • Missing meta description. Write one per page, about 150 characters, that says what the page offers.
  • Broken or default share image. Set og:image to an absolute https URL of a 1200×630 image, and twitter:card to summary_large_image. Test with the meta tag checker.
  • Default favicon. Replace the framework or builder icon with your own.

Client-only rendering

Many builders output a Vite + React single-page app. The server sends an almost empty HTML file and JavaScript builds the page in the browser. Social preview bots and most AI crawlers do not run JavaScript, so they see no content and often no page-specific tags.

  • Check view-source: for your real text.
  • For public marketing pages, use prerendering, static generation, or a framework with server rendering such as Next.js, Astro, or Remix.
  • Make sure robots.txt lets AI search crawlers in. See robots.txt for AI crawlers.

Placeholder content and links

  • Search for lorem ipsum, "Acme", "Your Company", sample testimonials, and stock prices.
  • Find links that point to # or to pages that were never built. Run the broken link checker.
  • Check that footer links (privacy, terms, contact) go to real pages.
  • Make sure forms actually send somewhere and show a success message.

Accessibility

  • Icon-only buttons without labels. Menu, close, and social icons need an aria-label.
  • Low-contrast gray text. Light gray on white often fails the 4.5:1 minimum. Test with the contrast checker.
  • Clickable divs. Use real <button> and <a> elements so keyboard users can reach them.
  • Missing alt text and form labels. See the WCAG 2.2 checklist.

Security and secrets

  • Search the built JavaScript for secret API keys. Only public, restricted keys belong in the browser.
  • If you use Supabase or Firebase, enable Row Level Security or security rules on every table.
  • Add security headers (HSTS, a Content Security Policy, X-Content-Type-Options). Grade them with the security headers checker.
  • Redirect http to https and remove any public preview or debug routes.

404, sitemap, and analytics

  • Real 404s. Single-page app hosting often returns status 200 with the app shell for every URL. Search engines treat these as soft 404s. Configure your host to return 404 for unknown paths.
  • robots.txt and sitemap. Publish both at the root and submit the sitemap in Google Search Console and Bing Webmaster Tools. Make sure no noindex is left over from a preview environment.
  • Analytics and legal. Add analytics, a privacy policy, and cookie consent if your analytics needs it.

For the full list, see the website launch checklist.

Questions

Are Lovable and Bolt sites bad for SEO?

Not inherently, but many AI app builders generate a single-page React app where the server sends a nearly empty HTML shell and JavaScript renders the content. Google can render JavaScript, though more slowly, while most AI crawlers and social preview bots cannot. Prerendering or server rendering your public pages fixes this.

How do I check what crawlers see on my AI-built site?

Open view-source:yourdomain.com in Chrome. If you see your headings and text, crawlers can too. If you only see a <div id="root"></div> and script tags, they see an empty page. The free website checker on this site also reports this.

Can I fix these issues by prompting the AI builder?

Usually, yes. Be specific: name the page, the exact problem, and the expected result, for example "Add a unique <title> and meta description to the pricing page, and an og:image of 1200×630". Shipcheck copies each issue as a ready prompt for this reason.

Is it safe to have my Supabase key in the frontend?

The Supabase anon (public) key is designed to be public, but only if Row Level Security is enabled on every table. The service role key must never appear in browser code. The same applies to any secret API key: if it is in the bundle, anyone can read it.

Tools for this guide