What an Umbraco 7 to 13 Migration Actually Costs

April 14, 2026

Moving from Umbraco 7 to Umbraco 13 is a rebuild, not an upgrade. Content migrates with tooling; the site itself is reconstructed on the new platform. Any estimate built on upgrade assumptions will be wrong by a large factor.

Umbraco 7 reached end of life in September 2023. Organizations still running it are accumulating unpatched security exposure, and hosting and support options have narrowed.

Why the work is a rebuild

Three discontinuities between the platforms, each of which independently prevents a direct upgrade path.

  • Umbraco 8 replaced the core. Document types, templates, and content structure from version 7 do not carry forward directly. The content model is reconstructed on the target platform, and content is then migrated into it.
  • The framework changed. Umbraco 7 runs on .NET Framework; Umbraco 13 runs on modern .NET. Any custom server-side code is subject to the same constraints as any other .NET Framework migration, including package compatibility and the loss of System.Web.
  • The package ecosystem did not carry over. Packages that were standard in Umbraco 7 (Archetype, Vorto, and the various grid and forms tools) have no direct equivalents. Each becomes a decision: replace with a modern equivalent, rebuild the functionality, or change the editorial approach.

In practice: templates are rewritten, package integrations are replaced or rebuilt, and custom code written against the Umbraco 7 API is rewritten against a different API.

An estimate that treats this as a straightforward upgrade is probably based on an earlier version of the platform. Obtain a written assessment before committing to a budget or a date.

Cost drivers, in order of impact

Custom development against Umbraco 7 APIs. The largest variable. Custom data types, custom back-office sections, event handlers, surface controllers, and anything touching the content service directly is rewritten. Inventory this first; the count of files referencing Umbraco namespaces is a usable initial proxy.

Third-party package replacement. Some packages have modern equivalents with comparable functionality. Others require rebuilding the capability, and a complex package with no successor can dominate the project scope. This inventory belongs in the first week of assessment, not in the build phase.

Content model complexity. A brochure site with a handful of document types and straightforward templates is materially cheaper than one with custom grid editors, nested content, member portals, or commerce. Document type count is a reasonable proxy, with nesting depth as a second factor.

Content volume. Migrating thousands of nodes requires tooling plus validation. The migration is automatable; verifying that complex or nested content arrived intact is not, and it takes time proportional to the model's complexity rather than to node count.

Design scope. A straight port of the existing design to new templates costs front-end time. A redesign executed concurrently adds a parallel project, and combining them makes it harder to isolate the cause of any post-launch problem.

Cost ranges

These assume a team with direct experience in both Umbraco 7 and modern Umbraco. A team learning the platform during the migration will take longer and will discover the platform incompatibilities mid-project.

  • Small site. Under 20 document types, simple templates, minimal custom code, no member functionality: $15,000–$30,000
  • Medium site. 20 to 50 document types, custom features, package dependencies, basic member functionality: $35,000–$75,000
  • Large or complex site. Extensive custom development, member portals, commerce, many package dependencies, high content volume: $80,000 and up, with integration complexity the dominant variable above that floor

Evaluating proposals

A quote well below these ranges may not have priced the platform discontinuity. The incompatibilities are not visible from the outside, so they are easy to miss in a first estimate.

Three questions worth asking:

  • How is document type migration handled? A specific answer describes rebuilding the model on the target and migrating content into it. An answer that describes an upgrade path is worth a follow-up question.
  • How are custom development rewrites approached? The answer should reference an inventory step producing a per-item disposition.
  • What does content validation look like after migration? The answer should describe a verification method for nested and complex content, not a spot check.

The specificity of the answers is the signal. A team that has done this work can describe the sequence step by step.

Interim risk reduction

For organizations not ready to start, the objective is reducing exposure while planning proceeds.

  • Place the site behind a web application firewall if it is not already
  • Monitor for published vulnerabilities in Umbraco 7 and its dependency tree, and accept that no patches are coming
  • Restrict back-office access to known networks
  • Stop investing in new features on a platform scheduled for replacement
  • Set a planning date

Emergency migrations triggered by a security incident cost more, take longer, and produce worse outcomes than planned ones, because the sequencing and the deadline are both set externally.


Working through a problem like this?

Describe the system and where it's stuck. I'll tell you what the work actually involves.

Get in touch