Introduction
At Techxot, we recently took on an exciting project, migrating a full-scale Umbraco CMS website from version 8 to version 13 (LTS).
It wasn’t just an upgrade, but migration to Umbraco cloud with incremental enhancements. This was necessary to enable scalability and long-term compatibility. Umbraco version13 offers major performance, security, and flexibility improvements.
This blog is the first step towards your Umbraco 8 to 13 migration journey.
Why does our client need Umbraco CMS Migration?
Our client’s Umbraco v8 site was feature-rich and stable, but:
Limitations from the legacy .NET Framework.
Lost support for Umbraco 8.
Some packages had stopped receiving updates.
Performance and scalability needed a modern push.
Modernization reduces risk and enables growth, performance, and better development & deployment practices. In this project, customization meant higher technical debt with more risk and complexity which resulted in migration as a strategic move for future- proofing, stabilizing and scaling the future readiness of the platform.
Umbraco migration Strategy
Even though Umbraco CMS migration was a strategic move, a thorough assessment of existing implementations was necessary before finalizing migration strategy. Because the goal was not just to migrate to a new version but to make the platform perform, scale, secure and stable for long-term to mold it into a future-ready and cloud-native platform with .NET standards.
Key considerations included:
Re-architecting vs refactoring the existing solution
Content, media, and member migration
Testing and validation phases
Risk mitigation
Post-migration optimization
Migration from a version lower to a version higher there are two main approaches:
Upgrade in place – Step through intermediate versions.
Rebuild approach – Create a fresh Umbraco v13 use case to migrate data and media using tools and scripts.
Why did we decide to rebuild?
The shift from .NET framework to .NET Core made the older version that is Umbraco v8 incapable and needed a rebuild instead of traditional upgrades. The Umbraco cloud requires a clean and fresh deployment foundation because legacy implementations don’t support the new Umbraco cloud version. The important goal was to minimize risk and effort in Umbraco CMS migration with minimal disruption. Rebuilds were implemented to make the platform future ready, ensure stability, security, and performance.
Cloud-native (Umbraco Cloud)
A clean codebase on .NET 8 (.NET Core)
Better performance
Full control over removing legacy dependencies
Third party packages reassessed
Easier testing and debugging during content migration
Stronger alignment with Umbraco Cloud workflows and deployments
Key Differences – Umbraco v8 and v13
Before Umbraco CMS migration, we made a deep technical comparison.
Some of the most impactful differences included:
Framework: .NET Framework - .NET Core (.NET 8)
Content Structure: Nested Content - Block List Editor
Forms: Umbraco Forms now use different storage and data type structures
Security & Authentication: Improved authentication and authorization mechanisms, modern identity and security practices
UI, UX & Editor Experience: Cleaner backoffice UI, Improved editor workflows
Hosting & Long-Term Support – Optimized for cloud hosting, Better CI/CD compatibility, Long-term support and stability
Umbraco migration to v13 offered major architectural shifts which improved security and authentication, better UI and UX updates, improved hosting and development platforms, and long-term support and stability.
Understanding third-Party Packages & its Compatibility:
After finalizing out migration strategy comes the toughest part, dealing with interoperability of third-party package.
During the upgrade, we discovered that Some Packages (a dependency we relied on heavily in v8) had no immediate NuGet release for v13.
It sounds simple– but it turned into a major headache: like dependency mismatches, version conflicts during restoration or significant syntax changes in code to align with the latest packages.
As DXP migration experts, we always audit all packages early in your migration plan.
As for other dependencies like Redirect management, we successfully replaced old packages with modern alternatives compatible with .NET Core and Umbraco v13.
Deprecated and Legacy Components
Several packages and property editors from v8 were deprecated in v13, some of them are:
Legacy Media Pickers -Media Picker 3
Nested Content / Archetype -Block List Editor
Legacy Content Picker -Content Picker
Grid Layout -Block Grid Editor
UmbracoRedirect -Redirect URL Management
Custom 404 handlers -Status Code Pages Middleware
Physical ~/media access -Media File System Abstraction
SurfaceController (MVC5) - ASP.NET Core Surface Controller
XML Config -JSON + Code
These changes broke content links during migration and required manual data fixes and script-based JSON restructuring.
Conclusion
As a stakeholder it is important for you to have an Umbraco partner who falls under deep expertise and experience and can align your expectations and business goals with measurable outcomes during and after this Umbraco 8 to13 migration.
What’s Next
In the next part, we’ll break down our migration approach and planning — including setting up both environments, using uSync for content transfer, and designing a no-data-loss migration plan.
Stay tuned for Part 2: Building a Migration Strategy That Works | Techxot Umbraco Official Partner
-Umbraco partner: https://umbraco.com/partners/find-a-solution-partner/?skill=§or=&country=india&leve…





