I have a solution on PROD with Sitecore 10.1.1 which has to be downgraded from XP to XM.

I know all the features and things that will be lost, and that part was already taken into consideration.

I have seen these questions Downgrading from XP to XM and Upgrade Sitecore 8.2 XP Database to Sitecore 10.2 XM Database but still, something is not clear to me.

Technically is it enough to disable xDB by having the Xdb.Enabled and Xdb.Tracking.Enabled settings to false? By using a patch file like this one:

<configuration xmlns:patch="http://www.sitecore.net/xmlconfig/">
        <setting name="Xdb.Enabled" value="false" />
        <setting name="Xdb.Tracking.Enabled" value="false" />

Are the following mandatory?

  • clean up content databases
  • clean up of files from the disk (Sitecore stock dlls, configs, etc)
  • clean up things in code (remove/disable some custom code/configs) whare related with xDB/Analytics?

What else should I do besides having the Xdb.Enabled and Xdb.Tracking.Enabled settings to false What is your take on this?

  • How have previous deployments been handled? Our normal deployment process is to deploy vanilla XP site, then deploy custom solution over the top. In this case, you could just switch to deploy CM files first and again your solution over top. I would also search solution for any obvious XP references, like calls to xconnect and refactor. Also remove unused conn strings. Then review in lower environments for errors in logs. Jan 13, 2023 at 13:49
  • I would personally start with a Vanilla 10.2 XM and migrate Code and DBs only. Jan 13, 2023 at 14:24

1 Answer 1


Here is my take on this but it would be interesting to hear if anybody else had experience with this too.

Technically it is enough to set Xdb.Enabled and Xdb.Tracking.Enabled to "false" to stop Sitecore from running XP tools and features. However, usually we also want to remove all XP-specific roles and resources when performing a downgrade to reduce unnecessary hosting and maintenance costs.

It is possible to remove XP resources from connection strings on CM and CD roles, but other configs in /App_Config have dependencies on connection strings so configs will need to be cleaned up too. Otherwise you may get unwanted error messages in logs about unavailable services, databases and indexes.

The easiest way to do the file cleanup is actually to create a fresh XM installation and deploy your project on top of it - with this approach you can be sure that all Sitecore files are correct.

Custom code cleanup is a good practice too - you can start from reviewing project file references to Sitecore libraries and custom configs.

Cleanup of content databases is required only when upgrading to Sitecore 10.1+ from previous versions. This is needed to remove standard Sitecore items that are now stored as resources. So if your website is already on 10.1, then content database cleanup should not be needed.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.