Skip to main content

Homepage load time · Rashmi Kumari

Rashmi Kumari: A 51 MB Homepage Cut To 4.6 MB

Rashmi Kumari's Shopify homepage was downloading 51.6 MB on a phone, most of it three autoplay hero videos. One theme change dropped that to 4.6 MB and moved the Lighthouse score from 39 to 79.

Bar chart comparing homepage download weight before and after the fix: video 46.7 MB to 1.3 MB, everything else 5.0 MB to 3.3 MB
The video group fell from 46.7 MB to 1.3 MB. Everything else on the homepage, images, scripts, fonts and HTML, fell from 5.0 MB to 3.3 MB.
Shopify & Ecommerce5 minute readBy Rizwan QaiserRead the case study

Rashmi Kumari’s Shopify homepage was downloading 51.6 MB on a phone. Most of that weight was three video clips. They played on their own, the moment the page opened. One clip was hidden on phone screens. It still downloaded every time. Lighthouse is Google’s page-speed tool. It scored this page 39 out of 100. One theme change fixed the video loading. The download fell to 4.6 MB. The score rose to 79. Both happened the same day.

Homepage weight and score moved in one theme change, measured same session, 22 Sep 2026.
MeasureBeforeAfter
Lighthouse mobile score3979
Homepage download51.6 MB4.6 MB
Video bytes46.7 MB1.3 MB
Simulated LCP9.4 s3.5 s
Homepage weight and score moved in one theme change, measured same session, 22 Sep 2026.

Three videos played on load, and one was invisible

The homepage carried three video clips. One played in the mobile hero. One played in the desktop hero. One sat behind a text block that both devices shared. Their original files were large: 26.4 MB, 9.8 MB and 30.8 MB. That is 67 MB combined. All three downloaded on every visit, before a shopper touched anything.

The desktop clip was hidden on phones. A line of code, display: none, hid it from view. Hiding something from view does not stop a phone from downloading it. Nothing in the old code blocked the request. A shopper on a slow connection still pulled a 9.8 MB file. They would never even see it.

Hiding a video does not stop it downloading. Only code that waits to load a video until just before it plays does that. This store’s old code loaded every video right away, hidden or not.

We changed when each video is allowed to start

First, we made a copy of the live theme. A theme is the code that controls how a Shopify store looks and behaves. We checked all 333 files in the copy against the original, file by file, before changing anything.

The old code loaded every video’s file the moment the page opened, hidden or not. The new code waits. It watches the page as a shopper scrolls. Only when a video is about to come into view does its file start loading. A hidden video never comes into view, so its file never loads. A still image loads first instead, so the page always has something to show.

Compression cut every video file by 85 percent or more

None of the three videos was removed. Each one was re-encoded instead, meaning compressed down to a much smaller file without cutting its length. Then each was set to load only once a shopper could actually see it, using the rule above.

Each hero video re-encoded before the theme published, 22 Sep 2026.
VideoOriginalRe-encoded
Mobile hero26.4 MB1.31 MB (406x720, 28.6 s)
Desktop hero9.8 MB0.18 MB (1920x1080, 10.1 s)
Image-with-text, mobile rendition30.8 MB1.80 MB
Image-with-text, desktop rendition30.8 MB4.56 MB
Each hero video re-encoded before the theme published, 22 Sep 2026.

Compression did the work, not deletion. Every video kept its place on the page. We published the fix as a new theme, but only after checking it against the live theme file by file. And if anything had gone wrong, republishing the old theme would have brought the original straight back. inal.

Google’s hosted check still timed a slow paint, and the second fix is not yet proven

Cutting the download size didn't fully fix the load time Google's hosted check reports. We'd rather say that plainly than round it up.

That check is PageSpeed Insights. It runs the same kind of simulated phone test, but on Google's own servers. After the fix went live, it tested the homepage three times. Each run recorded a slow Largest Contentful Paint, the moment the page's main content finishes appearing on screen, at between 12.3 and 12.5 seconds. The next day, a separate check on a product page came back even slower, at 12.6 seconds.

Lighthouse, run on our side, never came close to those numbers on either theme. It measured around 3 seconds on both. That gap matters. The byte reduction is real, and we measured it two separate ways. But the slow paint only shows up on Google's hosted check.

A second fix is already aimed at that gap, sitting on a separate copy of the theme. In this version, the hero video waits until two things happen, the page finishes loading and the browser records its main paint, then holds off another 250 milliseconds. So unless the shopper scrolls or taps first, the video can't load before that paint. We checked it against the live theme, and the founder published it on 23 September 2026. Whether it actually closes the gap is still an open question. One PageSpeed check on the homepage later that day read 3.5 seconds, but one run isn't proof.

What we left alone on purpose

The product page still runs its own video in a format called HLS. That video pulls 1.6 to 1.9 MB by itself and slows down the page's main paint. It's the next thing to fix, just not this one.

The page also has a stylesheet that stops the browser from drawing anything until it finishes loading. Shopify's own tool for placing that file directly in the page caps out at 15 KB, and this file is larger. Splitting it into smaller pieces needed approval from the account, so we didn't do it.

A few scripts stayed running too: a newsletter popup, checkout tracking and an analytics tool. We switched off one WhatsApp button at the founder's request. Beyond that, the only other edits were connection hints, one font preload on the product page, and three homepage stylesheets set to load without blocking.

A better score is not the same as a fast page for every shopper. The Lighthouse score moved from 39 to 79. Google’s hosted check still timed a slow paint after that. Report both numbers, not just the one that looks better.

This fix is for a store whose homepage carries autoplay video or full-size photos nobody resized. It is not the fix for a store that is slow because of checkout apps or a crowded app list. That kind of slowness needs its own check first.

Questions and answers

Did cutting the homepage download increase sales?

No. This fix is not tied to any sales or order figure. The only outcomes we measured are the Lighthouse score, the download weight, and the lab LCP readings on this page.

Why does a PageSpeed check show a slower load than Lighthouse?

Both simulate a phone. PageSpeed Insights runs on Google’s servers, and its estimate counted the hero video’s start as part of the main paint. After this fix, PageSpeed still showed an LCP near 12 seconds, while our Lighthouse runs estimated close to 3 seconds on both themes. That gap is why the next fix targets exactly when the video starts, not just how big its file is.

Why was a hidden desktop video still downloading on a phone?

Hiding an element with code does not stop a browser from requesting it. The old code loaded every video right away. The new code waits until a video is about to come into view, so a hidden video never loads at all.

Is the second fix live?

Yes, since 23 September 2026. It is not proven yet. One homepage check after it went live read 3.5 seconds, and one run is not enough.

What would you fix next on this store?

The product page’s own video. It runs in a format called HLS, was left untouched in this pass, and still slows down that page’s own main paint.

Loading page