Shopify to WooCommerce Migration: Belgium Guide
I’m a WordPress developer and I’ve been building WooCommerce stores for Belgian clients since 2009. Belgian store owners come to me with a specific set of frustrations: the Shopify app stack has crept past €150 per month, the checkout is in one language when their customers expect both Dutch and French, and they need KBC/CBC Payment Button and Belfius Pay Button at checkout — methods Shopify Payments doesn’t support, so they’ve added Mollie as a third-party gateway and are now paying Shopify’s 2% transaction fee on every order. Shopify Payments is available in Belgium and supports Bancontact natively — but it stops there. KBC/CBC and Belfius are only available through Mollie, which immediately triggers the 2% surcharge on Shopify Basic. This guide covers where the migration case actually holds for Belgian stores, what the Belgian-specific setup looks like, and what it costs.
KBC is Belgium’s largest retail bank, with roughly 40% of Flemish households as customers. Many of them prefer the KBC Payment Button over entering card details or using Bancontact, because it redirects directly into their familiar KBC banking environment. The same applies to Belfius customers. Offering Bancontact alone via Shopify Payments isn’t full Belgian checkout coverage — and closing that gap means Mollie, which means the 2% fee applies to every order processed through it.
Quick Summary: Shopify Payments Belgium supports Bancontact natively, but not KBC/CBC Payment Button or Belfius Pay Button — the two bank-specific methods Belgian customers use alongside Bancontact. Adding Mollie to cover those triggers Shopify’s 2% transaction fee on every order. Combined with €80–200/month in app costs, AVG data residency questions, and bilingual NL/FR checkout limitations on Shopify Basic, migration to WooCommerce typically saves €150–350/month for stores in this position. Migration takes 2–4 weeks and costs €1,500–3,000 — €1,500 for a clean Elayne-themed migration, €3,000+ for a custom design rebuild.
In This Guide
- Cost Comparison: Shopify vs WooCommerce
- When Migration Makes Sense (and When It Doesn’t)
- Step-by-Step Migration Process
- Belgian Legal Requirements
- Protecting Your google.be Rankings
- Timeline and Costs
- The Most Common Mistakes to Avoid
- Maintenance: The Part That Puts People Off
- Frequently Asked Questions
The Real Cost Comparison
Here is what a small Belgian store doing €5,000–€15,000 per month actually pays. The Shopify column splits into two: stores using Shopify Payments natively (Bancontact only), and stores that have added Mollie to offer KBC/CBC Payment Button and Belfius Pay Button alongside Bancontact.
| Cost Item | Shopify Basic + Shopify Payments | Shopify Basic + Mollie | WooCommerce on Trellis |
|---|---|---|---|
| Platform / hosting | $39 USD/month (~€36) | $39 USD/month (~€36) | €49–79/month (Hetzner DE) |
| Shopify transaction fee | 0% | 2% on every order | 0% |
| Bancontact | Included in Shopify Payments | 1.40% + €0.25 via Mollie + 2% to Shopify | 1.40% + €0.25 via Mollie |
| KBC/CBC Payment Button | Not available | 0.90% + €0.25 via Mollie + 2% to Shopify | 0.90% + €0.25 via Mollie |
| Belfius Pay Button | Not available | Available via Mollie + 2% to Shopify | Available via Mollie, no platform fee |
| Apps / Plugins | €80–200/month (6–8 apps typical) | €80–200/month (6–8 apps typical) | €0–40/month |
| Multilingual (NL/FR) | Third-party app (~€30/month) or Shopify Plus | Third-party app (~€30/month) or Shopify Plus | WPML or Polylang — one-time or free |
| Theme | €180–380 one-time or €14/month | €180–380 one-time or €14/month | €0–150 one-time (or custom) |
| SSL certificate | Included | Included | Included (Let’s Encrypt via Trellis) |
For stores using Shopify Payments natively with Bancontact only, the 2% surcharge doesn’t apply — the migration case rests on app costs, AVG data residency, bilingual checkout, and whether the absence of KBC/CBC and Belfius at checkout is costing you conversions. For stores that have added Mollie to fill that gap, the 2% fee is the defining number: on €10,000/month that’s €200 going to Shopify every month, before counting platform fees, Mollie’s own fees, and the app stack. A Belgian store doing €10,000/month via Mollie on Shopify Basic pays Shopify’s 2% fee — €200/month — on top of Mollie’s transaction fees. On WooCommerce you pay Mollie directly, with no Shopify layer above it.
When Migration Makes Sense (and When It Doesn’t)
Good reasons to migrate
- You’ve added Mollie to offer KBC/CBC Payment Button and Belfius Pay Button — and you’re now paying Shopify’s 2% transaction fee on every Mollie-processed order. KBC alone serves roughly 40% of Flemish retail banking customers; not offering the KBC Payment Button is a checkout gap, and closing it via Mollie on Shopify costs you 2% of every transaction routed through it
- Your monthly Shopify app bill has crept past €100–€150 for features WooCommerce handles out of the box — GDPR-compliant cookie banners, multilingual, advanced shipping zones for bpost and DHL, B2B pricing
- You need a bilingual NL/FR store — Shopify Basic supports multilingual only through third-party apps that add monthly cost. Shopify Plus has it natively but costs dramatically more. WooCommerce with WPML or Polylang gives you a fully bilingual store including checkout, emails, and legal pages at a one-time cost
- You want customer and order data on servers physically in the EU — Hetzner Cloud in Falkenstein or Nürnberg (Germany) gives you clean AVG/RGPD data residency with a straightforward verwerkersovereenkomst (data processing agreement) that satisfies the Gegevensbeschermingsautoriteit (GBA)
- You need a custom checkout that correctly handles both Dutch herroepingsrecht and French droit de rétractation notices, without Shopify’s checkout restrictions preventing you from displaying the legally required withdrawal information in both languages
- You need full SEPA Direct Debit control for B2B invoicing, recurring payments, or subscription models — WooCommerce via Mollie handles mandate management and pre-notification timing without the platform restrictions Shopify imposes
Reasons to stay on Shopify
- You use Shopify Payments natively, your customers are happy with Bancontact at checkout, and you don’t need KBC/CBC or Belfius — in that setup there’s no 2% surcharge, and the migration case rests on app costs and flexibility rather than a per-order saving
- Your store does under €3,000/month in revenue — at that volume, even the 2% fee (if it applies) is under €60/month and the migration investment takes longer to recover
- You manage the store entirely yourself with no technical help and intend to keep it that way — WooCommerce requires more hands-on maintenance than Shopify. If you have a developer handling updates and monitoring, this stops being a reason to stay
- You rely on Shopify’s native POS for in-person sales at a fysieke winkel, markt, or point de vente physique
- Your store is under six months old with minimal SEO equity — the migration overhead is not worth it yet
- You’re on Shopify Advanced or Plus and use multi-location inventory or the wholesale channel for B2B
The Migration Process Step by Step
1. Audit your Shopify store before you touch anything
Export a full list of every URL on your Shopify store. Every product page, collection page, and blog post has a URL that may rank in Google.be or have links pointing to it — in both Dutch and French searches. You need this list before migration so you can build the redirect map afterward. Use Screaming Frog to crawl and export every URL that returns a 200 status — that becomes your definitive list, more reliable than any manual export.
2. Set up WordPress and WooCommerce on a European server
I set up WooCommerce stores on a Trellis and Bedrock stack — Nginx, PHP 8.3, Redis object cache, FastCGI page cache. For Belgian clients I use Hetzner Cloud in Falkenstein or Nürnberg (Germany). The data residency story is clean: the server is in the EU, Hetzner Online GmbH is a German company headquartered in Gunzenhausen, and the verwerkersovereenkomst is straightforward to put in place. For most Belgian store owners — Flemish or Walloon — EU-based hosting satisfies their AVG/RGPD obligations and their privacy policy without requiring servers physically in Belgium.
This matters specifically for WooCommerce because cart and checkout pages must be excluded from the page cache. Get that wrong and you get ghost cart sessions: customers see items in their cart that have already been purchased, or sessions expire mid-checkout. A correctly configured Trellis server handles the cache exclusions automatically. Basic shared hosting typically does not.
For the store design, it doesn’t have to be rebuilt from scratch. Elayne is the FSE block theme I develop — it has full WooCommerce support built in with product page templates, shop archive layouts, cart and checkout styling, and a pattern library that covers the most common store page types. If your Shopify store’s design doesn’t need to be replicated exactly, Elayne significantly cuts the design phase of a migration.
3. Migrate your products
Export your products from Shopify under Products → Export. WooCommerce has a built-in CSV importer under Products → Import that handles most Shopify fields directly: title, description, price, SKU, inventory, variants. Two things need manual work: Shopify’s variant format is different and needs cleaning in the CSV before import, and product image URLs still point at Shopify’s CDN — those need to be re-uploaded to WordPress.
For stores under 200 products, manual image re-upload is the cleanest approach. For larger catalogs, WP All Import handles image URLs automatically during the import process. If your store has bilingual product descriptions (NL and FR), plan the translation structure in WPML or Polylang before import so each product gets its language variants assigned correctly from the start.
4. Recreate your collections as categories
Shopify calls them collections, WooCommerce calls them product categories — they are functionally the same thing. Set up your category structure in WooCommerce before importing products so each product gets its category assigned correctly on import. Doing it the other way around means manual cleanup on every product. For bilingual stores, create the category names in both languages in WPML before the import.
5. Set up payment gateways for Belgian customers
This is where WooCommerce has a clear structural advantage for Belgian stores. Mollie is a Dutch/Belgian-market payment partner with operations across the Benelux, and their WooCommerce plugin covers everything Belgian customers expect at checkout — including the bank-specific methods that Shopify Payments doesn’t support:
- Mollie —
mollie-payments-for-woocommerce(free). One plugin covers Bancontact (1.40% + €0.25), KBC/CBC Payment Button (0.90% + €0.25), Belfius Pay Button, Klarna (Pay Now, Pay Later, Pay in 3), SEPA Direct Debit, credit cards, Apple Pay, Google Pay, PayPal, and iDEAL for customers ordering from the Netherlands. Business verification takes 1–3 business days for Belgian entities and the verwerkersovereenkomst they provide is AVG/RGPD-conform. All current pricing is on Mollie’s pricing page. - Stripe —
woocommerce-gateway-stripe(free, official). Strong backup for international credit cards and Apple/Google Pay. Many Belgian stores run Mollie as the primary gateway and Stripe as a fallback for international card payments. - PayPal — the official PayPal plugin. Still widely used in Belgium, particularly by customers buying from international sellers who trust PayPal’s buyer protection.
Three payment specifics worth flagging for Belgian stores:
- Bancontact processed 382 million online transactions in 2024 and is present on over 94% of Belgian bank cards. It’s Belgium’s equivalent of iDEAL in the Netherlands — the default expectation at any Belgian checkout. Shopify Payments supports it natively; on WooCommerce, Mollie handles it at 1.40% + €0.25 with no Shopify platform layer above it.
- KBC/CBC Payment Button and Belfius Pay Button are bank-specific redirect methods — customers click, authenticate in their own banking app or browser, and the payment confirms directly. KBC serves roughly 40% of Flemish retail banking customers; Belfius is the primary bank for a significant portion of the public sector and Walloon market. Neither is available in Shopify Payments. On WooCommerce via Mollie, both are included in the same plugin with no additional app cost and no 2% platform surcharge.
- Klarna is available in Belgium for Pay Now, Pay Later, and Pay in 3 options. Mollie’s WooCommerce integration covers Klarna without going through Shopify. For stores with high enough Klarna volume to negotiate direct rates, a direct Klarna integration is also available — but for most Belgian stores under €500k/year in revenue, Mollie’s Klarna integration is the simpler path.
6. Handle order history
Order history migration is the most commonly skipped step — and in most cases that’s the right call. Shopify order data doesn’t map cleanly to WooCommerce’s database structure, and forcing it in creates risk for payment records, tax reports, and customer accounts. The practical approach: export Shopify order history as a CSV and archive it, start fresh in WooCommerce from the go-live date. Accounting records for the Shopify period stay in Shopify, which keeps your boekhouder or comptable happy and your records intact for the FOD Financiën / SPF Finances.
Belgian Legal Requirements: KBO/BCE, Herroepingsrecht, AVG/RGPD, BTW/TVA
This is the part where Shopify’s “we handle everything” promise quietly stops being true. Belgian e-commerce operates under specific consumer protection law and information obligations that apply regardless of which platform you run — and the bilingual dimension adds a layer that Shopify’s checkout can’t easily accommodate on Basic or Advanced plans.
- Ondernemingsnummer / Numéro d’entreprise (KBO/BCE) — Belgian law requires every commercial website to display the company name, registered address, contact details (including email), and enterprise number from the Kruispuntbank van Ondernemingen (KBO) / Banque-Carrefour des Entreprises (BCE), along with the BTW/TVA number. The legal basis is Book XII of the Belgian Code of Economic Law (Wetboek van economisch recht / Code de droit économique), which implements the EU E-Commerce Directive. On WooCommerce this is a standard WordPress footer page — no platform restrictions.
- Herroepingsrecht / Droit de rétractation — Distance-selling law gives Belgian consumers 14 calendar days to withdraw from a purchase without giving reasons. This right is codified in Articles VI.47–VI.53 of Book VI of the Belgian Code of Economic Law, as confirmed by the FPS Economy / FOD Economie guidance. You must provide a legally compliant withdrawal notice (herroepingsverklaring / formulaire de rétractation) in all customer-facing languages — Dutch for Flemish customers, French for Walloon customers, and both for Brussels. WooCommerce handles this through Germanized for WooCommerce (which, despite the name, covers EU-standard withdrawal requirements applicable in Belgium) combined with bilingual translations via WPML or Polylang.
- AVG / RGPD / GDPR — On WooCommerce you own the database. Personal data sits on your server (in the EU on Hetzner), under your control. The verwerkersovereenkomst / accord de traitement des données with Hetzner is a one-time document. Cookie consent under Belgian law (implementing the EU ePrivacy Directive) is handled by Complianz Privacy Suite, which covers Belgian and Benelux DPA guidance out of the box. The Belgian supervisory authority is the Gegevensbeschermingsautoriteit (GBA) / Autorité de la protection des données (APD).
- Verkoopsvoorwaarden / Conditions générales de vente — Your terms and conditions must be accessible before purchase and deliverable electronically. For bilingual stores, these should be available in both Dutch and French. WooCommerce has a built-in “Terms and conditions” checkbox in checkout that links to your AV/CGV page — straightforward to configure and to translate via WPML or Polylang.
- BTW / TVA — Belgium uses a 21% standard rate (normaal tarief / taux normal), a 12% intermediate rate, and a 6% reduced rate (verlaagd tarief / taux réduit) for eligible products including food, books, medicines, and certain agricultural products. All current Belgian VAT rates are documented by the FPS Finance. Note: from March 2026, several rate changes took effect — hotels, camping, and certain food service categories moved from 6% to 12%. WooCommerce handles all four Belgian VAT rates natively, and with WPML WooCommerce Multilingual the tax display adapts correctly across both language versions of the store. For B2B sales within the EU, the reverse charge mechanism applies without requiring Shopify Plus.
- Bilingual checkout obligation — Belgian law (and practical conversion rate reality) requires that customers in Flanders receive communications in Dutch and customers in Wallonia in French. Brussels officially requires both. On Shopify Basic and Advanced, a multilingual checkout requires a third-party app (~€30/month) or an upgrade to Shopify Plus. On WooCommerce, WPML or Polylang with WooCommerce Multilingual handles the full checkout, order emails, legal notices, and product content in both languages — at a one-time plugin cost rather than an ongoing subscription.
- Becom / SafeShops trustmark — Becom (formerly BeCommerce) is Belgium’s e-business federation and quality mark for webshops, equivalent to Thuiswinkel.org in the Netherlands. SafeShops.be is a separate Belgian webshop certification label. Neither Shopify nor WooCommerce helps you get certified — these are business certifications you apply for independently. Worth mentioning because Belgian store owners frequently ask, and the certification applies regardless of platform.
The most useful combination of plugins for Belgian legal compliance: Germanized for WooCommerce (EU consumer law requirements including herroepingsrecht and checkout button text), Complianz Privacy Suite (cookie consent, AVG/RGPD documentation for Belgian and Benelux DPA guidance), and WPML or Polylang (bilingual NL/FR store). Together these replace what would be three or four separate Shopify apps with ongoing monthly fees.
Protecting Your Google.be Rankings During the Migration
This is where most DIY migrations go wrong. Shopify and WooCommerce use different URL structures by default. Launch WooCommerce without redirecting the old Shopify URLs and every product page that ranked in Google.be — in Dutch or French — becomes a 404 overnight. That’s recoverable, but it costs 2–4 months of ranking recovery time, and for a live store that means real lost revenue in both language markets.
The URL structure difference
| Page type | Shopify URL | WooCommerce default URL |
|---|---|---|
| Product page | /products/product-name | /product/product-name |
| Collection / category | /collections/category-name | /product-category/category-name |
| Blog post | /blogs/news/post-name | /post-name (or custom) |
| Static pages | /pages/page-name | /page-name |
Every Shopify URL with rankings or backlinks pointing to it needs a 301 redirect to its WooCommerce equivalent. On a Trellis-hosted site, I put these redirects in an Nginx config file — they’re served at the webserver level, zero PHP execution overhead, no redirect plugin needed. That’s cleaner and faster than any WordPress redirect plugin.
For bilingual stores, pay extra attention to language-specific URLs. If your Shopify store served French content under a different path structure (e.g., /fr/products/), those paths need separate redirect entries pointing to their WPML or Polylang equivalents on WooCommerce.
The redirect checklist
- Map every
/products/URL to its new/product/equivalent - Map every
/collections/URL to its new/product-category/equivalent - Redirect
/blogs/news/blog posts to their new WordPress slugs - Redirect
/pages/static pages to their WordPress equivalents - Handle any French-language URL paths separately if your Shopify store used language prefixes
- Submit the updated sitemap to Google Search Console immediately after launch
- Monitor GSC for 404s in the first 4 weeks and add any missed redirects
If your Shopify store has strong rankings on google.be, crawl it with Screaming Frog before you switch DNS and export every URL returning a 200. That list is your redirect map — don’t rely on memory or manual exports.
Realistic Timeline and What It Costs
A straightforward migration for a small Belgian store — under 200 products, no custom integrations, single language — takes 2–4 weeks from start to go-live. A bilingual NL/FR store adds 3–5 extra days for WPML setup, translation workflow, and bilingual legal page content. Here is where that time goes:
| Phase | What it involves | Time |
|---|---|---|
| Setup and audit | WordPress + WooCommerce install on Hetzner, URL export, hosting config | 1–2 days |
| Product import | CSV clean-up, import, image re-upload, category assignment | 2–5 days |
| Theme / design | Rebuilding or adapting the store design in WordPress | 3–7 days |
| Bilingual setup | WPML or Polylang, product translations, legal pages in NL and FR (if needed) | 2–4 days (bilingual only) |
| Payments + tax | Mollie setup (Bancontact, KBC/CBC, Belfius, Klarna), BTW/TVA rules, verzendzone / zones d’expédition | 1–2 days |
| Redirects + SEO | Redirect map, Nginx config, Search Console update | 1–2 days |
| Testing + launch | End-to-end payment tests in both gateways, mobile, email notifications, DNS switch | 1–2 days |
A professionally done migration for a small Belgian store typically runs €1,500–€3,000. The lower end (€1,500) covers a clean migration using my Elayne FSE theme with your branding applied — colors, logo, product templates, no design rebuild from scratch. The upper end (€3,000+) covers a custom design rebuild that replicates your existing Shopify store’s look and feel in WordPress. Bilingual setup adds to the upper end of the range. For stores paying the 2% Shopify transaction fee via Mollie, that migration cost is typically recovered in 6–12 months from the fee elimination alone — before counting app cost savings.
What You Gain and What You Give Up
What you gain
- If you were routing payments through Mollie on Shopify: elimination of the 2% Shopify transaction fee — for a store doing €10,000/month, that’s €200/month back immediately
- Bancontact, KBC/CBC Payment Button, Belfius Pay Button, Klarna, and SEPA all in one Mollie plugin — no per-method app cost, no platform markup, and KBC/CBC and Belfius included without a third-party app on top
- A fully bilingual NL/FR store with WPML or Polylang — including checkout, order emails, legal pages, and product content — without paying for Shopify Plus
- Customer data and order data on an EU server, under your control, with a clean verwerkersovereenkomst / accord de traitement from Hetzner — satisfying the GBA/APD’s requirements cleanly
- Lower app costs — Complianz and Germanized together replace what would be 3–4 Shopify apps doing cookie consent and legal compliance work
- Full control over the checkout — exact wording in both languages, herroepingsverklaring and formulaire de rétractation displayed correctly, exact field order — to meet Belgian consumer law without Shopify’s checkout restrictions
- Flexibility to customize anything in code without hitting platform API limits
What you give up
- Shopify’s built-in fraud analysis (replaceable with Stripe Radar, which is excellent)
- The simplicity of Shopify’s admin for non-technical users — WooCommerce is more powerful but also more involved to manage
- Native Shopify POS if you sell at a fysieke winkel or marché (Square or Stripe Terminal integrate with WooCommerce but need separate configuration)
- Shopify’s hosted checkout — WooCommerce checkout is self-hosted and requires proper SSL and caching setup to be reliable
The Most Common Mistakes to Avoid
- Skipping the redirect map — every unredirected Shopify URL becomes a 404 in google.be the moment you switch DNS. Build the redirect map before switching, not after. For bilingual stores, audit French-language URL paths separately.
- Caching the cart and checkout pages — WooCommerce cart sessions break under full-page caching. Cart, checkout, account, and order-received pages must be excluded from caching rules. This is the most common technical mistake on migrations from hosts that configure caching aggressively.
- Not testing Bancontact, KBC/CBC, and Belfius end to end before launch — each of these has a bank redirect flow that needs to be verified with a real test account in Mollie’s test mode. Run a real test transaction on every gateway and confirm the order status updates correctly in WooCommerce before switching DNS.
- Launching a bilingual store with incomplete translations — if your French product descriptions, legal pages, or checkout strings are incomplete or showing in Dutch, you’ll lose Walloon customers immediately and potentially violate Belgium’s language legislation in the Brussels-Capital Region. Complete all translation strings before going live, including WooCommerce system strings (order status emails, cart messages, checkout labels).
- Forgetting transactional emails — WooCommerce sends order confirmations via WordPress’s mail function, which most hosting servers block by default. Set up SMTP — Postmark or Mailgun — before launch, not when customers start complaining they didn’t get their order confirmation. For bilingual stores, configure separate email templates for Dutch and French customers.
- Forgetting the cookie banner — Belgian cookie consent enforcement by the GBA/APD requires explicit opt-in for non-essential cookies. Use Complianz Privacy Suite; it’s built for Benelux DPA guidance and is AVG/RGPD-conform out of the box, with Dutch and French language support.
Maintenance: The Part That Puts People Off — And Shouldn’t
The number one reason store owners hesitate to leave Shopify is maintenance. Shopify handles its own updates. On WooCommerce, someone has to keep WordPress, WooCommerce, and plugins updated, make sure backups are running, and respond if something breaks.
That concern is legitimate — but it’s based on the assumption that you’re doing it yourself. You don’t have to be. The Trellis hosting setup I use handles server-level security patching, PHP version management, and automated backups automatically. On top of that, I offer WordPress maintenance plans that cover plugin updates, monitoring, and a developer on call when something needs fixing. The monthly cost is comparable to two or three of the Shopify apps you’re already paying for — and you’re still ahead on the transaction-fee saving alone.
I’ve had clients move to Shopify specifically to avoid maintenance overhead — and then come back to WooCommerce once they saw what managed WordPress maintenance actually looks like in practice. The difference between “I have to figure this out myself” and “Jasper handles it” is significant. Maintenance doesn’t have to be your problem.
Frequently Asked Questions
Will my google.be rankings survive the migration?
Yes, if the redirect map is complete and implemented before you switch DNS. A 301 redirect tells Google “this page moved permanently” — PageRank transfers, rankings hold. The risk is missed redirects, not the migration itself. I crawl the Shopify store before any DNS change, build the redirect file from actual 200-status URLs, and monitor Google Search Console for 404s in the weeks after launch. Stores with established google.be rankings don’t lose them when this is done correctly.
Shopify Payments supports Bancontact in Belgium — why migrate?
Shopify Payments does support Bancontact natively in Belgium — if Bancontact is all you need, the 2% third-party transaction fee doesn’t apply. The migration case for Belgian stores rests on three things Shopify Payments can’t solve: KBC/CBC Payment Button and Belfius Pay Button (not available in Shopify Payments — requiring Mollie and triggering the 2% fee), bilingual NL/FR checkout without Shopify Plus, and AVG/RGPD data residency. If your customers expect to see the KBC Payment Button or Belfius Pay Button at checkout — and a significant share of Belgian customers do — you’re either leaving conversions on the table or paying the 2% fee to get them via Mollie.
Will customer data stay in the EU?
If we host on Hetzner Cloud in Falkenstein or Nürnberg — yes, all customer data, order data, and database backups stay on servers physically located in Germany. The verwerkersovereenkomst / accord de traitement des données with Hetzner is straightforward to put in place and satisfies the GBA/APD’s requirements. This is one of the clearest improvements over Shopify, which hosts customer data on its own global infrastructure regardless of where your store or your customers are.
Does my Shopify store stay live during the migration?
Yes. The WooCommerce store is built and tested on a temporary URL. Your Shopify store keeps taking orders throughout. The DNS switch only happens once the new store has been fully tested — including end-to-end payment tests on every gateway including Bancontact, KBC/CBC, and Belfius. The actual cutover is typically a few minutes of DNS propagation.
Do I need to re-enter all my products manually?
No. Shopify’s product CSV export maps to WooCommerce’s importer for most fields — title, description, price, SKU, inventory, variants. What needs manual work is images (re-upload for small catalogs, automated via WP All Import for larger ones) and any custom metafields that don’t have a direct WooCommerce equivalent. For bilingual stores, the French-language product content needs to be added in WPML or Polylang after import — that work is the same regardless of platform.
What about the bpost shipping integration?
bpost has an official WooCommerce plugin (bpost-shipping-platform) maintained by bpost directly. It covers label generation, track-and-trace, and pickup point selection for bpost’s network. The plugin was significantly updated in May 2026 with security fixes and stability improvements. For stores that also ship via DHL, DPD, or GLS, those carriers have separate WooCommerce plugins — WooCommerce’s flexible shipping zone system handles multiple carriers cleanly in a way Shopify Basic does not.
Do you speak Dutch or French? How do we communicate?
I work in English with my Belgian clients — most Belgian developers and business owners are comfortable in English, and technical specs are clearer in a shared language. I work remotely, so communication happens via email and async messaging. For customer-facing content on your store — checkout text, emails, legal pages — that’s all in Dutch and French, handled by WooCommerce’s built-in translations, Germanized’s EU-compliant text generation, and your own copy for the brand-specific content.
How do I keep my domain?
If your domain was registered through Shopify, transfer it to a registrar like DNS Belgium (for .be domains), Cloudflare, or TransIP before the migration — Shopify charges a premium for domain registration and you’re better off managing it independently. For .be domains, DNS Belgium is the registry and any accredited registrar can manage the transfer. If the domain is already at an external registrar, it’s a simple DNS update pointing to the new server. Either way, the domain stays yours throughout.
Selling from the Netherlands instead? See our Netherlands migration guide. Selling from Germany? See our Germany migration guide.
If your Shopify store is routing payments through Mollie to offer KBC/CBC or Belfius Pay Button and paying the 2% transaction fee on every order — or if your app bill has crept past €100 a month, your AVG officer keeps asking where customer data sits, or you need a proper bilingual NL/FR store without paying for Shopify Plus — send me the details and I’ll give you an honest estimate of what migration would cost versus what you’d save. If it doesn’t make financial sense for your store, I’ll tell you that too.
Need a WooCommerce Developer for Your Store?
We build and optimize WooCommerce stores for SMEs — from custom checkout flows and payment integrations to performance tuning and ongoing maintenance. Fixed-price quotes available.
- Custom checkout and cart optimization
- Payment gateway integration (Stripe, Mollie, PayPal)
- WooCommerce performance and speed optimization
- Ongoing store maintenance and support