Dawn Theme: 23 Seconds to Load, 2000 Visits a Day. Here Is What Was Making It Slow

Dawn Theme: 23 Seconds to Load, 2000 Visits a Day. Here Is What Was Making It Slow
Reading Time

I have been working with Shopify since the days of the now-vintage free themes: Debut, Venture, Brooklyn. (Not going to lie, it does make me feel like I belong to a museum when I stop to think about it.) Those themes worked fine at the time, but they did lack in many areas, and one of the most notorious was performance.

They were built on top of jQuery, a JavaScript library that was great back then, made developers' lives easier, and did the job well. By today's standards it is outdated and slow, but in its era it made sense.

Nowadays we have what I would call the previous generation of free themes (time flies!). Dawn, and all the themes that are essentially Dawn with different colors and a different name. Horizon.

These are truly great themes, well-built and fast by default. So why do we still find stores running on them with load times that would make you think it is 2014? I just worked with a store. They were using the Dawn theme, and still the store was taking almost 25 seocnds to load. Let's take a look at what was going on.


What Was Making It Slow?

23.7 seconds for the main hero content to appear on mobile. The main killer of speed is, as counterintuitive as it sounds, images. The problem is not with images themselves. Using unoptimized, excessively large images will take an inevitable toll on any website.

Around 1.1MB of unused JavaScript. Apps, apps and more apps. Worry not, help is on the way! A little bit of lazy-loading apps' scripts will address this.

Render-blocking requests adding 2.37 seconds of delay. A significant chunk of time where the browser was sitting idle, waiting for additiona Javascript and CSS (injected by apps) to finish before showing anything on the screen. 

JavaScript execution time of 1.4 seconds, main thread work of 3.3 seconds. The store also had some custo JS being loaded immediately in the theme.liquid <head> tag, which was completely unnecessary. After seeing all of that, I was already confident of what needed to be done to improve the performance.

Total page size of around 7MB. For a Dawn store, that is considerably heavier than it should be. The image delivery savings and unused code identified in the audit point clearly to where that weight was coming from.


What I Did to Fix It

First things first, I addressed the images: not only the homepage's sections images, but all images throughout the site. When I optimize stores, I ensure that all images across the site are properly sized and loading the correct modern formats (typically webp). 

The render-blocking resources were addressed next. At 2.37 seconds of estimated savings, this was the single biggest bottleneck identified in the audit. Restructuring how critical CSS is delivered and deferring non-essential JavaScript cleared that delay and gave the browser a clear path to start painting immediately on load.

The unused JavaScript came next. Over 1.1MB of scripts were loading on every page visit with no role in the homepage experience. Removing and deferring these brought JavaScript execution time down sharply and dropped Total Blocking Time from 240ms to zero on both desktop and mobile. The font display issue, which was adding an estimated 760ms of delay, was resolved at the same time.

The result was a page that went from carrying around 7MB of bloated, blocking resources to something lean enough to load in a fraction of a second.


The Results

Mobile score: 53 to 98
Desktop score: 59 to 100
Mobile LCP: 23.7 seconds to 1.8 seconds
Desktop LCP: 5.2 seconds to 0.5 seconds
Mobile FCP: 16.2 seconds to 1.8 seconds
Desktop FCP: 0.8 seconds to 0.5 seconds
Total Blocking Time: 240ms to 0ms
Speed Index (mobile): 16.2 seconds to 1.8 seconds

A perfect 100 on desktop and 98 on mobile. Fortunately speed is no longer going to be a problem! As always, you can review it for yourself on the PageSpeed Insights live analysis.

Is Your Shopify Store Slow?

If your store is on Dawn or any other theme and performance has never been looked at, there is a good chance accumulated scripts and unoptimised assets are costing you sales you are not aware of.

I offer a free manual speed audit with no obligation. I will test your store, identify the exact issues, and tell you what it would take to fix them.

Request your free speed audit at ezfycode.com

Back to blog