From the home page through the menu and filters to a product and the cart, on a laptop and a phone.
Recording of the new store on a laptop and a phone: the home page, the menu with images, the Rose collection, the colour filter, colour options on the product page and the cart.
Results in numbers
Measured before and after. Green means better.
Theme errors
Before: 131→After: 0
−131
Shopify’s Theme Check. The check now runs before every change.
Home page weight
Before: 11.4 MB→After: 3.5 MB
−69%
The home page loads lighter, especially on phones and slow connections.
Collection page weight
Before: 9.3 MB→After: 2.0 MB
−78%
Product listings open lighter.
App embeds in the theme
Before: 8→After: 4
−50%
Unused apps out, the ones in use stayed.
Hard-coded outside scripts
Before: 2→After: 0
−2
Old scripts loaded on every page although nothing used them any more.
Paid apps replaced
1
−1 monthly fee
The free gift now runs on a built-in theme feature.
JavaScript on the home page
Before: 1.5 MB→After: 0.6 MB
−60%
Less code for the phone to download and run.
Requests on the home page
Before: 316→After: 237
−25%
Fewer separate files and requests.
Layout shift (CLS)
Before: 0.15→After: 0.01
−93%
Content no longer jumps while loading. Google’s limit for good is 0.1.
Lighthouse score on mobile
Before: 46→After: 60
+14 points
Google’s measure of home page performance on a phone.
Starting point
The old theme had served the store for years, but its look and menus no longer matched the brand. The store had also collected code from apps that were no longer used, and the free gift ran on a separate paid app.
What we did
New Impact theme and home page from the designer’s mock-up
Theme development in GitHub: a development theme for previews, the live theme only after approval
Mega menu with images and a Menu image field for every collection
“Read more” collection descriptions and colour filters with real colours
A free gift in the cart with a built-in theme feature instead of a paid app
Code of old apps cleaned out: a 69% lighter home page and theme errors 131 → 0
Outcome
The new theme went live in October 2026. The old theme stays as a fallback, and from now on every change goes to the development theme first, where the client sees it before it goes live.
The redesign was a joint effort. Elin of Snowball Growth Partners led the visual look and creative direction together with the merchant, Kata. Merivirta Digital built the theme, the customisations, the clean-up and the speed work.
What we did in detail
Every point with pictures: how it looks to shoppers and how it works for the merchant.
01
Theme development done right: GitHub, a development theme and the live theme
All of the theme’s code is in GitHub, and the store is connected to it with Shopify’s own GitHub integration. The store has two themes: the live theme shoppers see, and a development theme where new work is built and checked.
Every change is made on its own branch, checked with Shopify’s Theme Check and brought into the development theme. Vorssa Ink and their designer see it in the development theme’s preview and edit content there. A change reaches the live theme only once it is approved.
The live theme is never edited directly, so the store never breaks mid-sale
Changes saved in the theme editor are stored in GitHub automatically, so nothing gets lost
Every change leaves a trace, and any change can be undone
The old theme stays in the store as a fallback
How a change reaches the store
Work branchThe change is made on its own branch in GitHub
Theme CheckShopify’s check: no errors
Development themeThe client previews it and edits content
Live themePublished only after approval
For your developer: Shopify GitHub integration: branch main = live theme, dev = development theme; PRs into dev, dev → main as a release.
02
Mega menu with images and a collection menu image field
The menu was rebuilt from the designer’s mock-up. On a computer a main item opens a wide menu with an image beside every collection and a “View all” link at the top. On a phone the same menu works level by level, with images on every level.
Collections got their own Menu image field (a metafield). When the merchant adds an image there, that image is shown in the menu. So the menu can use a clear image that works at a small size without changing the large image on the collection page.
Mega menu with images and a collection menu image fieldWhere the menu image comes from
The collection’s Menu image field, when an image has been added
Otherwise the collection’s own image
If there is none, the image of the collection’s first product
For your developer: Metafield custom.menu_image (file, collection), read in the navigation-link-image.liquid snippet.
03
Collection pages: “Read more” and colour filters with real colours
The long collection descriptions matter for search engines, but they pushed the products far down. Now the first paragraph shows and the rest opens from a “Read more” button. The products are visible at once, and no text had to be removed.
In the colour filter every colour shows as the real colour instead of just a name, two-tone and glitter shades included. Shoppers find the colour they want at a glance.
Collection pages: “Read more” and colour filters with real colours
04
A free gift without a paid app
The store gives a gift with orders over a set amount. Before, a separate paid app added the gift to the cart and brought its own code into the store.
Now the theme’s own settings do the same. The merchant picks the gift product and the minimum amount, or the products or collection that earn the gift. The gift appears in the cart by itself and is removed when the condition is no longer met. Shopify’s own “Buy X get Y” discount makes it free at checkout.
One monthly fee less
One piece of outside code less slowing the store down
The merchant changes the gift and its conditions in the theme editor
Theme settings → Free gift
Free gift on
Yes
Gift product
Pick a product
Minimum order (€)
e.g. 89
Give the gift when
the order total passes the limit / the cart has one of the products
Products or collection
Optional
A drawing of the theme settings (in Finnish in the store). Shopify’s automatic Buy X get Y discount makes the gift free.
For your developer: A theme setting and a small script that keeps the gift line in the cart through cart.js; replaced a paid app.
05
Optimisation and speed
Over the years the store had collected code from apps that were no longer used, and it still loaded on every page. We went through every app and script and removed what was not needed from the theme. One old, unused script alone loaded 9.5 MB on the home page.
In the old theme Shopify’s Theme Check found 131 errors. The new theme was built on a clean base and the check runs before every change, so there are now none.
App embeds 8 → 4: four unused or replaced apps out of the theme
Hard-coded outside scripts 2 → 0, one of them over 1,400 lines of code for a feature that was not in use
Leftovers of two apps already removed from the store were cleaned out
One paid app replaced with a built-in theme feature
Theme errors 131 → 0, and the check runs before every change from now on
For your developer: Measured with Lighthouse 12 on mobile on 30 Oct 2026, median of three runs; old theme in preview mode, new theme live with the same content. Theme Check @shopify/cli 4.9.4.
The same improvements for your store?
Ask for a price or tell us what your store should do better. One of our experts replies to you personally.
Help with Shopify problems, apps, services and price estimates.
Virta, our AI assistant, collects the basics, then one of our experts replies to you personally.
Virta Hi, I’m Virta, Merivirta Digital’s AI assistant. Tell me what you need: a Shopify problem, an app, a new store or a price estimate. I’ll collect the basics, and one of our experts will reply to you personally.
Try for example
You are chatting with an AI assistant. Prices are examples; the final offer comes from one of our experts. Privacy