{"id":25055,"date":"2026-03-27T07:10:56","date_gmt":"2026-03-27T07:10:56","guid":{"rendered":"https:\/\/what.digital\/?p=25055"},"modified":"2026-04-28T03:30:15","modified_gmt":"2026-04-28T03:30:15","slug":"bmw-classic-ecommerce-cms-migration","status":"publish","type":"post","link":"https:\/\/what.digital\/bmw-classic-ecommerce-cms-migration\/","title":{"rendered":"E-Commerce and CMS Migration for BMW Classic"},"content":{"rendered":"<p class=\"wp-block-paragraph\">Migrating a 40,000-part motorcycle catalog from a legacy FileMaker system to a modern e-commerce platform sounds straightforward \u2013 until you realize the old system contains decades of business logic that absolutely cannot break.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">That was the core tension in our work with BMW Classic: how do you modernize without disrupting a highly specialized, globally shipping operation? Here&#8217;s what actually happened, and what we learned.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>The real problem wasn&#8217;t the old technology<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">BMW Classic runs one of the most specialized online shops in the motorcycle world \u2013 genuine parts for everything from 1920s classics to current models, with worldwide shipping. The platform they were running had done its job for years, but it had reached its limits:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>SEO<\/strong> was essentially broken. The site was barely indexed, which meant customers searching for long-tail spare parts \u2013 often very specific queries \u2013 simply couldn&#8217;t find the shop.&nbsp;<\/li>\n\n\n\n<li><strong>Content updates<\/strong> were slow and risky.&nbsp;<\/li>\n\n\n\n<li>The system wasn&#8217;t built to support modern <strong>marketing workflows<\/strong> or a smooth <strong>purchasing experience<\/strong>.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>The hidden complexity:<\/strong> a significant portion of the business logic lived inside <strong>FileMaker<\/strong>, a legacy database system that had accumulated years of operational knowledge \u2013 product structures, compatibility rules, fulfilment logic. That&#8217;s not something you just switch off.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Keeping the business running while rebuilding it<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The biggest architectural decision we made early on was this: don&#8217;t replace FileMaker in a big bang. Build around it, carefully.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This meant designing a dedicated <strong>sync layer<\/strong> \u2013 a structured integration that connects FileMaker with the new custom-built storefront, keeps product and catalog data in sync, and insulates the shop from the risks that come with legacy data sources. If FileMaker becomes temporarily unavailable, the shop keeps running. That stability is only possible because of the abstraction layer between them.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">What this taught us is that preparation and understanding of the existing system matters more than the technology you&#8217;re migrating to. We spent significant time with the architects of the old shop before writing a single line of the new one. That investment paid off directly in the quality of the integration.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Two systems, two responsibilities: why Payload CMS was the right call<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">A shop like BMW Classic needs two fundamentally different things working in parallel: a structured commerce layer for parts data, pricing, compatibility, and stock \u2013 and a flexible content layer for landing pages, campaigns, and editorial storytelling.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Trying to force both into a single system creates compromises in both directions. So we separated them intentionally.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Payload CMS became the content brain. It gave the BMW Classic team the ability to publish and update marketing content, build campaign pages, and manage editorial material without needing a developer for every change. That kind of operational independence matters \u2013 especially for a team managing a catalog this size.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The custom commerce layer handled the rest: product data, checkout, pricing, and order flow. Connected through the sync layer, both systems together gave BMW Classic something they didn&#8217;t have before \u2013 speed without risk.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>SEO as a product requirement, not an afterthought<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">One of the clearest decisions we made going in was to treat SEO as a core requirement \u2013 not a layer added after development. For a shop selling 40,000+ spare parts, organic discoverability isn&#8217;t a nice-to-have. It&#8217;s the difference between capturing long-tail search demand and missing it entirely.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>In practice, this meant:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>A clean, indexable URL and navigation structure from day one<\/li>\n\n\n\n<li>Fast page loads via Next.js and Digital Ocean infrastructure<\/li>\n\n\n\n<li>Scalable metadata and content architecture that grows with the catalog<\/li>\n\n\n\n<li>A navigation model built around the way real customers actually search \u2013 by model family, then category, then part<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">The previous platform had essentially no SEO foundation. Fixing that structurally, rather than patching it, was one of the most commercially relevant things we did in this project.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><noscript><img decoding=\"async\" width=\"1024\" height=\"550\" src=\"https:\/\/what.digital\/wp-content\/uploads\/2026\/03\/bmw-classic-cs-inline-03-1024x550.jpg\" alt=\"bmw-classic-cs-inline-03\" class=\"wp-image-26083\" srcset=\"https:\/\/what.digital\/wp-content\/uploads\/2026\/03\/bmw-classic-cs-inline-03-1024x550.jpg 1024w, https:\/\/what.digital\/wp-content\/uploads\/2026\/03\/bmw-classic-cs-inline-03-300x161.jpg 300w, https:\/\/what.digital\/wp-content\/uploads\/2026\/03\/bmw-classic-cs-inline-03-768x413.jpg 768w, https:\/\/what.digital\/wp-content\/uploads\/2026\/03\/bmw-classic-cs-inline-03-388x208.jpg 388w, https:\/\/what.digital\/wp-content\/uploads\/2026\/03\/bmw-classic-cs-inline-03-776x416.jpg 776w, https:\/\/what.digital\/wp-content\/uploads\/2026\/03\/bmw-classic-cs-inline-03-480x258.jpg 480w, https:\/\/what.digital\/wp-content\/uploads\/2026\/03\/bmw-classic-cs-inline-03-960x516.jpg 960w, https:\/\/what.digital\/wp-content\/uploads\/2026\/03\/bmw-classic-cs-inline-03-720x387.jpg 720w, https:\/\/what.digital\/wp-content\/uploads\/2026\/03\/bmw-classic-cs-inline-03-500x269.jpg 500w, https:\/\/what.digital\/wp-content\/uploads\/2026\/03\/bmw-classic-cs-inline-03-360x194.jpg 360w, https:\/\/what.digital\/wp-content\/uploads\/2026\/03\/bmw-classic-cs-inline-03-188x101.jpg 188w, https:\/\/what.digital\/wp-content\/uploads\/2026\/03\/bmw-classic-cs-inline-03-80x43.jpg 80w, https:\/\/what.digital\/wp-content\/uploads\/2026\/03\/bmw-classic-cs-inline-03-120x65.jpg 120w, https:\/\/what.digital\/wp-content\/uploads\/2026\/03\/bmw-classic-cs-inline-03-600x323.jpg 600w, https:\/\/what.digital\/wp-content\/uploads\/2026\/03\/bmw-classic-cs-inline-03.jpg 1200w\" sizes=\"(max-width: 1024px) 100vw, 1024px\"><\/noscript><img decoding=\"async\" width=\"1024\" height=\"550\" src=\"data:image\/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201024%20550%22%3E%3C%2Fsvg%3E\" alt=\"bmw-classic-cs-inline-03\" class=\"wp-image-26083 lazyload\" srcset=\"data:image\/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201024%20550%22%3E%3C%2Fsvg%3E 1024w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" data-srcset=\"https:\/\/what.digital\/wp-content\/uploads\/2026\/03\/bmw-classic-cs-inline-03-1024x550.jpg 1024w, https:\/\/what.digital\/wp-content\/uploads\/2026\/03\/bmw-classic-cs-inline-03-300x161.jpg 300w, https:\/\/what.digital\/wp-content\/uploads\/2026\/03\/bmw-classic-cs-inline-03-768x413.jpg 768w, https:\/\/what.digital\/wp-content\/uploads\/2026\/03\/bmw-classic-cs-inline-03-388x208.jpg 388w, https:\/\/what.digital\/wp-content\/uploads\/2026\/03\/bmw-classic-cs-inline-03-776x416.jpg 776w, https:\/\/what.digital\/wp-content\/uploads\/2026\/03\/bmw-classic-cs-inline-03-480x258.jpg 480w, https:\/\/what.digital\/wp-content\/uploads\/2026\/03\/bmw-classic-cs-inline-03-960x516.jpg 960w, https:\/\/what.digital\/wp-content\/uploads\/2026\/03\/bmw-classic-cs-inline-03-720x387.jpg 720w, https:\/\/what.digital\/wp-content\/uploads\/2026\/03\/bmw-classic-cs-inline-03-500x269.jpg 500w, https:\/\/what.digital\/wp-content\/uploads\/2026\/03\/bmw-classic-cs-inline-03-360x194.jpg 360w, https:\/\/what.digital\/wp-content\/uploads\/2026\/03\/bmw-classic-cs-inline-03-188x101.jpg 188w, https:\/\/what.digital\/wp-content\/uploads\/2026\/03\/bmw-classic-cs-inline-03-80x43.jpg 80w, https:\/\/what.digital\/wp-content\/uploads\/2026\/03\/bmw-classic-cs-inline-03-120x65.jpg 120w, https:\/\/what.digital\/wp-content\/uploads\/2026\/03\/bmw-classic-cs-inline-03-600x323.jpg 600w, https:\/\/what.digital\/wp-content\/uploads\/2026\/03\/bmw-classic-cs-inline-03.jpg 1200w\" data-src=\"https:\/\/what.digital\/wp-content\/uploads\/2026\/03\/bmw-classic-cs-inline-03-1024x550.jpg\" loading=\"lazy\"><figcaption class=\"wp-element-caption\">Clear navigation from model to category to part.<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><noscript><img decoding=\"async\" width=\"1024\" height=\"550\" src=\"https:\/\/what.digital\/wp-content\/uploads\/2026\/03\/bmw-classic-cs-inline-01-1024x550.jpg\" alt=\"BMW Classic mobile navigation\" class=\"wp-image-26086\" srcset=\"https:\/\/what.digital\/wp-content\/uploads\/2026\/03\/bmw-classic-cs-inline-01-1024x550.jpg 1024w, https:\/\/what.digital\/wp-content\/uploads\/2026\/03\/bmw-classic-cs-inline-01-300x161.jpg 300w, https:\/\/what.digital\/wp-content\/uploads\/2026\/03\/bmw-classic-cs-inline-01-768x413.jpg 768w, https:\/\/what.digital\/wp-content\/uploads\/2026\/03\/bmw-classic-cs-inline-01-388x208.jpg 388w, https:\/\/what.digital\/wp-content\/uploads\/2026\/03\/bmw-classic-cs-inline-01-776x416.jpg 776w, https:\/\/what.digital\/wp-content\/uploads\/2026\/03\/bmw-classic-cs-inline-01-480x258.jpg 480w, https:\/\/what.digital\/wp-content\/uploads\/2026\/03\/bmw-classic-cs-inline-01-960x516.jpg 960w, https:\/\/what.digital\/wp-content\/uploads\/2026\/03\/bmw-classic-cs-inline-01-720x387.jpg 720w, https:\/\/what.digital\/wp-content\/uploads\/2026\/03\/bmw-classic-cs-inline-01-500x269.jpg 500w, https:\/\/what.digital\/wp-content\/uploads\/2026\/03\/bmw-classic-cs-inline-01-360x194.jpg 360w, https:\/\/what.digital\/wp-content\/uploads\/2026\/03\/bmw-classic-cs-inline-01-188x101.jpg 188w, https:\/\/what.digital\/wp-content\/uploads\/2026\/03\/bmw-classic-cs-inline-01-80x43.jpg 80w, https:\/\/what.digital\/wp-content\/uploads\/2026\/03\/bmw-classic-cs-inline-01-120x65.jpg 120w, https:\/\/what.digital\/wp-content\/uploads\/2026\/03\/bmw-classic-cs-inline-01-600x323.jpg 600w, https:\/\/what.digital\/wp-content\/uploads\/2026\/03\/bmw-classic-cs-inline-01.jpg 1200w\" sizes=\"(max-width: 1024px) 100vw, 1024px\"><\/noscript><img decoding=\"async\" width=\"1024\" height=\"550\" src=\"data:image\/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201024%20550%22%3E%3C%2Fsvg%3E\" alt=\"BMW Classic mobile navigation\" class=\"wp-image-26086 lazyload\" srcset=\"data:image\/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201024%20550%22%3E%3C%2Fsvg%3E 1024w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" data-srcset=\"https:\/\/what.digital\/wp-content\/uploads\/2026\/03\/bmw-classic-cs-inline-01-1024x550.jpg 1024w, https:\/\/what.digital\/wp-content\/uploads\/2026\/03\/bmw-classic-cs-inline-01-300x161.jpg 300w, https:\/\/what.digital\/wp-content\/uploads\/2026\/03\/bmw-classic-cs-inline-01-768x413.jpg 768w, https:\/\/what.digital\/wp-content\/uploads\/2026\/03\/bmw-classic-cs-inline-01-388x208.jpg 388w, https:\/\/what.digital\/wp-content\/uploads\/2026\/03\/bmw-classic-cs-inline-01-776x416.jpg 776w, https:\/\/what.digital\/wp-content\/uploads\/2026\/03\/bmw-classic-cs-inline-01-480x258.jpg 480w, https:\/\/what.digital\/wp-content\/uploads\/2026\/03\/bmw-classic-cs-inline-01-960x516.jpg 960w, https:\/\/what.digital\/wp-content\/uploads\/2026\/03\/bmw-classic-cs-inline-01-720x387.jpg 720w, https:\/\/what.digital\/wp-content\/uploads\/2026\/03\/bmw-classic-cs-inline-01-500x269.jpg 500w, https:\/\/what.digital\/wp-content\/uploads\/2026\/03\/bmw-classic-cs-inline-01-360x194.jpg 360w, https:\/\/what.digital\/wp-content\/uploads\/2026\/03\/bmw-classic-cs-inline-01-188x101.jpg 188w, https:\/\/what.digital\/wp-content\/uploads\/2026\/03\/bmw-classic-cs-inline-01-80x43.jpg 80w, https:\/\/what.digital\/wp-content\/uploads\/2026\/03\/bmw-classic-cs-inline-01-120x65.jpg 120w, https:\/\/what.digital\/wp-content\/uploads\/2026\/03\/bmw-classic-cs-inline-01-600x323.jpg 600w, https:\/\/what.digital\/wp-content\/uploads\/2026\/03\/bmw-classic-cs-inline-01.jpg 1200w\" data-src=\"https:\/\/what.digital\/wp-content\/uploads\/2026\/03\/bmw-classic-cs-inline-01-1024x550.jpg\" loading=\"lazy\"><figcaption class=\"wp-element-caption\">Mobile navigation<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>What we&#8217;d do the same \u2013 and what we&#8217;d watch more closely<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>The design and technical architecture held up well.<\/strong> Building a storefront around the real buyer journey \u2013 find the right model, navigate categories confidently, validate part details, purchase without friction \u2013 is the right approach for a parts shop at this scale.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>What we&#8217;d watch more closely next time:<\/strong> even more rigorous documentation of FileMaker data structures before migration begins. Legacy systems often contain edge cases that only surface under real conditions. The more thoroughly you map the old system upfront, the fewer surprises appear during sync testing.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>The other key learning<\/strong> \u2013 and this applies beyond BMW Classic \u2013 is that a sync layer isn&#8217;t just a technical workaround. It&#8217;s actually a long-term architectural feature. Future migrations, additions, or replacements of any single component don&#8217;t require rebuilding the whole platform. That&#8217;s a real advantage as the business evolves.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Where things stand<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The shop is live, stable, and continuing to develop. We&#8217;re ongoing with SEO improvements, UX refinements, and expanding the content layer. A project like this doesn&#8217;t end at launch \u2013 it enters a growth phase, and the foundation needs to be solid enough to support that.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If there&#8217;s one thing worth taking away from this project: the hardest part of migrating a legacy system isn&#8217;t the new technology. It&#8217;s respecting and understanding the old one well enough to build around it safely.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Working with a content-heavy platform or considering a CMS migration? Our <a href=\"https:\/\/what.digital\/payload-cms\/\">Payload CMS services<\/a> are built for exactly these kinds of projects \u2013 complex data, editorial independence, and no big-bang risk.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong><em>Related:<\/em><\/strong><em> <\/em><a href=\"https:\/\/what.digital\/erp-connector-store-merge-rokker\/\"><em>Learn how we developed an ERP-Shopify connector and merged the e-commerce store for Rokker.<\/em><\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Migrating a 40,000-part motorcycle catalog for BMW Classic meant one thing above all: don&#8217;t break what already works. We built a modern custom storefront and integrated Payload CMS \u2013 without replacing the legacy system in one risky move. The result? A globally shipping parts shop that&#8217;s finally discoverable, fast, and editorially independent.<\/p>\n","protected":false},"author":42,"featured_media":26076,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[22,151,134,24],"tags":[],"class_list":["post-25055","post","type-post","status-publish","format-standard","has-post-thumbnail","","category-e-commerce","category-payload-cms","category-project-cases","category-web-development"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.7 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>E-Commerce and CMS Migration for BMW Classic<\/title>\n<meta name=\"description\" content=\"Migrating BMW Classic&#039;s 40,000-part catalog to Payload CMS &amp; a custom storefront \u2013 real-world lessons on preserving business logic.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/what.digital\/bmw-classic-ecommerce-cms-migration\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"E-Commerce and CMS Migration for BMW Classic\" \/>\n<meta property=\"og:description\" content=\"Migrating BMW Classic&#039;s 40,000-part catalog to Payload CMS &amp; a custom storefront \u2013 real-world lessons on preserving business logic.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/what.digital\/bmw-classic-ecommerce-cms-migration\/\" \/>\n<meta property=\"og:site_name\" content=\"what. AG\" \/>\n<meta property=\"article:published_time\" content=\"2026-03-27T07:10:56+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-04-28T03:30:15+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/what.digital\/wp-content\/uploads\/2026\/03\/bmw-classic-cs-thumbnail.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"774\" \/>\n\t<meta property=\"og:image:height\" content=\"416\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Sergei Gordeichuk\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Sergei Gordeichuk\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/what.digital\\\/bmw-classic-ecommerce-cms-migration\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/what.digital\\\/bmw-classic-ecommerce-cms-migration\\\/\"},\"author\":{\"name\":\"Sergei Gordeichuk\",\"@id\":\"https:\\\/\\\/what.digital\\\/#\\\/schema\\\/person\\\/443eaa4dd429c3fe29ad5d0bc3dfc9fc\"},\"headline\":\"E-Commerce and CMS Migration for BMW Classic\",\"datePublished\":\"2026-03-27T07:10:56+00:00\",\"dateModified\":\"2026-04-28T03:30:15+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/what.digital\\\/bmw-classic-ecommerce-cms-migration\\\/\"},\"wordCount\":933,\"image\":{\"@id\":\"https:\\\/\\\/what.digital\\\/bmw-classic-ecommerce-cms-migration\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/what.digital\\\/wp-content\\\/uploads\\\/2026\\\/03\\\/bmw-classic-cs-thumbnail.jpg\",\"articleSection\":[\"E-commerce\",\"Payload CMS\",\"Project Cases\",\"Web Development\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/what.digital\\\/bmw-classic-ecommerce-cms-migration\\\/\",\"url\":\"https:\\\/\\\/what.digital\\\/bmw-classic-ecommerce-cms-migration\\\/\",\"name\":\"E-Commerce and CMS Migration for BMW Classic\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/what.digital\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/what.digital\\\/bmw-classic-ecommerce-cms-migration\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/what.digital\\\/bmw-classic-ecommerce-cms-migration\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/what.digital\\\/wp-content\\\/uploads\\\/2026\\\/03\\\/bmw-classic-cs-thumbnail.jpg\",\"datePublished\":\"2026-03-27T07:10:56+00:00\",\"dateModified\":\"2026-04-28T03:30:15+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/what.digital\\\/#\\\/schema\\\/person\\\/443eaa4dd429c3fe29ad5d0bc3dfc9fc\"},\"description\":\"Migrating BMW Classic's 40,000-part catalog to Payload CMS & a custom storefront \u2013 real-world lessons on preserving business logic.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/what.digital\\\/bmw-classic-ecommerce-cms-migration\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/what.digital\\\/bmw-classic-ecommerce-cms-migration\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/what.digital\\\/bmw-classic-ecommerce-cms-migration\\\/#primaryimage\",\"url\":\"https:\\\/\\\/what.digital\\\/wp-content\\\/uploads\\\/2026\\\/03\\\/bmw-classic-cs-thumbnail.jpg\",\"contentUrl\":\"https:\\\/\\\/what.digital\\\/wp-content\\\/uploads\\\/2026\\\/03\\\/bmw-classic-cs-thumbnail.jpg\",\"width\":774,\"height\":416,\"caption\":\"bmw-classic-cs-thumbnail\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/what.digital\\\/bmw-classic-ecommerce-cms-migration\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/what.digital\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"E-Commerce and CMS Migration for BMW Classic\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/what.digital\\\/#website\",\"url\":\"https:\\\/\\\/what.digital\\\/\",\"name\":\"what. AG\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/what.digital\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/what.digital\\\/#\\\/schema\\\/person\\\/443eaa4dd429c3fe29ad5d0bc3dfc9fc\",\"name\":\"Sergei Gordeichuk\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/b5a6242b74c28caa57e23dd0f9abca0c293d3bfee72accbff90f4f9f2e3e1a2a?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/b5a6242b74c28caa57e23dd0f9abca0c293d3bfee72accbff90f4f9f2e3e1a2a?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/b5a6242b74c28caa57e23dd0f9abca0c293d3bfee72accbff90f4f9f2e3e1a2a?s=96&d=mm&r=g\",\"caption\":\"Sergei Gordeichuk\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"E-Commerce and CMS Migration for BMW Classic","description":"Migrating BMW Classic's 40,000-part catalog to Payload CMS & a custom storefront \u2013 real-world lessons on preserving business logic.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/what.digital\/bmw-classic-ecommerce-cms-migration\/","og_locale":"en_US","og_type":"article","og_title":"E-Commerce and CMS Migration for BMW Classic","og_description":"Migrating BMW Classic's 40,000-part catalog to Payload CMS & a custom storefront \u2013 real-world lessons on preserving business logic.","og_url":"https:\/\/what.digital\/bmw-classic-ecommerce-cms-migration\/","og_site_name":"what. AG","article_published_time":"2026-03-27T07:10:56+00:00","article_modified_time":"2026-04-28T03:30:15+00:00","og_image":[{"width":774,"height":416,"url":"https:\/\/what.digital\/wp-content\/uploads\/2026\/03\/bmw-classic-cs-thumbnail.jpg","type":"image\/jpeg"}],"author":"Sergei Gordeichuk","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Sergei Gordeichuk","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/what.digital\/bmw-classic-ecommerce-cms-migration\/#article","isPartOf":{"@id":"https:\/\/what.digital\/bmw-classic-ecommerce-cms-migration\/"},"author":{"name":"Sergei Gordeichuk","@id":"https:\/\/what.digital\/#\/schema\/person\/443eaa4dd429c3fe29ad5d0bc3dfc9fc"},"headline":"E-Commerce and CMS Migration for BMW Classic","datePublished":"2026-03-27T07:10:56+00:00","dateModified":"2026-04-28T03:30:15+00:00","mainEntityOfPage":{"@id":"https:\/\/what.digital\/bmw-classic-ecommerce-cms-migration\/"},"wordCount":933,"image":{"@id":"https:\/\/what.digital\/bmw-classic-ecommerce-cms-migration\/#primaryimage"},"thumbnailUrl":"https:\/\/what.digital\/wp-content\/uploads\/2026\/03\/bmw-classic-cs-thumbnail.jpg","articleSection":["E-commerce","Payload CMS","Project Cases","Web Development"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/what.digital\/bmw-classic-ecommerce-cms-migration\/","url":"https:\/\/what.digital\/bmw-classic-ecommerce-cms-migration\/","name":"E-Commerce and CMS Migration for BMW Classic","isPartOf":{"@id":"https:\/\/what.digital\/#website"},"primaryImageOfPage":{"@id":"https:\/\/what.digital\/bmw-classic-ecommerce-cms-migration\/#primaryimage"},"image":{"@id":"https:\/\/what.digital\/bmw-classic-ecommerce-cms-migration\/#primaryimage"},"thumbnailUrl":"https:\/\/what.digital\/wp-content\/uploads\/2026\/03\/bmw-classic-cs-thumbnail.jpg","datePublished":"2026-03-27T07:10:56+00:00","dateModified":"2026-04-28T03:30:15+00:00","author":{"@id":"https:\/\/what.digital\/#\/schema\/person\/443eaa4dd429c3fe29ad5d0bc3dfc9fc"},"description":"Migrating BMW Classic's 40,000-part catalog to Payload CMS & a custom storefront \u2013 real-world lessons on preserving business logic.","breadcrumb":{"@id":"https:\/\/what.digital\/bmw-classic-ecommerce-cms-migration\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/what.digital\/bmw-classic-ecommerce-cms-migration\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/what.digital\/bmw-classic-ecommerce-cms-migration\/#primaryimage","url":"https:\/\/what.digital\/wp-content\/uploads\/2026\/03\/bmw-classic-cs-thumbnail.jpg","contentUrl":"https:\/\/what.digital\/wp-content\/uploads\/2026\/03\/bmw-classic-cs-thumbnail.jpg","width":774,"height":416,"caption":"bmw-classic-cs-thumbnail"},{"@type":"BreadcrumbList","@id":"https:\/\/what.digital\/bmw-classic-ecommerce-cms-migration\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/what.digital\/"},{"@type":"ListItem","position":2,"name":"E-Commerce and CMS Migration for BMW Classic"}]},{"@type":"WebSite","@id":"https:\/\/what.digital\/#website","url":"https:\/\/what.digital\/","name":"what. AG","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/what.digital\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/what.digital\/#\/schema\/person\/443eaa4dd429c3fe29ad5d0bc3dfc9fc","name":"Sergei Gordeichuk","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/b5a6242b74c28caa57e23dd0f9abca0c293d3bfee72accbff90f4f9f2e3e1a2a?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/b5a6242b74c28caa57e23dd0f9abca0c293d3bfee72accbff90f4f9f2e3e1a2a?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/b5a6242b74c28caa57e23dd0f9abca0c293d3bfee72accbff90f4f9f2e3e1a2a?s=96&d=mm&r=g","caption":"Sergei Gordeichuk"}}]}},"_links":{"self":[{"href":"https:\/\/what.digital\/wp-json\/wp\/v2\/posts\/25055","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/what.digital\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/what.digital\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/what.digital\/wp-json\/wp\/v2\/users\/42"}],"replies":[{"embeddable":true,"href":"https:\/\/what.digital\/wp-json\/wp\/v2\/comments?post=25055"}],"version-history":[{"count":8,"href":"https:\/\/what.digital\/wp-json\/wp\/v2\/posts\/25055\/revisions"}],"predecessor-version":[{"id":26088,"href":"https:\/\/what.digital\/wp-json\/wp\/v2\/posts\/25055\/revisions\/26088"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/what.digital\/wp-json\/wp\/v2\/media\/26076"}],"wp:attachment":[{"href":"https:\/\/what.digital\/wp-json\/wp\/v2\/media?parent=25055"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/what.digital\/wp-json\/wp\/v2\/categories?post=25055"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/what.digital\/wp-json\/wp\/v2\/tags?post=25055"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}