Skip to content

Launch · November 6, 2026 · 8 min read

Bolt app works in preview but not on the live site: what to check

Bolt's preview runs in your browser; the live site runs on a host. When they differ, check the browser console, environment variables and secrets, the build output folder, routes on refresh, hosting limits, and the URLs your backend allows.

Short answer: Bolt's preview runs inside your browser, with your editor's settings, while the live site is built and served by a host. When the live site is blank or broken, open it in a private window and read the browser console first. The usual causes are a missing environment variable or secret in the live build, a host serving the wrong folder, routes that 404 on refresh, sign-in or API calls blocked because the live URL is not in your backend's allowed URLs, and a site paused by hosting limits.

Step 1: read the console on the live site

Open the live URL in a private window, open developer tools, and reload. The first red error usually tells you what failed: an undefined variable, a failed request, a blocked origin. Also check the Network tab for requests that return 401, 403 or 404.

Step 2: environment variables and secrets

The preview may have values that the live build does not. Check that every variable the app reads is set where the live build runs: Bolt's Secrets for Bolt hosting, or the host's environment settings if you deploy elsewhere. In Vite apps, only variables prefixed with VITE_ are exposed to the browser, and anything with that prefix is public, so keep secret keys server-side.

Step 3: the right build folder

If you deploy to another host, its publish folder must match the build output. Netlify's guide for Bolt apps notes that Vite builds to dist. Pointing the host at the project root or a wrong folder serves an empty page. A Netlify forum thread about a blank live Bolt site started after a manual folder upload.

Step 4: routes that 404 on refresh

Click from the home page to /pricing: it works. Reload /pricing: 404. Single page apps need the host to send every route to index.html. Ask Bolt to add the rewrite for your host.

Step 5: allowed URLs in your backend

If sign-in or data loading fails only on the live site, your auth provider or database may only allow the preview URL. Add the live domain, with https, to the allowed redirect URLs and allowed origins, then test sign-in and password reset on the live site.

Step 6: hosting limits

Bolt's docs say all users can publish to a .bolt.host address, custom domains need Pro, free sites go offline when they hit their monthly bandwidth or request limits until the next cycle, and Pro sites pause at the spending cap you set. Limits are per account, shared by all your sites. If the site was fine yesterday, check usage first.

Step 7: test on a phone

The preview runs on your laptop. Open the live site on a phone over mobile data and walk the main path: signup, booking or checkout. Our pre-launch conversion checklist lists what else to look for.

Where Persqo helps

You can do every step above yourself. Persqo tests the live app, not the preview:

  • Paste the Persqo prompt into your Bolt project's chat and your app gets a Persqo admin page at /admin/persqo. The key goes in Bolt's Secrets, never in the chat.
  • An AI visitor opens the live app on desktop and mobile and reports console errors, broken routes and blocked paths, with screenshots and a replay. Every finding comes with a fix prompt you paste into Bolt.
  • One click: the Persqo fix runtime the prompt adds to your Vite build applies the home page title and description, business and FAQ schema, the viewport tag and llms.txt, each with Undo, live the next time you publish.
  • Bolt syncs with GitHub both ways. Connect the same repository and Persqo opens a pull request for file fixes such as llms.txt and robots.txt. You merge it; Persqo never merges.

More on Persqo for Bolt.

Sources

Last updated: November 6, 2026.

Questions people ask

Why is my Bolt site a blank page after deploy?

Most often a JavaScript error on load, such as a missing environment variable, or a host serving the wrong folder. Open the browser console on the live site; the first red error usually names the cause.

Why does a page 404 when I refresh it on the live site?

Single page apps handle routes in the browser. If the host does not send every route to index.html, a refresh on /pricing asks the server for a file that does not exist. Add the host's rewrite rule for single page apps.

Why did my Bolt site go offline?

Bolt's docs say free sites go offline when they reach their monthly hosting limits until the next billing cycle, and Pro sites pause when they reach the spending cap you set.