Blog

Why is my Lovable site slow? What we found testing 24 sites

November 1, 2026, 4 min read

A workbench of small brass gauges with most needles in the middle and two pointing high, glowing blue

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:

Only 2 of 24 sites scored 90 or more
  • 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
ScoreSites
Under 503
50 to 8919
90 or more2
All scores27, 39, 44, 50, 54, 60, 60, 63, 66, 66, 67, 68, 69, 71, 72, 75, 76, 79, 80, 83, 83, 87, 95, 97
Slow to show content and slow to respond, but stable

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.

Images and JavaScript cost the most
  • Sites where it's high impact
  • Sites where it's lower impact
  • Oversized or older-format images

    18
  • Long JavaScript tasks

    20
  • Files that block rendering

    23
  • Slow server response

    15
  • Too much JavaScript

    8
  • Cache settings

    24
  • Failed requests

    7
  • Layout 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
IssueSites flaggedHigh impact
Oversized or older-format images1812
Long JavaScript tasks209
Files that block rendering238
Slow server response158
Too much JavaScript81
Cache settings240
Failed requests70
Layout shift10

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:

Pages sent as real HTML did better
  • Content in the HTML, 16 sites
  • Built by JavaScript, 8 sites

Median Largest Contentful Paint

3.0 s
5.3 s

Median Total Blocking Time

516 ms
1.1 s

Median score, higher is better

72
58

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.

Two pages that took over 10 seconds were mostly image weight
  • 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:

Paste 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.

Paste into Lovable
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.

Paste into Lovable
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.