Client case study · Magento 2 to Shopify

BHL: 177,000+ products moved from Magento 2 to Shopify

BHL is a plumbing, heating and home supplies merchant in Barnsley. On 4 November 2026 its online store moved from Magento 2 to Shopify, with a cleaner catalogue, a modern storefront and the daily supplier work automated.

bhl.co.uk
The new BHL Shopify store home page on desktop

Real client project

Client
Bumford Heating Ltd (BHL), Barnsley
Project
Magento 2 to Shopify re-platform
Live
4 November 2026
Website
bhl.co.uk
177,000+
Active products live on Shopify
~98,000
Legacy Magento URLs mapped to new pages
42,336
Product titles rewritten to one house style
Daily
Automated supplier price and stock sync
The client

A trade and retail merchant with a very large range

Bumford Heating Ltd trades as BHL from Barnsley, South Yorkshire, selling plumbing, heating, home and garden supplies to trade and retail customers across the UK. Its online catalogue is fed by national trade suppliers including Wolseley, Stax and Decco, which is how it reaches well over 170,000 products. The same company runs the specialist radiator store Radiators.co.uk, which we moved to Shopify on the same morning.

The challenge

Re-platform a 177,000-product store without breaking what works

The Magento 2 store had grown over years. Product data arrived from several suppliers in different formats, so titles, descriptions and images were inconsistent. Supplier prices and stock were updated through a legacy setup tied to the old platform. Tens of thousands of old URLs carried search rankings, and every web order had to keep flowing into Sage for the accounts team.

BHL wanted a modern, fast store that trade buyers could search by part number, with the daily supplier work automated, and it needed the switch to happen without losing rankings, orders or email.

What we did

Seven workstreams, one launch date

1. Large catalogue migration

We moved the full catalogue into Shopify and built a structure customers can navigate.

  • More than 177,000 active products live at launch
  • 1,658 collections: 239 categories, 1,389 brand collections and 8 express departments
  • A delivery lead time on every product, used by the order integration
  • Shipping rates matched to the old store, and order numbers continuing the existing sequence

2. Product data cleaning

Supplier data is rarely shop-ready. We cleaned it in controlled batches, testing each change on a single product before rolling it out.

  • 42,336 product titles rewritten in BHL's preferred style
  • 1,993 new descriptions for products whose text was empty, thin or generic
  • 933 missing product images recovered and small images sharpened
  • Real category imagery across 1,552 of 1,553 categories

3. SEO preservation

Rankings are the asset most often lost in a migration, so we treated them as a launch blocker.

  • Around 98,000 legacy Magento URLs mapped to their new Shopify pages with 301 redirects
  • Extra redirects for withdrawn products and for URLs found in Search Console data
  • A Search Console baseline of the top pages taken before launch
  • Product and breadcrumb structured data in the theme; robots.txt, sitemap and noindex checked live on launch day

4. Automated supplier price and stock sync

We replaced the legacy update process with an automated daily sync built for this store.

  • Supplier files collected every morning, prices updated at 06:00 and stock at 06:30, with a retry and a watchdog check
  • Any price move over 25% held for a person to approve
  • The run stops itself if a move exceeds 100% or if more than 5% of prices would change in one day
  • Fields staff lock by hand are never overwritten

5. Sage integration via Zynk

Shopify orders pass into Sage through Zynk, so the accounts team keeps working the way it always has. The connector was switched over on launch morning and orders were reaching Sage the same day. A written manual fallback was prepared in case the connector ever paused.

6. Klaviyo email automation

Ten automated flows went live with the new store: welcome, welcome offer, browse recovery, basket recovery, checkout recovery, post-purchase, win-back, VIP, back-in-stock and a boiler interest flow. The existing subscriber list is being warmed up in batches of around 2,000 to protect sender reputation. More on our approach to Klaviyo email marketing.

7. Customers and consent

7,405 customer accounts active in the last five years were migrated. Marketing consent was carried over only where it had been given, and no passwords were moved: customers now sign in with a one-time code sent to their email, as BHL explains in its welcome guide to the new website. A UK and EEA cookie banner and an updated privacy policy went live with the store.

Launch day: a rehearsed DNS cut-over

The switch ran to a minute-by-minute runbook with a go/no-go call and a rollback rule. Magento checkout was paused briefly for the final order and customer extract, the domain was pointed at Shopify, and the DNS check passed at 08:39. HTTPS was live, email records were untouched and no rollback was needed.

How we modernised the stack

From a heavy Magento install to a managed Shopify platform

AreaWhat changed
PlatformFrom Magento 2 on its own hosting to Shopify, with hosting, security updates and checkout managed by the platform
Supplier prices and stockFrom a legacy update process tied to the old platform to an automated daily sync with safety holds and human approval for large price moves
SearchSearch by manufacturer part number, SKU or EAN, with a copyable SKU on every product page
Navigation239 categories, a Brands A to Z page and 1,389 brand collections
Pricing displayPrices shown inc VAT with the ex VAT price alongside for trade buyers
EmailTen Klaviyo flows live from launch day, with consent respected
AccountsOrders into Sage via Zynk, with a documented manual fallback

The new storefront also lists in-stock products first, has an express delivery department for 1 to 2 day delivery, a Price Beater form, a sourcing request on sold-out items, trade and bulk enquiry forms, reviews, live chat and buying guides. Two dedicated speed releases followed in the final week; in lab tests on the home page, layout shift was close to zero and mobile Largest Contentful Paint was around 0.7 seconds. Read why that matters in Core Web Vitals and lost sales.

The new store

bhl.co.uk on Shopify, desktop and mobile

How we kept it safe

Independent review on every change

Every bulk change ran on one test product first, then in batches, with each write read back and a restore file kept. Code and data changes passed an independent AI code review before anything touched the live store, and theme releases were previewed and approved by a person. It is slower than a straight import, and it is what makes a catalogue this size safe to change.

Results

What was delivered

  • bhl.co.uk live on Shopify on 4 November 2026, with no rollback needed
  • More than 177,000 active products in 1,658 collections
  • Around 98,000 legacy URLs mapped to new pages to protect search rankings
  • 42,336 titles rewritten and 1,993 new product descriptions
  • Daily supplier price and stock sync running, with safety holds on large price moves
  • Orders flowing into Sage from day one and ten Klaviyo flows live
  • 7,405 customer accounts migrated with consent preserved

To follow: organic traffic, conversion rate and email revenue measured against the pre-launch Search Console and analytics baseline, after 90 days. Next on the roadmap: historic order import (orders since October 2023), specification filters across the range and a Google Shopping feed.

Tech used

The stack

ShopifyCustom Shopify themeKlaviyoZynkSageCloudflare DNSGoogle Search ConsoleAutomated supplier sync (Python)Independent AI code review
FAQs

Magento 2 to Shopify migration FAQs

Can Shopify handle a catalogue of more than 170,000 products?

Yes. BHL runs more than 177,000 active products and 1,658 collections on Shopify. The work that makes it manageable is upstream of the theme: clean, consistent product data, a clear category and brand structure, and automated supplier updates so nobody is editing prices by hand.

How do you protect SEO when migrating from Magento 2 to Shopify?

Map every legacy URL that carries traffic or links to its closest new page with a 301 redirect (around 98,000 for BHL), take a Search Console baseline before launch, check robots.txt, the sitemap and noindex settings on launch day, and keep watching 404s afterwards. Our guide to migrating to Shopify without losing SEO covers the full process.

Can Shopify sync supplier prices and stock automatically?

Yes. For BHL, supplier files from Wolseley, Stax and Decco are collected every morning, then prices and stock are updated on a fixed schedule. Any price move over 25% is held for a person to approve, and the run stops itself if something looks wrong, so a bad supplier file cannot reprice the whole store.

Does Shopify integrate with Sage?

Yes, through a connector. BHL uses Zynk to pass Shopify orders into Sage, and orders were reaching Sage on launch day. We also wrote a manual fallback procedure so the accounts team had a plan if the connector ever paused.

Was the store offline during the switch to Shopify?

The move was made by DNS on a timed, rehearsed runbook. Checkout was paused briefly while the final orders and customer records were taken from Magento, then the domain was pointed at Shopify. Email records were left untouched and the rollback plan was not needed.

Let’s talk growth

Planning a Magento to Shopify migration?

Large catalogue, supplier feeds, Sage, years of rankings: we have done it. Tell us about your store and we will give you a straight view of what the move involves.

Free & no-obligation · We reply within 1 working day

Prefer to talk? Call 0114 312 1007

Call Book a Call