← Back to services

Umbraco 14 changed everything. The backoffice was completely rewritten - Bellissima replaced the AngularJS UI with Lit and Web Components, the entire package ecosystem broke, and every custom backoffice extension became technical debt overnight. For teams running Umbraco 7, 8, 10, or 13, upgrading to v14+ isn't a simple NuGet update. It's a migration project, and it needs to be treated like one.

We've been through this transition with multiple clients. We know where the pain is, what breaks, and how to get from a legacy Umbraco installation to a modern v17 site without losing content, SEO equity, or your editors' sanity.

Why this upgrade is different

Every previous Umbraco major version upgrade was disruptive, but v14 is a generational shift. The backend moved from the legacy pipeline to a clean ASP.NET Core architecture in earlier versions, but the backoffice UI was still AngularJS right up to v13. Version 14 ripped that out entirely.

What breaks at v14:

  • Every custom backoffice plugin, property editor, dashboard, and content app built on AngularJS
  • Package dependencies that haven't been ported to the new Bellissima extension API
  • Custom sections, trees, and backoffice routes
  • Any integration that relied on the legacy backoffice API surface

What doesn't break: Content, media, document types, templates, partial views, surface controllers, and most server-side code. The data model is stable - it's the editorial and administrative UI layer that changed.

What we deliver

Upgrade assessment. We audit your current Umbraco installation: version, custom code, packages, property editors, integrations, and hosting. We identify exactly what will break, what migrates cleanly, and what needs rebuilding. You get a clear scope and realistic timeline before any code is written.

Version-specific migration paths. The route to v17 depends on where you're starting:

  • From Umbraco 7: Migration to v8 schema first (content and media database migration), then to v10+ using the official CMS migration tooling, then through to v17. This is the longest path and we'll be honest about whether a fresh build with content import is faster.
  • From Umbraco 8: Direct migration path to v10 using Umbraco's upgrade tooling, then incremental upgrades through v13, v14, and on to v17.
  • From Umbraco 10/13 (LTS): The most common starting point. Server-side code largely carries forward. The main work is rebuilding any custom backoffice extensions for Bellissima and updating package dependencies.
  • From Umbraco 14-16: Incremental upgrades following standard release-to-release paths. Typically straightforward unless you adopted early Bellissima APIs that changed in subsequent releases.

Backoffice extension rebuilds. Custom property editors, dashboards, content apps, and sections need rebuilding from AngularJS to Lit/Web Components using Umbraco's new extension API. We rebuild these with the same functionality, tested against your content model, and documented for your team to maintain.

Package audit and replacement. We assess every installed package against v14+ compatibility. Where packages have been ported, we upgrade. Where they haven't, we find alternatives or build equivalent functionality. We won't leave you dependent on abandoned packages.

Content and data migration. Your content, media, members, and dictionary items migrate through the upgrade. We verify data integrity at each step, handle any schema changes required by document type restructuring, and ensure nothing is lost in transit.

SEO and URL preservation. We map every published URL before the upgrade and verify them after. Redirects are configured for any URLs that change. We check canonical tags, sitemap generation, meta data, and structured data so your search rankings aren't affected.

Editor training and handover. The new backoffice looks and behaves differently. We walk your content team through the changes, update any editor documentation, and make sure they're comfortable before we hand over.

How we approach the upgrade

We run old and new in parallel throughout the migration. Your current site stays live and editable while we build and test the upgraded version in a staging environment. Content freeze is kept to the shortest possible window - often just hours for the final sync.

Every upgrade phase is tested independently. We don't attempt a single jump from v7 to v17. Each intermediate version is built, tested, and validated before moving to the next step. If something breaks at v10, we fix it at v10 - not three versions later when the cause is impossible to trace.

We use automated testing to verify rendering output: comparing page snapshots before and after upgrade to catch visual regressions, broken layouts, and missing content. This catches issues that manual testing misses, especially on sites with hundreds of content pages.

What we won't do

We won't recommend upgrading if it doesn't make sense. If your Umbraco 7 site is stable, low-traffic, and approaching end of life, a fresh build might be more cost-effective than a multi-step migration. We'll tell you that upfront.

We also won't cut corners on the intermediate steps. Skipping versions or attempting unsupported migration paths creates problems that surface months later. We follow the documented upgrade paths because they work.

Technologies

Umbraco 7/8/10/13/14/15/16/17, .NET Framework 4.x, .NET 8/9/10, ASP.NET Core, Bellissima Extension API, Lit, Web Components, uSync, Umbraco CMS Migration tooling, Azure App Service, SQL Server, SQLite.

Red Marina Assistant