Syncing Sitecore Items Safely from Production

I discovered that you can sync your items directly from production. (Don’t try this at home). You definitely need to be careful when running the commands, but it’s a feature that turns out to be very useful and saves a lot of testing time. Let me explain. Understanding the flow: Cloud ↔ Local CM Synchronization…

, ,


I discovered that you can sync your items directly from production. (Don’t try this at home). You definitely need to be careful when running the commands, but it’s a feature that turns out to be very useful and saves a lot of testing time. Let me explain.


Understanding the flow: Cloud ↔ Local CM

Synchronization doesn’t happen directly between instances, but through .yml files. That was my first key finding.

1. Pull from Production (XM Cloud)

We use this command to fetch items:

dotnet sitecore ser pull -n prod

This pulls items from the remote environment and stores them as YAML in your local repository. It’s like taking a snapshot of the production environment for inspection or versioning.

2. Push to Local CM (Docker)

Then, we push it into the local CM container like this:

dotnet sitecore ser push

This command applies the items to your local instance — perfect for testing, debugging, or validation before a deployment.


Why use this approach?

  • It allows me to analyze items before touching production.
  • I use .module.json files to segment content types: SXA, settings, data…
  • I avoid overwriting editorial content thanks to allowedPushOperations.

Practical tips that saved me

  • I always check changes with --what-if before pushing.
  • I work with tags to sync only what’s needed.
  • I keep my environments (sitecore.json) well defined to easily switch between local and cloud.

Understanding that the entire flow goes through the file system and not directly between instances completely changed my approach. Now I have full control over which items I handle, where I sync them, and why.

This practice not only saves me time and prevents errors, but also gives me the peace of mind that what I’m moving between environments is versioned, reviewed, and validated.

If you’re working with Sitecore Headless and XM Cloud, mastering this flow is not optional: it’s your best tool to ensure consistency, modularity, and traceability in every step of development.


Mayra Olivo is a Senior Software Engineer at OSHYN, where she leads backend development and cloud architecture initiatives using .NET, Azure, and data analytics tools. With over 7 years of experience, she has delivered scalable digital solutions for global brands, specializing in performance optimization, automation, and digital experience platforms such as Sitecore and Optimizely.

She is also the founder of SUG Latam and a three-time Sitecore MVP, recognized for her leadership in tech communities across Latin America. Mayra focuses on innovation, community building, and empowering teams through knowledge sharing and strategic collaboration. Her work has contributed to award-winning digital platforms and community impact initiatives.