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
Baptistengemeente Katwijk
Katwijk Baptist Church: a Next.js platform packed with automations
For the Katwijk Baptist Church, we built a completely new website based on Next.js, packed with automated features: registrations, a calendar fed from Google Calendar, a newsletter CMS and a CRM system fed from the membership database.
QuickWorks Video & Multimedia Productions
QuickWorks: comprehensive lead generation automation with a real-time pipeline
For QuickWorks, we built an automated lead generation system: leads from various platforms are fed directly into the pipeline, each stage update triggers new tasks, and quotations are automatically generated and scheduled. WordPress webhooks process everything in real time.
Heyl
Heyl: German professional florists succeed with data-driven SEO and Google Ads
SEO Ninja is commissioned by Heyl to tackle a wide range of online marketing challenges, including Google Ads and SEO. Using Heyl’s customer data, we run targeted ad campaigns by postcode area in Germany, automated via the Google Ads API and offline conversion tracking.