Hosting issues in Lovable fall into three categories: lovable.app publishing problems (changes not deploying, custom domain errors), external hosting misconfigurations (missing SPA fallback, wrong build output directory), and DNS/Cloudflare issues (prohibited IP errors, SSL certificate delays). For lovable.app, click Publish → Update after every change. For Vercel or Netlify, set build output to dist/, Node version to 22, and add SPA fallback routing. For custom domains, allow up to 48 hours for DNS propagation.
Why hosting problems occur with Lovable projects
Lovable provides built-in hosting at lovable.app, but many users also deploy to Vercel, Netlify, or other platforms for custom domains or specific infrastructure needs. Each hosting approach has its own set of potential issues. On lovable.app, the most common problem is changes not appearing after editing. Lovable does not auto-publish — you must click Publish → Update to deploy new changes. Users frequently edit their app, see it working in preview, and assume the live site updated. Custom domain setup on lovable.app can also fail during periods of high platform load, as documented on status.lovable.dev. For external hosting platforms, the main issues are SPA routing failures (404 errors on page refresh), missing environment variables (Lovable Secrets are not exported to Vercel/Netlify), and incorrect build settings. Lovable projects are Vite apps that output to dist/ and require Node 22. Getting any of these wrong produces a broken deployment. DNS and SSL issues are the third category. When configuring a custom domain on any platform, DNS changes take time to propagate. Cloudflare users sometimes see Error 1000 (DNS points to prohibited IP) because the domain is still being configured on the hosting side.
- Changes not published: edits work in preview but Publish → Update was not clicked
- SPA fallback not configured: direct URL navigation returns 404 on external hosting platforms
- Missing environment variables: VITE_SUPABASE_URL and other secrets not set on the hosting platform
- Wrong build output directory: hosting platform looks for build output in the wrong folder
- DNS propagation delay: custom domain returns errors for up to 48 hours after DNS changes
- Cloudflare proxy conflict: orange-clouded DNS records interfere with hosting platform SSL
Error messages you might see
Error 1000: DNS points to prohibited IPThis Cloudflare error appears when a custom domain's DNS is pointing to an IP that Cloudflare blocks. This often happens during the initial setup period. Wait for DNS propagation (up to 48 hours) or check that your DNS records match the hosting platform's instructions exactly.
Managing custom domains in Lovable is currently failing due to high loadA lovable.app platform issue where custom domain operations are rate-limited. This is a temporary problem — check status.lovable.dev for updates and try again later.
404 - Page Not Found (on direct URL navigation or page refresh)The hosting platform does not have SPA fallback routing configured. It tries to find a file matching the URL path instead of serving index.html. Add a rewrite rule to serve index.html for all paths.
Build failed: Missing VITE_SUPABASE_URLThe Lovable project references Supabase environment variables that are not set on the hosting platform. Add VITE_SUPABASE_URL, VITE_SUPABASE_PUBLISHABLE_KEY, and VITE_SUPABASE_PROJECT_ID in the hosting platform's environment variables settings.
Before you start
- A Lovable project ready to deploy (working correctly in the preview panel)
- For lovable.app: access to the Publish flow (click the Publish icon, top-right)
- For external hosting: a GitHub-connected Lovable project and an account on Vercel, Netlify, or your hosting platform
- For custom domains: access to your domain registrar's DNS settings
How to fix it
Publish or update your lovable.app deployment
Lovable does not auto-publish changes — you must manually trigger each deployment
Publish or update your lovable.app deployment
Lovable does not auto-publish changes — you must manually trigger each deployment
Click the Publish icon in the top-right corner of the Lovable editor. If this is your first publish, configure the Published URL (default: [subdomain].lovable.app), set website metadata (favicon, title, meta description), and click Review security for an AI vulnerability scan. Then click Publish. For subsequent updates, click Publish → Update. If changes still do not appear, try opening the published URL in an incognito window to bypass caching.
Expected result: Your published site at [subdomain].lovable.app shows the latest version of your app.
Configure SPA fallback routing on external hosting
Without a fallback rule, the hosting platform returns 404 for any URL that is not index.html
Configure SPA fallback routing on external hosting
Without a fallback rule, the hosting platform returns 404 for any URL that is not index.html
Lovable apps are single-page applications where React Router handles navigation on the client side. When a user navigates directly to a URL like /dashboard, the hosting platform needs to serve index.html instead of looking for a /dashboard file. For Vercel, add a vercel.json file. For Netlify, add a _redirects file in the /public folder. Ask Lovable to create the appropriate file for your hosting platform.
// No SPA fallback configured// Direct navigation to /dashboard returns 404// vercel.json — for Vercel hosting{ "rewrites": [ { "source": "/(.*)", "destination": "/index.html" } ]}// OR public/_redirects — for Netlify hosting// Content of the file:// /* /index.html 200Expected result: All routes serve index.html on the hosting platform. React Router handles the URL and renders the correct page.
Set environment variables on external hosting platforms
Lovable Secrets are not automatically exported — environment variables must be set manually on each hosting platform
Set environment variables on external hosting platforms
Lovable Secrets are not automatically exported — environment variables must be set manually on each hosting platform
For projects using Supabase or other external services, set the required environment variables in your hosting platform's dashboard. On Vercel: go to your project → Settings → Environment Variables. On Netlify: go to Site settings → Environment variables. Add at minimum: VITE_SUPABASE_URL, VITE_SUPABASE_PUBLISHABLE_KEY, and VITE_SUPABASE_PROJECT_ID. You can find these values in Lovable's Cloud tab → Secrets or in the .env file in Dev Mode. Variables must use the VITE_ prefix to be available at build time.
Expected result: The build succeeds on the hosting platform with all environment variables available. The deployed app connects to Supabase without 'Invalid API Key' errors.
Configure custom domain DNS settings
Custom domains require DNS records pointing to the hosting platform's servers
Configure custom domain DNS settings
Custom domains require DNS records pointing to the hosting platform's servers
In your domain registrar's DNS settings, add the records specified by your hosting platform. For lovable.app custom domains: follow the instructions shown in the Lovable Publish panel. For Vercel: add a CNAME record pointing to cname.vercel-dns.com. For Netlify: add a CNAME to your-site.netlify.app. If using Cloudflare as DNS proxy, try setting the DNS record to 'DNS only' (grey cloud) during initial setup to avoid SSL conflicts. Allow up to 48 hours for DNS propagation. If this involves coordinating DNS, SSL, and multiple platform settings, RapidDev's engineers have set up custom domains across 600+ Lovable projects.
Expected result: Your custom domain resolves to your hosted Lovable app with a valid SSL certificate. The site loads correctly on the custom domain.
Verify build settings for external hosting
Incorrect build settings cause deployment failures or deploy the wrong files
Verify build settings for external hosting
Incorrect build settings cause deployment failures or deploy the wrong files
Confirm your hosting platform has the correct build settings: Build command is npm run build, Output directory is dist (not build or public), and Node version is 22. On Vercel, check these in your project's Settings → General → Build & Development Settings. On Netlify, check Site settings → Build & deploy → Build settings. If the hosting platform auto-detected wrong settings, override them manually.
Expected result: The hosting platform builds your Lovable project successfully and serves the correct dist/ output.
Complete code example
1{2 "rewrites": [3 {4 "source": "/(.*)",5 "destination": "/index.html"6 }7 ],8 "headers": [9 {10 "source": "/(.*)",11 "headers": [12 {13 "key": "X-Content-Type-Options",14 "value": "nosniff"15 },16 {17 "key": "X-Frame-Options",18 "value": "DENY"19 },20 {21 "key": "Referrer-Policy",22 "value": "strict-origin-when-cross-origin"23 }24 ]25 },26 {27 "source": "/assets/(.*)",28 "headers": [29 {30 "key": "Cache-Control",31 "value": "public, max-age=31536000, immutable"32 }33 ]34 }35 ]36}Best practices to prevent this
- Always click Publish → Update after making changes in Lovable — the live site does not update automatically
- Add SPA fallback routing (vercel.json or _redirects) to every external hosting deployment to prevent 404 errors on direct navigation
- Set all VITE_ environment variables on your hosting platform — Lovable Secrets do not transfer automatically
- Use Node version 22 and output directory dist/ in your hosting platform's build settings
- Allow up to 48 hours for custom domain DNS propagation before troubleshooting DNS errors
- If using Cloudflare as DNS proxy, set records to 'DNS only' (grey cloud) during initial setup, then enable proxying after SSL is confirmed
- Test your deployment in an incognito window to bypass browser cache and verify the latest version is live
- Check status.lovable.dev before troubleshooting lovable.app hosting issues — platform incidents cause deployment failures
Still stuck?
Copy one of these prompts to get a personalized, step-by-step explanation.
I'm having hosting issues with my Lovable (lovable.dev) project. The project uses Vite + React + TypeScript + Supabase. Hosting platform: [lovable.app / Vercel / Netlify / other] Custom domain: [yes/no, domain name] Problem: [describe what's happening — 404 errors, blank page, DNS errors, changes not appearing] Here is my vercel.json or _redirects file (if any): [paste file contents or 'none'] Please: 1. Diagnose the most likely cause based on my hosting platform and symptoms 2. Show me the exact configuration file I need (vercel.json, _redirects, etc.) 3. List the environment variables I need to set and where to find them 4. Tell me if this is a DNS propagation timing issue vs. a configuration issue
My published site is not working correctly. Please check the project for hosting-related issues: verify that index.html has correct asset paths, check that all environment variables referenced in the code are documented, and create a vercel.json file with SPA rewrite rules if one does not exist. Also check vite.config.ts for any configuration that might cause build failures on external hosting platforms.
Frequently asked questions
Why are my changes not showing on the published lovable.app site?
Lovable does not auto-publish changes. After editing, click the Publish icon (top-right) → Update to deploy the latest version. If changes still do not appear, open the URL in an incognito window to bypass browser caching.
How do I fix 404 errors on my hosted Lovable app?
Add SPA fallback routing on your hosting platform. For Vercel, create a vercel.json file with a rewrite rule sending all paths to /index.html. For Netlify, add a _redirects file in /public with the content: /* /index.html 200. This tells the server to let React Router handle all routes.
Do I need to set environment variables on Vercel or Netlify?
Yes. Lovable Secrets are stored in your Lovable project and are not automatically exported. Set VITE_SUPABASE_URL, VITE_SUPABASE_PUBLISHABLE_KEY, and VITE_SUPABASE_PROJECT_ID manually in your hosting platform's environment variable settings.
Why does my custom domain show Error 1000 on Cloudflare?
Error 1000 (DNS points to prohibited IP) usually appears during initial DNS propagation or when Cloudflare's proxy conflicts with the hosting platform's SSL setup. Try setting the DNS record to 'DNS only' (grey cloud) and wait up to 48 hours for propagation.
What build settings should I use for Lovable projects on Vercel?
Build command: npm run build. Output directory: dist. Node version: 22. These match Lovable's default Vite project configuration. If Vercel auto-detected different settings, override them in Settings → General → Build & Development Settings.
Can I host a Lovable app on my own server?
Yes. Lovable apps are standard Vite + React projects. Export the code via GitHub, run npm run build to generate the dist/ folder, and serve it from any static file server (Nginx, Apache, Caddy, S3, etc.). Configure SPA fallback routing on your server.
What if I can't resolve hosting issues myself?
Hosting problems that involve DNS configuration, SSL certificates, and multi-platform environment variable coordination can be tricky. RapidDev's engineers have deployed and configured hosting across 600+ Lovable projects and can get your site live quickly.
Talk to an Expert
Our team has built 600+ apps. Get personalized help with your issue.
Book a free consultation