Why is my Lovable site slow? What we found testing 24 sites
November 1, 2026, 4 min read
Lovable gets a site live quickly, but that doesn't make it fast. We ran PageBench on 25 sites listed on the Made with Lovable directory, on a mid-range phone over Slow 4G. One run was interrupted on our side, which left 24 results:
- 3 poor, under 50
- 19 need improvement, 50 to 89
- 2 good, 90 or more
Each dot is one site's mobile performance score, grouped in steps of 5.
Show the data
| Score | Sites |
|---|---|
| Under 50 | 3 |
| 50 to 89 | 19 |
| 90 or more | 2 |
| All scores | 27, 39, 44, 50, 54, 60, 60, 63, 66, 66, 67, 68, 69, 71, 72, 75, 76, 79, 80, 83, 83, 87, 95, 97 |
Largest Contentful Paint
3.7 s
Median. Good is 2.5 s or less.
19 of 24 missed it
Total Blocking Time
524 ms
Median. Good is 200 ms or less.
20 of 24 missed it
Cumulative Layout Shift
0.004
Median. Good is 0.1 or less.
1 of 24 missed it
Each square is one site. Red squares missed the threshold for good.
This is a small sample and a rough picture. Each site got one test from one location, sites choose to be in that directory, and only 17 of the 24 had a visible Lovable reference in their HTML, so some may have moved on or been built differently. We aren't naming the sites, because the point is the pattern.
Four things stood out, in the order we'd tackle them.
- Sites where it's high impact
- Sites where it's lower impact
Oversized or older-format images
18Long JavaScript tasks
20Files that block rendering
23Slow server response
15Too much JavaScript
8Cache settings
24Failed requests
7Layout shift
1
Sorted by how many sites had the issue at high impact. Bars show how many of the 24 sites were flagged.
Show the data
| Issue | Sites flagged | High impact |
|---|---|---|
| Oversized or older-format images | 18 | 12 |
| Long JavaScript tasks | 20 | 9 |
| Files that block rendering | 23 | 8 |
| Slow server response | 15 | 8 |
| Too much JavaScript | 8 | 1 |
| Cache settings | 24 | 0 |
| Failed requests | 7 | 0 |
| Layout shift | 1 | 0 |
1Check whether your pages are sent as real HTML
According to Lovable's docs, apps created since May 13, 2026 (June 22 on Enterprise) use TanStack Start with server-side rendering. Older React and Vite apps are single-page apps for human visitors: the browser gets an almost empty page, then has to download and run JavaScript before it can show anything.
That split showed up in our results:
- Content in the HTML, 16 sites
- Built by JavaScript, 8 sites
Median Largest Contentful Paint
Median Total Blocking Time
Median score, higher is better
To check yours, open your site and view the page source. If the body looks like the example on the right, with no visible text, your page is built by JavaScript. Lovable's docs say existing React and Vite projects can be upgraded to TanStack Start.
Content in the HTML
<body>
<main>
<h1>Your heading</h1>
<p>Your page's text…</p>
</main>
</body>Built by JavaScript
<body>
<div id="root"></div>
</body>Two caveats: eight sites is too few to prove the cause, and server rendering isn't free. The pages with content in the HTML had a slower first response, with a median time to first byte of 1.1 s against 444 ms, likely because the server does more work per request. They still showed content sooner overall.
2Shrink your images
Images were flagged on 18 of the 24 sites, because they were much larger than the size they're displayed at, in an older format, or both. On the sites where each issue came up, resizing could save a median of 303 KB, and converting to WebP a median of 415 KB. Those savings overlap, so don't add them together.
This is the biggest single gain on the worst pages. Two sites weighed over 2 MB and took over 10 seconds to show their main content, and the reports estimated that most of that weight could go.
- What stays
- Estimated savings
Page A
2.3 MB as tested. An estimated 2.1 MB could go.
Page B
2.0 MB as tested. An estimated 1.6 MB could go.
You can do this yourself with our free image optimizer, which runs in your browser and gives you a zip of smaller files. Or paste something like this into Lovable:
Make the images on the home page load faster. Convert them to WebP, and resize each one to at most twice the size it's displayed at. Add width and height attributes. Give the main image at the top fetchpriority="high". Add loading="lazy" to images further down the page. Don't change how the page looks.3Stop Google Fonts from blocking the page
On 15 of the 24 sites, the browser had to wait for the Google Fonts stylesheet before it could draw anything. That matters here because the largest element on the first screen was text on 19 of the sites, not an image, so visitors are mostly waiting for text to appear.
Self-host the fonts this site uses instead of loading them from Google Fonts. Keep only the weights the site actually uses, preload the main one, and use font-display: swap. Don't change how the text looks.4Load less JavaScript up front
Long JavaScript tasks were flagged on 20 of the 24 sites, with a median estimated saving of 653 ms. While those tasks run, the page can't respond to taps. A common cause is a first page that loads code only other pages need, so start there.
Reduce the JavaScript the home page loads. Lazy-load routes and any heavy components that aren't on the first screen, such as charts, editors and animations. Remove libraries that aren't used. Tell me what you changed, and don't change how the page looks or behaves.What you can probably ignore
- Layout shift. Only one of the 24 sites had a problem, so don't start there unless your report says otherwise.
- Cache settings. These were flagged on all 24 sites, but never as high impact, and they don't affect a visitor's first load.
Use your own report, not ours
These are patterns across a sample, and your site may have a different problem. Test your own page, then click Copy for AI to get a prompt with your actual fixes. Paste it into Lovable's chat, shortening it to the top fixes if it's too long.
If you've connected your project to GitHub, you can also use a coding agent on the repository. Lovable says that changes pushed to the active GitHub branch sync back into Lovable. See how to fix your site's speed with Claude Code for the full workflow.