Case studyShopify MigrationVisualsoft to ShopifyTheme Development

Urban Surfer — Visualsoft to Shopify Migration

A full Visualsoft to Shopify migration for Urban Surfer, a UK surf, skate and streetwear retailer with over 15,000 products and 149 brands — moved without losing its catalogue, its customers or its search rankings.

Urban Surfer
ClientUrban Surfer
Year2026
ScopeVisualsoft to Shopify Migration · Theme Development · Linnworks Integration · SEO
Liveurbansurfer.co.uk ↗
Urban Surfer website on desktop and mobile

01

The Challenge

Urban Surfer is a UK surf, skate and streetwear retailer with over 15,000 products and 149 brands. The business had outgrown Visualsoft, but fifteen years of trading had left a catalogue and a URL footprint that no off-the-shelf migration tool could carry across safely. A Visualsoft to Shopify migration at this scale had to be engineered, not exported.

Takeoff Digital handled the full migration: products, stock logic, 17,000 URL redirects, 653 blog posts, 34,000 customer accounts and a custom theme built on Shopify’s Impulse framework.

  • Scale. 15,666 products, 75,276 variants and 149 brands across 248 categories. The product data was inconsistent: duplicate listings, colour options spelled five different ways, and 690 products with no image, description or SKU reference.
  • Stock lives somewhere else. Inventory is managed in Linnworks across 31 physical and supplier locations. Shopify only sees one blended total per variant, so the storefront had no way to tell a customer whether an item was on the shelf in Exeter or three to ten days away at a supplier.
  • Despatch promises drive conversion. The business sells on “order by 2pm for same-day despatch”. That message had to be true per item, per brand and per time of day, not a static line on every product.
  • SEO at risk. Over 90,000 old product, category, brand-filter and blog URLs were indexed by Google. Every one of them would return a 404 at cutover unless mapped individually.
  • Content and customers. 653 blog posts dating back to 2011, with images spread across three dead or dying domains, plus 35,910 customer records with marketing consent that had to be preserved correctly under UK GDPR.
  • A live shop with no downtime. Trading continued on Visualsoft throughout, so the new Shopify store had to be built, loaded and verified in parallel and only then switched over.
15,666 Products & 75,276 Variants17,160 Redirects, Zero BrokenLive Despatch CountdownZero-Downtime Cutover

02

Our Approach

We treated the Visualsoft to Shopify migration as a data engineering job first and a design job second, applying the same Shopify migration methodology we use on every platform move. Every step was scripted against the Shopify Admin API, run in dry-run mode, verified against the live store, and only then applied, so nothing was ever hand-keyed or guessed.

Catalogue migration with verification built in. We rebuilt the Visualsoft export into Shopify-ready imports, resolving handle collisions by checking each product against its original parent record rather than its title. That caught 148 cases where two different articles shared a name (a men’s and a women’s version of the same Superdry jacket, for example) that a naive import would have merged into one broken page. After each import a check script confirmed every product, variant, image and price against the live store, and that nothing pre-existing had been touched.

A despatch engine Shopify does not have. Because the theme cannot read per-location stock, we built a small PHP service that reads Linnworks and Shopify, works out for each variant whether stock is in-house or supplier-only, and writes the answer into variant metafields the theme can read. A per-brand despatch metaobject lets the client set lead times (0 to 10 days) per brand in the Shopify admin with no developer involved. The product page then renders one of three messages: available for immediate despatch, estimated despatch in N working days, or out of stock. On in-stock items a live countdown shows “Order within 2h 15m for same-day despatch”, using the shop’s real cut-offs (2pm Monday to Friday, 10am Saturday) in London time.

Categories that keep themselves clean. The old Visualsoft site showed thousands of sold-out products inside category pages. We tagged every product with its category memberships, then rebuilt all 96 navigation collections as automated collections ruled by tag plus inventory. Sold-out items now drop out of menus in real time and reappear when restocked, while their product pages stay live and indexed for Google.

SEO carried over, not rebuilt. We mapped every URL the old site’s sitemap and export exposed: product pages matched through SKUs, category and brand-filter pages matched to the new collections, blog posts to their new handles. 17,160 redirects were loaded through the API, and every target was audited to confirm none of them led to a 404. This is the part of a Visualsoft to Shopify migration that protects fifteen years of rankings.

Content and customers moved whole. The WordPress blog was parsed from the client’s own export, shortcodes converted to clean HTML, and every image re-hosted on Shopify’s CDN. Dead images were removed rather than shipped broken. Customer records were deduplicated, phone numbers validated, and marketing consent mapped to Shopify’s single-opt-in model with the original consent date, so no re-permissioning email was needed.

Theme built on Impulse by Archetype. The storefront uses Shopify’s block-based product template, with the despatch logic, brand navigation and policy pages integrated into the theme rather than bolted on through apps.

03

The Result

17,160URL redirects created, zero broken targets — fifteen years of rankings carried across

Urban Surfer is live on Shopify with its full catalogue, its search equity intact and a despatch promise that is accurate per product for the first time.

Project mobile mockup
What moved from Visualsoft to ShopifyFigure
Products live on Shopify15,666
Variants75,276
Brands149
URL redirects created, zero broken targets17,160
Blog posts migrated, 2011 to 2025653
Blog images re-hosted on Shopify CDN1,208
Customer accounts imported, with consent preserved34,683
Sold-out products removed from category navigation29,462
Category collections now self-maintaining96
Products with a meta description95%

For the customer, every product page now says exactly what will happen after they click buy: same-day despatch with a live countdown to the cut-off, a brand-specific lead time, or sold out. Category pages show only what can actually be bought.

For the business, stock stays mastered in Linnworks and flows into Shopify without manual intervention. Despatch lead times are edited per brand in the Shopify admin. Adding a product to a category is a single tag. The team no longer maintains thousands of manual collection memberships.

For search, every old product, category, brand-filter and blog URL resolves to its new home, so rankings built up over fifteen years on Visualsoft carry across to the new Shopify store.

Urban Surfer kept trading on Visualsoft throughout the build. The switch to Shopify happened only after every import had been verified against the live store.

If you’re planning a Visualsoft to Shopify migration of your own, our dedicated Visualsoft to Shopify migration service is built around the exact process we used here, and our wider Shopify migration team can walk you through it.

Ready to build something great?

Urban Surfer — Visualsoft to Shopify Migration Case Study | Takeoff Digital