Cursor writes the code, but you choose the stack and the host: Vite + React on Netlify, Next.js on Vercel, something on a VPS. No platform sits between your code and your visitors, so deploy and SEO details are on you. These are the problems that show up most often.
1. Refreshing a page returns 404
Single-page apps built with Vite or Create React App need an SPA fallback. Vercel's guide says it resolves every URL as a file path unless you add a catch-all rewrite in vercel.json ({"rewrites":[{"source":"/(.*)","destination":"/index.html"}]}). On Netlify, add public/_redirects with /* /index.html 200. Exclude your API routes from the rewrite.
2. A blank page in production
Missing build-time env vars, a wrong publish directory or base path, or a crash on first render. The browser console tells you which. → Same causes as: Bolt.new app blank page after deploy
3. Env var changes don't take effect
On Vercel, environment variable changes only apply to new deployments. Variables exposed to the browser (VITE_, NEXT_PUBLIC_) are baked in at build time, so redeploy after every change.
4. Google and AI assistants see an empty page
A Vite + React SPA sends nearly empty HTML. Google renders JavaScript in a separate, sometimes delayed step, and many AI crawlers read raw HTML only. Pre-rendering or server rendering removes that risk. On Next.js, keep metadata exports in Server Components: a page marked "use client" can't export them.
→ Background: Why is my React SPA not indexed?
5. A leftover robots.txt or noindex
A Disallow: / or noindex from staging removes your site from search without any error. Also decide whether you want AI crawlers like GPTBot to read your site.
→ Checklist: Lovable app not showing on Google? (the checks apply to any host)
6. Auth works locally, fails live
Supabase Site URL and Redirect URLs, OAuth callbacks and localhost links are the usual suspects.
→ Fix it: Supabase auth broke after deploy
What FlowCanary's free check looks at
- Homepage status, speed, redirects, HTTPS, and whether HTTP redirects to HTTPS
- Key pages found: signup, login, pricing, checkout, contact, privacy, terms
- Broken links on your homepage
- Raw HTML vs a real browser, with a "Google may see a blank page" warning
- robots.txt (including blocks on AI search crawlers), sitemap,
noindex, and a missing title, description, canonical or og:image on your homepage - Whether missing pages return a real 404 or a "soft 404" (200)
- JavaScript console errors and failed requests on your homepage and key pages
- Forms that appear after load, and pages that overflow on phones
Every issue comes with a paste-ready prompt you can give Cursor to fix it.