Health Check for Apps Built with Cursor: What Breaks After Deploy

Updated 19 Oct 2026

Check your app now: free 30-second health check

Paste your live URL. We'll show what visitors and Google actually see. No signup.

Passive check only. We never submit forms or log in.

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.

Run the free 30-second check on your app →

FAQ

Does FlowCanary need access to my repo?

No. It checks your live public URL from the outside, like a visitor. Nothing is installed and no code is read.

Which hosts does it work with?

Any host, as long as the URL is public: Vercel, Netlify, Cloudflare, Render, a VPS.

Is it safe to run on production?

Yes. The check is passive. It never logs in, clicks, submits forms or creates accounts.

Can it tell that my app was built with Cursor?

Not reliably. Cursor doesn't leave a fingerprint like hosted builders do. Fix prompts are written so you can paste them into Cursor either way.

Other builders

Run the free 30-second check

Back to the FlowCanary homepage