Real project · a store for BMW parts

BMWParts.bg CloudCart → Shopify

BMWParts.bg lets customers search for a part by BMW model or OEM number and browse the catalogue by series and generation. When moving the store from CloudCart to Shopify, I rebuilt the navigation and product pages and preserved the old links to products, categories and the blog.

  • 180migrated products

    179 public + 1 kept as a draft

  • 408URL redirects

    working after the move to Shopify

  • 114BMW generations

    in separate Shopify collections

  • 6/6blog posts

    moved into the new structure

What had to be kept

What the migration covered

OEM numbers, images and categories had to stay with the right products. I also preserved the old URLs. I linked a product to a BMW model only when that relationship was present in the CloudCart data.

01

Catalogue

180 CloudCart products were migrated: 179 are publicly active, and 1 is kept as a draft and is not visible in the store.

02

BMW structure

New parts, used parts and tuning, plus 114 generations in 10 model families.

03

Findability

Search by name, BMW model and part number. Model links follow the data from the old store.

04

SEO risk

Old product, category and blog URLs with exact Shopify matches.

Before and after migration

CloudCart before. Shopify after.

Compare the navigation, home page, catalogue and the same product before and after migration. CloudCart is on the left and Shopify on the right. Drag the divider to see the differences.

BMW navigation

Navigation by series and generation

The CloudCart menu lists the series together. On Shopify, you choose a series and then see its generations. This helps you browse the catalogue; compatibility with a specific part still needs a separate check.

The open menu of the Shopify store, with series and separate generations for each series. Before · CloudCart After · Shopify
Before · the public CloudCart store. After · the public Shopify store.
The open menu of the public CloudCart store, with a flat list of BMW series.

Home page

Search and the main categories from the start

The old home page opens with featured products. The new one puts search, the three main departments and the choice by BMW model before the catalogue.

The current BMWParts.bg home page on Shopify, with search, categories and a choice by BMW model. Before · CloudCart After · Shopify
Before · the public CloudCart store. After · the public Shopify store.
The public BMWParts.bg home page on CloudCart, with featured products.

Category and collection

A catalogue with categories, filters and BMW generations

CloudCart shows the category and a standard sort order. Shopify adds the total count, the main product departments and navigation by BMW generation around the product grid.

The current Shopify collection, with the total number of products, categories, BMW generations and product cards. Before · CloudCart After · Shopify
Before · the BMW X series on CloudCart. After · the catalogue and filters on Shopify.
The public BMW X series category on CloudCart, with filters, sorting and a product grid.

Product page

The OEM number sits next to the key information

The comparison is of the same shock absorber, part number 37106875083. On Shopify, the OEM number, the condition, the price and the order button are clearly separated.

The product page of the same shock absorber 37106875083 in the current Shopify store. Before · CloudCart After · Shopify
Before and after for the same product and OEM number 37106875083.
The product page of shock absorber 37106875083 in the public CloudCart store.

Working with the data

Export, data mapping and import

I matched OEM numbers, images, categories and old URLs against the CloudCart export. Where compatibility information was missing, I left it blank rather than guessing from the product title.

  1. 01

    CloudCart export

    Product data, public URLs and a list of the missing fields.

  2. 02

    Data mapping

    A match for product, OEM number, image, price, category, SEO and old URL.

  3. 03

    Shopify import

    Products, collections, BMW generations and product tags from confirmed data only.

  4. 04

    301 redirects

    Each old URL points to its corresponding new page, rather than redirecting every URL to the home page.

  5. 05

    Checks after launch

    The imported data and the main actions in the store, on a computer, a tablet and a phone.

A catalogue of BMW parts

Navigation by series and generation

114 separate collections arrange the parts by BMW generation. 17 products were not assigned to a generation automatically, because the title alone is not enough evidence of compatibility.

The BMWParts.bg Shopify catalogue, with categories, BMW models and product cards.
The category, BMW generation, OEM number and price appear together.

Catalogue organisation

How the catalogue is organised

  • Part numbervisible on the card and on the product page
  • BMW modelsonly links confirmed in the source are shown
  • Conditionclearly separated from availability and quantity
  • CategoriesNew parts, used parts and tuning

Product page

The OEM number sits next to the key information

I placed the OEM number beside the title and price so the customer can compare it with the number of the part they need. Links to generations are labelled ‘BMW models’.

37106875083

a real part number in the product shown

A BMWParts.bg product page on Shopify, with an image, part number, price and BMW models.
A real product from the migrated catalogue in the public Shopify store.

SEO migration

301 redirects for the old URLs

408 old URLs now lead to the matching products, categories, posts and the blog on Shopify. That way, visitors and search engines reach the right page after the migration.

CloudCart/product/<product-name>
Shopify/products/<product-name>
408

Redirects to the new pages

Old links continue to lead to the corresponding content on Shopify.

1 : 1

Exact match

The old URL segment is kept for products and categories.

Connected

GA4 + Google Search Console

GA4 and Google Search Console are connected. The sitemap still has to be resubmitted and the main pages requested for indexing.

Read the practical lessons from moving BMWParts.bg

On a phone

Product and search on a phone

On a phone, the product image stays on the first screen, long titles do not overflow the page, and the results of a search by BMW model stay easy to scan.

  • Navigation stays within reach while scrolling
  • The blog is visible as soon as the menu opens
  • Search by BMW model and OEM number
A BMWParts.bg product page on a phone, with an image, title and part number.
Product · 390 px
A search for BMW F15 on a phone, with real product results.
Search by model · 390 px

Completed project

What the completed project includes

The migration covered the catalogue, navigation, customer profiles and blog. I checked search and the steps through to ordering, including the delivery collection point, on a computer, tablet and phone.

What is done

  • 180 migrated products: 179 public and 1 kept as a draft
  • 114 BMW generations and the store navigation
  • 408 old URLs redirected to the right new pages
  • A customised Horizon theme and 6/6 public blog posts
  • 646 migrated customer profiles
  • A verified lead time of 3–8 working days on 52 active products
  • Search by name and OEM number, categories, product, basket and delivery to an office

Before you move your store

Have an existing store and considering Shopify?

Send me your store URL and tell me what you want to keep or change. I will review the data and integrations and give you an assessment of the scope, risks and budget.

BMWParts.bg is a specialist store for BMW parts. This page does not claim any partnership with or endorsement by BMW AG.