Jan 03, 2023
UPDATED:
Oct 30, 2025
Migrating to XM Cloud can deliver a positive ROI and the benefits of the cloud and automated SaaS upgrades. However, moving a complex Sitecore XP solution to XM Cloud requires careful planning, especially if your XP implementation includes extensive custom logic, workflows, and integrations.
In this post, we’ll explain some of the prerequisites you need to consider before moving and also chart a path to get there using a phased approach.
Migration Prerequisites
Part of your planning will be to inventory your assets so you can figure out where they will go. Here are some of the typical assets you have in a Sitecore XP/XM solution:
| Asset | Gameplan to get to XM Cloud from XP | |
|---|---|---|
| 1 | Media Assets | Determine if you need a DAM. If you do, you will need a separate mini project to extract from Sitecore XP media library and move assets to a DAM (like Content Hub). If you do not need a DAM, they can be migrated to XM Cloud. |
| 2 | Content | Content can be moved to the new CMS via Sitecore CLI, AS LONG AS the content types for your new headless site are the same as they are now, which is unlikely. Therefore, it may be necessary after you build your new website to manipulate content via custom scripting to move your large-volume content to XM Cloud. |
| 3 | Content Types | As long as your content type needs aren't changing, this is, in fact, the MOST reusable component of your existing Platform DXP (Sitecore XP) solution. |
| 4 | Custom Logic (likely .NET) | This will be one of the most significant challenges. There is no home for this in XM Cloud. Your two options are:
|
| 5 | UX (HTML/CSS) | Unless you've already built your site using JSS/headless, you will have to completely rebuild your UX. Very little of your current HTML/CSS will be re-usable if you are moving from an MVC-built Sitecore XP solution to a headless solution (such as XM Cloud or any other headless CMS). Because of this, consider redesigning simultaneously, which will impact your content and content types as well (making migration more challenging). |
| 6 | Personalization Rules | Personalization rules will need to be redone completely. You should target going to Sitecore Personalize as a new product for this. While there is personalization capability directly in XM Cloud (via a small integration with Personalize), any significant amount of personalization will require a separate Personalize subscription. |
| 7 | Custom Indices | Custom indices or computed fields are not supported in XM Cloud. For this, you will need to leverage a hosted Search solution such as Sitecore Search, Coveo, or Searchstax Search Studio. |
Steps to Migrate to XM Cloud
This is a description of the end-state location of these assets. However, getting everything to its final destination simultaneously will be challenging. You will likely need a few steps in between.
The interim steps would typically look like:

-
Remove Sitecore XP dependencies
-
Extract your custom logic to a service layer
-
Upgrade to the latest version of Sitecore
-
Rebuild your site using a headless approach
-
Acquire XM Cloud
-
Migrate any items going to XM Cloud and other composable services
-
Point your head to XM Cloud's Experience Edge
Enterprises with a small portfolio of just a handful of sites can skip steps 3 and 4 and simply build a headless website on XM Cloud.
1. Remove Sitecore XP Dependencies
The first step is to remove all dependencies on the Sitecore XP capabilities. Your application must also remove features such as personalization, analytics, goals, or anything based on xDB.
2. Extract Your Custom Logic to a Service Layer
If your Sitecore XP platform has been in place for several years, it’s likely accumulated a lot of custom logic that handles specific business rules, integrations, and display behavior. When moving to XM Cloud, this logic needs to be untangled and organized into two parts:
-
Display logic: This will be moved to your front-end or head application (e.g., Next.js).
-
Business or back-end logic: This will be moved into a new Enterprise External Web Service. These separate APIs or services handle your data processing, integrations, and business rules.
These services don’t have to be full microservices. However, they should be lightweight, secure, and reusable. This makes supporting other digital channels, such as mobile apps or partner sites, easy. As your service layer matures, you’ll also want to manage and monitor it effectively, using tools such as AWS Service Mesh, MuleSoft, or Kong to ensure reliability, security, and scalability.
3. Upgrade To the Latest Version of Sitecore
Suppose your website is large and complex, and you’re not already on the latest version of Sitecore (anything before 10.x). In that case, you must upgrade to ensure compatibility and avoid unnecessary redevelopment later. The reason is that Sitecore JSS has evolved dramatically across versions.
Earlier releases, such as Sitecore 8, do not include JSS. Even in Sitecore 9, JSS differs so significantly from the modern implementation that any headless solution built on it would require major redevelopment to align with XM Cloud.
4. Rebuild Your Website Using a Headless Approach
The next step for enterprises with large and complex website portfolios involves rebuilding their user interface in a headless architecture and deploying it on a rendering host such as Netlify, Vercel, or self-hosting on AWS. This often presents a good opportunity to refresh your site’s visual design.
The scope will depend on the size and number of sites in your ecosystem. While most of your existing HTML will be restructured (with less than 25% likely to be reused), the result is a faster, more modern front end with improved Core Web Vitals and overall performance.
5. Acquire XM Cloud
Once you’ve secured your XM Cloud license, setting up your instance is straightforward. As a SaaS platform, much of the provisioning and configuration is automated, allowing you to get started quickly with minimal setup effort.
6. Migrate Items to XM Cloud and Other Composable Services
Content and media migration are often the most detailed parts of the process, especially if you have a large volume of assets or complex personalization rules. Each type of content may require its own mini project to ensure it’s properly structured, optimized, and aligned with the new SaaS-based personalization and delivery model.
7. Point Your Head to XM Cloud's Experience Edge
Once all the foundational work is complete, connecting your frontend to XM Cloud should be straightforward. This step typically involves deploying your website on a rendering host and performing a full regression test to confirm that everything functions as expected. While minor differences may arise, thorough testing and preparation will ensure a smooth transition to your new environment.
Wrapping Up
Moving a large, complex website from Sitecore XP to XM Cloud is not trivial. However, the key is to have a plan, start small, and take a phased approach.
For instance, you can migrate a single, smaller website or landing page to this new architecture to ensure your team gains the expected benefits and also check that they can maintain and extend the system if all your sites were built in this manner.
No matter how you choose to get to XM Cloud, it helps to have an experienced partner supporting you. Oshyn is a certified Sitecore partner with extensive experience supporting maintenance and upgrades, implementing new solutions, and migrating clients to composable systems.
Contact us to see how we can assist you on your journey to XM Cloud.