Development for Umbraco sites

Your editors’ tools,
rebuilt for the long run

We build and upgrade Umbraco sites, from Umbraco 13 and older to Umbraco 17, the long-term version, with custom backoffice tools rebuilt and every package checked first, so your editors’ tools are planned for before anything moves.

Thanks, we’ll be in touch soon.

{{ heroStatus }}

You’re in good company

A few of the companies we’ve worked with.

When the backoffice has moved on

In Umbraco 14, Umbraco replaced the backoffice, the part of the CMS your editors work in, and removed the AngularJS it was built on. A site built on Umbraco 13 can carry custom property editors, dashboards and packages made for the backoffice that went.

So the move to Umbraco 17 is more than a new version number. Each custom tool is rebuilt for the new backoffice or replaced, and each package needs a version for Umbraco 17, before the site itself moves. How much that adds up to varies from one site to the next.

Without a list of what the site relies on, an upgrade tends to pause at whichever custom tool nobody remembers building. So the work starts with that list: every extension and package, what it does, and what it needs for Umbraco 17.

What we build

Every package and extension on the site gets its version for Umbraco 17, a replacement or a rebuild, and a named owner. Each upgrade is tried on a copy of your site, away from the live one, and the live site moves only once the copy works.

  • Sites on Umbraco 17

    Sites built on Umbraco 17 and .NET 10, rendered with Razor views, or headless, with a front end of your own reading content through the Content Delivery API, and hosted on Umbraco Cloud or on servers you run. Custom code in them follows the same practice as our .NET Development work.

  • Upgrades from Umbraco 13

    To Umbraco 17, the closest long-term version, following the version-specific upgrade notes and the list of breaking changes Umbraco publishes. Each package and add-on moves to its version for Umbraco 17, and the whole upgrade is tried on a copy first.

  • Older sites moved

    Umbraco 7 and 8 sites brought to Umbraco 17 the way Umbraco’s docs set out: the content carried into a new site and on through each long-term version, and the templates and custom code written again for .NET 10.

  • Backoffice extensions rebuilt

    Custom property editors, dashboards and sections built on AngularJS, rebuilt as extensions for the backoffice introduced in Umbraco 14: registered in its manifest and built as web components. Each one is checked on a copy against the content editors already entered in it.

  • Blocks your editors arrange

    Block List and Block Grid set up so editors build pages from blocks themselves, and, since Umbraco 18, shared content kept as Elements in the Library. Pages built on Nested Content or the Grid layout, which Umbraco 14 removed, move onto blocks.

  • Many sites and languages

    Several sites run from one installation, each on its own addresses, with content kept in more than one language and each language added in the backoffice.

  • Hosting

    On Umbraco Cloud, where Umbraco runs the hosting and new projects start, by default, on the latest long-term version, or on servers you run yourself. Setting up and running your own is the work of our Cloud, DevOps & Security team.

  • Integrations

    Your other systems connected through the Content Delivery API, the Management API and webhooks where they fit, each integration with only the access it needs.

  • AI where it helps

    Umbraco publishes MCP servers that let AI assistants work through the Management API, the API its backoffice runs on. Each one connects as an Umbraco user, so it can do only what that user’s permissions allow, and we set each one up with only the access it needs.

Through each long-term version

Umbraco asks every upgrade to go to the closest long-term version first, so the route depends on where a site starts. Each step also moves the site to a newer .NET, and every package needs a version for the step it’s taking.

The step past Umbraco 13 crosses into the new backoffice, so custom tools are rebuilt on the way. Umbraco 7 and 8 sites have no direct upgrade path: Umbraco’s docs move their content into a new site instead, and their templates and code are written again.

So the upgrade is planned as a route, one long-term version at a time, before any of it starts. Choose where yours starts.

  1. Latest Umbraco 8

    A site on Umbraco 7 moves its content here first.

  2. Umbraco 10

    The content moves to a new site, and the templates and code are written again.

  3. Latest Umbraco 13

    The next long-term version.

  4. Umbraco 17 on .NET 10

    Custom tools rebuilt for the new backoffice.

  1. Umbraco 10

    The closest long-term version.

  2. Latest Umbraco 13

    The next long-term version.

  3. Umbraco 17 on .NET 10

    Custom tools rebuilt for the new backoffice.

  1. Latest Umbraco 13

    The closest long-term version.

  2. Umbraco 17 on .NET 10

    Custom tools rebuilt for the new backoffice.

  1. Latest Umbraco 13

    The last release of the version you’re on.

  2. Umbraco 17 on .NET 10

    Custom tools rebuilt for the new backoffice.

  1. Umbraco 17 on .NET 10

    The closest long-term version, with the new backoffice already in place.

  1. Umbraco 17

    On the long-term version: minor releases as they come, and a later version only when a feature needs it.

Four steps. There’s no direct upgrade path from Umbraco 8, so its content moves into a new site.Three steps, one long-term version at a time.Two steps, one long-term version at a time.Two steps. Umbraco 18 can’t upgrade a site straight from Umbraco 13.One step. Umbraco 18 can take a site on 16.4 or later, but Umbraco’s docs ask for Umbraco 17 first.No step: the site is already on the long-term version.

Each upgrade goes through the closest long-term version first.

{{ rtStatus }}

Long-term versions, and the ones between

Umbraco brings out a long-term version shortly after each long-term version of .NET, with short-term versions between them. Its own table gives the dates: Umbraco 13 reaches its end of life on December 14, 2026; Umbraco 17 is supported until November 27, 2028, with security fixes only from November 27, 2027; and Umbraco 18 reaches its end of life on June 25, 2027. Umbraco 19, a short-term version, is listed for December 10, 2026, and Umbraco 21, the next long-term one, for December 9, 2027.

Microsoft sets the dates for .NET underneath: support for .NET 8, which Umbraco 13 runs on, ends on November 10, 2026, and .NET 10, which Umbraco 17 runs on, is supported until November 14, 2028.

Umbraco says sites keep running after a version’s end of life, and advises against staying on it. For its long-term versions it offers Extended Long-term Support, XLTS, a paid extension that adds security patches for 6, 12 or 24 months. Projects on Umbraco Cloud follow the same dates.

So we keep most sites on the long-term version, move to a short-term one only when a feature needs it, and have the route to the next long-term version mapped out ahead of its release.

Start with each package and extension

The review covers each site: its Umbraco version, its .NET version and where it’s hosted, on Umbraco Cloud or on your own servers; each package, with its version for Umbraco 17, a replacement or no route yet, from the compatibility details on its page in the Umbraco Marketplace; the Umbraco add-ons, Forms, Deploy, Workflow, Commerce and Engage, with each one’s version for Umbraco 17; the backoffice extensions, each custom property editor, dashboard, section and tree, what it does and what it’s built with; the content, its document types and compositions, and any editors Umbraco has removed since Umbraco 13, such as Nested Content and the Grid layout; the custom code, its controllers, services, notification handlers and scheduled tasks, checked against the breaking changes Umbraco lists; the sites and languages, and the addresses each site answers to; each integration, what it reads and writes, the access it holds and the APIs it calls; how editors and members sign in; and the tests, which ones exist and what an upgrade could be checked against now.

We begin with one of four first steps, each on a copy: the site upgraded to Umbraco 17 to see what breaks, one custom property editor rebuilt for the new backoffice, one page type moved onto blocks, or the content of an Umbraco 7 or 8 site moved into a new site, where its route begins.

What you receive is a written review and a proposal for that first step.

  1. Should we upgrade to Umbraco 17 now, or wait for a later version?

    Umbraco 17 is the long-term version, supported until November 27, 2028, and Umbraco’s upgrade docs send a site on Umbraco 13 there first, since Umbraco 18 can’t upgrade from Umbraco 13. Umbraco 18 and the short-term versions after it suit a site that needs a new feature, such as Elements, sooner, and each is supported for a shorter time. Which suits you turns on your packages, your custom tools and where you host, so we set out both routes for your sites, and the choice and its timing stay yours.

  2. What does Umbraco 13’s end of life mean for our site?

    Your site keeps running, but after December 14, 2026, Umbraco no longer provides security patches or support for Umbraco 13, and it advises against staying on it. If you need more time, XLTS, its paid extended support, adds security patches for 6, 12 or 24 months from the day after that date. Underneath, Microsoft’s support for .NET 8 ends on November 10, 2026. We plan the move to Umbraco 17, which runs on .NET 10, on a copy first.

  3. We’re on Umbraco 7 or 8. Can we go straight to Umbraco 17?

    Not in one step. Umbraco’s docs give no direct upgrade path from Umbraco 8, which runs on the older ASP.NET: the content moves into a new Umbraco 10 site, the templates and custom code are written again, and the site then upgrades through Umbraco 13 to Umbraco 17. A site on Umbraco 7 first moves its content to Umbraco 8. We try each step on a copy of your site before you decide.

  4. What happens to our custom backoffice tools?

    Umbraco 14 replaced the backoffice with one built on web components and removed AngularJS, so property editors, dashboards and sections made for the old one are rebuilt as extensions for the new one. A property editor now comes in two parts, one on the server that deals with its values and one in the backoffice that editors see, so the part editors see is rebuilt, and each one is checked on a copy against the content already entered in it.

  5. Will our packages work on Umbraco 17?

    Some will, and some may not yet. Umbraco asks for every package to be compatible before a major upgrade, and each package’s page in the Umbraco Marketplace shows its compatibility by version. We list every package with its version for Umbraco 17, then propose an update, a replacement or a rebuild for each one without, and name who looks after it.

  6. Should we host on Umbraco Cloud or our own servers?

    Both run Umbraco CMS. On Umbraco Cloud, Umbraco runs the hosting, and new projects start on the latest long-term version by default; on servers you manage, the running stays with your team or ours. It turns on how much of the running you want to keep in house. Setting up and running your own servers is the work of our Cloud, DevOps & Security team.

  7. Can our editors build pages without a developer?

    Yes, within the blocks set up for them. With Block List and Block Grid, editors build pages from blocks themselves, and since Umbraco 18 they can keep shared content as Elements in a Library section of its own. Mixing Elements with other blocks in the Block Editor isn’t there yet: Umbraco has targeted it for Umbraco 19. We set the blocks up around the pages your editors make most.

  8. Can we run it headless?

    Yes. The Content Delivery API serves your content to a front end of your own, a site, an app or both, and the site can keep Razor views where they still fit. We build the front end and the content model together, so neither waits on the other.

  9. Can one installation run all our sites and languages?

    Often, yes. Several sites can share one installation, each on its own addresses, and content can be kept in more than one language. Whether the sites share document types, blocks and media is your teams’ call, and we build to it.

  10. Can you connect it to our CRM, commerce or other systems?

    Yes. The Content Delivery API and the Management API let other systems read and manage content, and webhooks tell them when something changes. First we agree which system is the source for each kind of record; then each connection gets only the access its job needs, and is tested on a copy.

  11. Can AI assistants work with our content?

    Yes, through the MCP servers Umbraco publishes. They let an assistant work through the Management API, the same API the backoffice uses, and each one connects as an Umbraco user, so it can do only what that user’s permissions allow. Umbraco meant its developer server for developers, so we keep it to development work, and give each assistant only the access it needs.

  12. Can you take over our existing site?

    Yes. Before changing anything, we go through the code, the packages and the custom tools, note an owner for each, and agree one first piece of work with you. If you have developers of your own, we work beside them.

  13. How do you keep our site secure?

    We keep the site on a version Umbraco still sends security releases for, and put each release on a copy before the live site. .NET underneath stays on a version Microsoft supports, editors and members get only the permissions you give them, and each integration is limited to what it needs.

  14. What does it cost?

    It depends on your sites, the packages and custom tools on them, and which first step you choose. Before any work starts, you get a written proposal with the scope, the price or rate, and how you pay.

  15. Can we hire developers for our own team?

    Yes. Within 48 hours of your request we introduce developers who know the platform and work in your time zone. You meet them first, and decide who joins.

Umbraco is a trademark of Umbraco A/S. Microsoft is a trademark of the Microsoft group of companies. Webair is independent of Umbraco A/S and Microsoft, and isn’t sponsored by, endorsed by or affiliated with either.

Let’s build it better

Tell us which Umbraco version, packages and custom tools each of your sites runs on. We’ll agree on a first step in a short call.

Thanks, we’ll be in touch soon.

{{ ctaStatus }}