De Behanghal: from WooCommerce to headless Shopify, without losing any traffic

Over 30,000 rolls of wallpaper were migrated from WooCommerce to a headless setup: Shopify for the e-commerce side, and a custom Next.js shop front-end. Visibility on Google remained at the same level following the switch.

Duration
juni tot september 2026
Year
2026

The challenge

De Behanghal sells wallpaper from its base in Zoetermeer, with over 30,000 rolls in stock and a shop where people can pop in to feel and compare the wallpaper. Online, the shop attracts around 1,700 visitors a month from Google.

That combination makes moving to a different e-commerce platform a nerve-wracking prospect. Migrating a catalogue of this size means that every product, every category and every blog post will be given a new address. If that goes wrong, the online visibility you’ve built up over the years will vanish in the space of a weekend, and you’ll only realise it when the orders stop coming in.

On top of that, the shop offers services that a standard online shop doesn’t. Customers want to know how many rolls they need for their wall, they order a sample first, they request bespoke photo wallpaper featuring their own image, and some simply collect their order in Zoetermeer.

The solution

We have rebuilt the shop using a headless architecture. Shopify does what it does best: products, stock, payments and checkout. The shop itself is a custom Next.js front-end, with the content and blog hosted on Strapi and the images on Cloudflare R2. This means you’re not restricted by what a theme allows, whilst the reliable order processing side remains with Shopify.

The migration itself began with an audit of the old WooCommerce installation: which plugins were essential and which data needed to be carried over. This was followed by a migration script for products, customers and orders, complete with a validation report so that we could identify any discrepancies rather than simply hoping for the best. Right up until the site went live, a synchronisation every four hours kept both shops in sync, so that we could switch over at a time that suited us, rather than when the data happened to match.

To ensure the site remained discoverable, we set up redirects in advance from each old address to its new one, handled within the site’s middleware. Sitemaps, robots.txt and structured data for each page type were included, and the blog was migrated from WordPress to Strapi so that the articles retained their value.

We sorted out the tracking in one go: GA4 with Consent Mode v2, and the checkout events via our own pixel in the Shopify checkout. This meant that, after the switch, we were able to compare results using the same benchmark as before.

The shop-specific features have simply been built: a roll calculator that works out how much wallpaper is needed, a sample-ordering process, a quotation process for photo wallpaper where the customer uploads their own file, collection in Zoetermeer as a delivery option, customer accounts and Mollie as a payment method.

We carried out the switch itself in one go: final synchronisation, synchronisation switched off, the old site put into maintenance mode, DNS updated. Prior to that, we conducted a test run with the client and a full order test, including returns, followed by a 72-hour period during which we monitored for errors, orders and performance data.

Results

Wallpaper rolls in the catalogue, moved from WooCommerce to Shopify
30,000+
clicks from Google in the twelve days following the launch, compared with the twelve days beforehand
+1%
from the initial assessment to going live, including a round of testing with the client
12 weeks
Stock levels and prices will remain the same in both shops until the switch takes place
Every 4 hours

Why searchability remained intact

When switching to a different platform, every product, every category and every item is assigned a new URL. If nothing is done about this, the ranking that has been built up over years will disappear in the space of a weekend, and you’ll only realise it when the orders stop coming in.

The redirects from each old address were already in place before the switch was made. Both shops operated identically right up until the last moment, so that the switch was a conscious choice rather than a leap of faith. The metrics were set up identically on both sides, so that we could use the same figures the following week to see what happened.

Twelve days after going live, the number of clicks and impressions from Google were at the same level as in the previous twelve days. For an online shop with tens of thousands of addresses, that’s no cause for celebration.

Related cases