SABIA AMOR — an Austrian lingerie and swimwear store moved from Shopify to WooCommerce
An Austrian fashion brand moved off Shopify onto WooCommerce with nothing lost: the same storefront, the order history imported with its original numbers, 301s from the old addresses, two languages with synchronised stock, three currencies, Stripe with Klarna and a custom static cache.
SABIA AMOR (sabiaamor.com) is an Austrian fashion house from Vienna: swimwear, lingerie, loungewear and accessories presented as a premium brand but priced to stay reachable. The shop used to run on Shopify; we moved it to WooCommerce with a fully rewritten theme, keeping the storefront customers already knew, the whole order history and the old page addresses. On 22 July 2026 the site moved onto the live domain and Shopify was switched off. The storefront is bilingual (German and English) and multi-currency: prices and delivery follow the country you pick — Austria, Germany, Switzerland, Italy, France, Estonia and the UAE.
Technology stack
WordPress + WooCommerce on a custom theme, sabiaamorwp — no page builders. The home page is assembled from sections editable in the admin: slideshow, featured collection, rich text, blog feed, footer. The two languages run on Polylang, and because German and English products are separate posts, prices and stock are kept in step by our own mu-plugin (otherwise the English version would sit on stale stock and the shop would oversell). The EUR / CHF / AED currencies follow the country selector in the header and the shipping country in the checkout. Payments go through Stripe (cards, Klarna) plus the Google Pay, Apple Pay and PayPal express buttons; the invoice is produced by a PDF plugin using our own template and attached to the payment email.

Site structure
The menu is five product lines (Unterwäsche, Bademode, Loungewear & Nachtwäsche, Accessoires, Sportbekleidung) plus Blog and Über uns. The home page is built like a lookbook: a slideshow leading into the two main categories → “Beliebte Produkte” → a block about the brand → three recent blog posts → a second promo banner → a footer with the service pages and the newsletter.
Beliebte Produkte
The bestsellers run as a carousel of large vertical photographs — the format fashion shoppers expect. The card is deliberately minimal: photo, model name, price, nothing that competes with the imagery. “Alle anzeigen” opens the full catalogue.

The brand and the blog
The “Unsere Mission” text block states the positioning: a young Austrian fashion house from Vienna, exclusive beachwear and elegant lingerie, “luxury that stays affordable”. Below it are the three latest blog posts with large covers: loungewear trends, packing for a holiday, swimwear trends. The blog is not decoration here — it is the main source of organic traffic for seasonal queries.


Catalogue and filters
A category page is a grid of cards with a filter sidebar: price, colour, size and a toggle for showing what is out of stock. The filters work off product attributes, so they behave correctly in both the German and the English catalogue — even though the term slugs differ between the two languages.

The product page
The product page rests on the gallery and a short buying block: name, price, size picker, quantity and the “In den Warenkorb” button. Under the button sits an honest availability line along the lines of “3 more available right away, the rest on pre-order”: stock is tracked per variation and backorders are allowed, so the shopper sees what will happen to the delivery date before they buy. Below that is a full description of the model, the fabric and the care instructions, which works for both selling and search.

Checkout
The checkout is the block checkout on a single screen: express payment at the top (Google Pay, Apple Pay, PayPal), then contact details, the delivery address, the shipping method and payment. The country list is limited to where the brand actually ships, and the currency follows the chosen country inside the checkout itself — so a Swiss shopper never sees euro prices at the last step.

Inner pages
Beyond the catalogue and the product page the shop has an “Über uns” page with the brand story, the blog, the service pages (delivery, returns and exchanges, payment, contact) and the customer account. The footer repeats the service block and carries the newsletter sign-up — the main way of bringing the audience back between seasons.


The move off Shopify
The interesting part of this project is not the storefront but the fact that the migration is invisible from outside. The catalogue with its variations and photos came across, both language versions came across, and above all the order history did: the Shopify orders were imported into WooCommerce with their original numbers and linked back to the customer accounts, and the new numbering continued the sequence instead of restarting at one. The old Shopify addresses (/products/, /collections/, /pages/, /policies/) 301 to the new ones, so the rankings the shop had built up were not thrown away. The PDF invoice was rebuilt separately: the template matches the one customers used to receive, company details and burgundy styling included.
Speed
The client’s hosting plan allows only two concurrent PHP processes — at that limit an ordinary page took six seconds or more to open and the admin would occasionally return a 503. Instead of yet another caching plugin we built a static cache of our own: for an anonymous visitor the page is served by the web server as ready-made HTML, with no PHP involved at all, and opens in a quarter of a second. The cache key takes the currency and country cookies into account, so a Swiss shopper never gets a page priced in euros, and the cache clears itself whenever a product, its stock, a category or the menu changes.
The mobile version
Mobile is where fashion traffic lives, so on a phone the storefront is rebuilt rather than shrunk: a full-width slideshow, a two-column catalogue, the menu in a burger, and the country and language selectors still reachable from the first screen.
Summary
sabiaamor.com is an example of a migration where the business lost nothing: the same storefront, the same order numbers and the same page addresses, but now on WooCommerce, with no monthly platform fee and full access to the code. On top of that: two languages with synchronised stock, three currencies, Stripe with Klarna and express payments, a custom PDF invoice, and a static cache that keeps the site fast even on very modest hosting.