Umbraco migration
that gets you off .NET for good.
We move Umbraco 7, 8 and 10 sites onto DatoCMS or Storyblok. Every node, culture URL and language variant comes across, and the whole .NET application layer comes off the invoice with it. The next major version stops being a budget conversation.
Trusted by
Trusted by
Umbraco was the friendly choice. Until upgrade time.
Umbraco earned its reputation as the .NET CMS that did not get in your way. Friendly, flexible, well-supported. It still is most of those things. The trouble is the versions people are actually running. Umbraco's own support table lists 7, 8 and 10 together under end-of-life, with 7 out since September 2023, 8 since February 2025 and 10 since June 2025. The cost of staying has crept up to the point where the next major version looks a lot like a rebuild, and the rebuild looks a lot like the right time to leave the .NET stack behind. This is one path through our wider headless migration practice. We run the same playbook for teams leaving Sitecore and Kentico.
Umbraco 7, 8 and 10 are all past end-of-life, and the upgrade path quoted to you turned out to be a rebuild.
Document Types proliferated and now nobody is sure which one to pick when creating a new page.
Custom property editors were written by people who left the agency two contracts ago.
Windows and SQL Server are not optional on 7 or 8. The .NET Framework ties the site to IIS, and the database licence sits on the bill next to it.
The Grid Layout is a dead end that Umbraco marked obsolete and removed as a core property editor in version 14. That content gets remodelled whichever way you go.
Translations are a patchwork of Vorto on Umbraco 7 and language variants on 8 and 10, with workarounds your team has to remember either way.
The Reality
Each major version arrives as its own project with its own budget. That is the cycle a migration ends.
What Survives the Move
Every node and language variant makes the move.
Umbraco's strength is structured multilingual content with a clean export path. The content tree, language variants, Document Types and URL aliases all carry over. Your editors keep the structure they already know.
All your URLs
every node, every culture-specific slug, every umbracoUrlAlias. We crawl the published site and read the content tree straight out of the database, then map it node by node.
Your content
read directly from your Umbraco database. Document Type properties translate field by field into the new content model.
Your multilingual content
language variants, plus Vorto fields on the Umbraco 7 sites that still run it, move into native multi-locale content with hreflang configured from day one.
Your media library
moved from the Media section to a CDN with proper image processing. Crop URLs come across whether they were built with ImageProcessor on 7 and 8 or ImageSharp.Web on 10.
Your SEO signals
page-level meta, canonical tags, sitemap, robots.txt and structured data are configured server-side, the same way they were in Umbraco.
What Changes
The .NET layer goes away.
What costs money on an Umbraco site is the stack underneath it. On 7 and 8 that means Windows, IIS, SQL Server and the .NET Framework, all of it Windows-only and all of it someone's job to maintain. On 10 you can run Linux and Umbraco will happily talk to SQLite, though there is still a .NET application and a database underneath it. Moving the content out retires the whole layer at once.
Document Types
become a small set of well-defined block schemas. We normalize the sprawl rather than copying it. Your editors stop guessing which type to pick.
Grid Layout and Block List
become real components in the new stack, defined once in code and reused. Editors pick a block and drop it in, and it looks the same everywhere it appears.
Custom property editors
either get rebuilt as fields in the new CMS, replaced by built-in equivalents, or dropped if nobody uses them anymore.
The backoffice
is gone. No more Settings section, no more Content Apps, no more remembering which tab a property lives under. Editors get a CMS designed for editors.
The application layer
goes away entirely. On 7 and 8 that retires Windows, IIS and the SQL Server licence with it. Umbraco 10 could already run on Linux, though it still leaves you a .NET application and a database to keep patched. A static site on a CDN leaves you neither.
How It Works
What an Umbraco migration involves
Audit and content model
We pull the content tree, walk through every Document Type, every language variant, every custom property editor, and every active package. Then we design the content model around how your editors actually publish. You approve the model before development starts.
Migrate, translate, rebuild
Content is exported straight from your Umbraco database and imported into DatoCMS or Storyblok. The frontend is built in Astro, with components replacing Razor views and Grid editors. Multilingual content is mapped to native multi-locale fields with hreflang from the first deploy. URL alias logic is reproduced per language so old links resolve.
Cutover and 30 days of watching
We launch on a low-traffic window, swap DNS, and monitor Search Console, Analytics, and Core Web Vitals for 30 days. Umbraco stays running as a fallback during the watch window. After 30 days you decide whether to keep us on with a subscription or take it from here.
A note on packages
The package list is where the audit earns its money.
uSync, Contentment, SEO Toolkit and whatever handles your forms each need their own decision. Some have a direct equivalent built into a headless CMS. Some only exist to work around the backoffice and stop being needed the moment the backoffice does. We list every installed package at the audit stage and tell you which ones translate, which ones get dropped, and which ones need a small custom service.
Start with an auditPricing
A fixed price, agreed before we start
Umbraco migrations vary in scope. A 60-page corporate site with two languages and a clean Document Type structure is one thing. A large-scale corporate site with a decade of property editor sprawl, custom packages, and grid content is another. The ranges below are where typical projects land. Once we scope yours, you get a fixed quote.
Full audit of your Umbraco install, packages, and content
Content model rebuilt around your editorial workflow
URL map covering culture-specific slugs and aliases
Content migration by direct export from your Umbraco database
Frontend in Astro, CMS in DatoCMS or Storyblok
Multilingual with hreflang from day one
30 days of post-launch monitoring
Same team stays accountable for the system
Performance and uptime monitored continuously
Content and component changes handled monthly
All prices are net, excluding applicable VAT.
Who This Is For
Who this is for
This works well if you
Run an Umbraco 7, 8 or 10 site, all three now past end-of-life, and want off the upgrade treadmill
Have a multilingual corporate site on Vorto (Umbraco 7) or language variants (8 and 10) and want translations to feel native
Care about organic traffic and need every URL preserved through the move
Want your editors out of the Umbraco backoffice without retraining them on something just as fiddly
Run an Umbraco 7 or 8 site on Windows and SQL Server and want both off the bill
Need a fixed price with a clear scope, not a time-and-materials project
This is not a fit if you
Use Umbraco Commerce as the core of the business and need a commerce-first replatform. Scope is different. Talk to us first
Have a Umbraco Heartcore setup already running headless and only need a frontend rebuild. We can help, just a different scope
Run a small brochure site where the cost of migration outweighs the gain
Are not sure yet what the right move is. Start with a Headless Audit
Need a new build from scratch with no legacy content. See Headless Website