
Umbraco 15, released in 2024, marks a significant evolution in the open-source CMS space. Built on ASP.NET Core 8, it strengthens Umbracoβs position as a powerful, developer-friendly platform for headless CMS, composable digital experience platforms (DXPs), and modern web applications. With improvements in API-first architecture, editor experience, and plugin modularity, Umbraco 15 offers speed, scalability, and flexibility across enterprise and developer use cases.
π What is Umbraco 15?
Umbraco 15 is a modern, cross-platform .NET 8-based open-source CMS that enables developers to build content-rich websites, APIs, and digital experiences with ease. As a short-term supported (STS) version, it includes bleeding-edge updates from the Umbraco ecosystem.
Key enhancements in Umbraco 15:
- Native support for .NET 8
- Enhanced Delivery API with query support and filters
- Faster build and deployment with improved Dependency Injection (DI) handling
- Streamlined block grid editor
- Better multi-environment configurations via
appsettings
- Performance upgrades in rendering and indexing
πΌ Major Use Cases of Umbraco 15
1. Headless CMS for Web & Mobile
Serve structured content to any frontend (React, Angular, Flutter) using the improved Delivery API.
2. Composable Digital Experience Platforms
Integrate with CRM, analytics, e-commerce (like Vendr or Ucommerce), and personalization engines.
3. Multisite and Multilingual Platforms
Host and manage multiple brand sites or language versions with shared content and user roles.
4. Custom .NET Applications with CMS
Extend Umbraco into custom business apps using C#, Razor Pages, or Web APIs with full control.
5. API-Driven Portals
Build customer-facing portals or employee dashboards that consume Umbraco content via JSON.
6. Marketing Websites
Empower content editors with block-based editing, media handling, and publishing workflows.
π How Umbraco 15 Works (Architecture Overview)

Umbraco 15 maintains a clean, modular architecture based on ASP.NET Core 8, with improvements in editor performance, headless capabilities, and integration flexibility.
π§© Key Architecture Components
Component | Description |
---|---|
Backoffice | Angular-based admin panel for managing content, media, and settings |
Delivery API | RESTful endpoint for retrieving published content in JSON |
Block Grid Editor | Visual editing tool for drag-and-drop content blocks |
Dependency Injection | ASP.NET Core-native DI for controllers, services, and middleware |
Indexing & Caching | Fast internal indexing (Examine) and caching for efficient content delivery |
Config System | Uses appsettings.json for environment-specific settings and secrets |
Plugin System | Custom extensions, packages, and integrations via NuGet or manual install |
With headless-first architecture, Umbraco 15 allows decoupling the backend CMS from frontend consumers using standardized and secure APIs.
π Basic Workflow of Umbraco 15
π¨βπ» Developer Workflow:
- Install via CLI or Visual Studio
- Configure Document Types and Templates
- Build Views or APIs (optional)
- Push to Git and deploy via CI/CD or Docker
- Connect frontend via Delivery API
π©βπΌ Editor Workflow:
- Log into the Backoffice
- Create or edit content using block grid editor
- Upload media and define page structure
- Preview and schedule publishing
- Manage multilingual content and workflows
π Step-by-Step Getting Started Guide for Umbraco 15
β Step 1: Prerequisites
- .NET 8 SDK
- Visual Studio 2022+ or VS Code
- SQL Server (or SQLite for dev)
- Node.js (optional for frontend asset handling)
π οΈ Step 2: Install Umbraco 15 via CLI
dotnet new -i Umbraco.Templates::15.0.0
dotnet new umbraco -n MyUmbracoSite --friendly-name "Admin" --email "admin@example.com" --password "SecureP@ss123"
cd MyUmbracoSite
dotnet run
Access Backoffice at: https://localhost:5001/umbraco
π§± Step 3: Create a Document Type
- Navigate to Settings β Document Types
- Add new type (e.g., βArticleβ)
- Add fields: Title, Body Text, Image, Category
- Create a Template for rendering content
π Step 4: Add and Publish Content
- Go to Content β Home
- Create child nodes (e.g., Blog Posts)
- Fill content, preview changes
- Click Publish to go live
π Step 5: Enable and Use Delivery API
- In Backoffice, go to Settings β API Settings
- Enable the Delivery API
Sample API call:
GET /umbraco/delivery/api/v1/content/home
The response will be in JSON:
{
"id": "1234",
"contentType": "home",
"properties": {
"title": "Welcome to Umbraco 15",
"bodyText": "This is your first headless page."
}
}
π³ Step 6: Deploy with Docker (Optional)
Create a simple Dockerfile:
FROM mcr.microsoft.com/dotnet/aspnet:8.0
WORKDIR /app
COPY . .
ENTRYPOINT ["dotnet", "MyUmbracoSite.dll"]
Then:
docker build -t umbraco15-app .
docker run -p 8080:80 umbraco15-app