Разработка сайта на Umbraco: .NET 8, Headless, Multisite

Представьте: .NET-команда получает задачу построить корпоративный портал с мультисайтовой структурой, разграничением прав и headless API для мобильных приложений. Выбор падает на Umbraco — CMS на ASP.NET Core с открытым исходным кодом. Но без правильной архитектуры и настройки производительности про

Разработка и обслуживание любых видов сайтов:

Информационные сайты или веб-приложения
Сайты визитки, landing page, корпоративные сайты, онлайн каталоги, квиз, промо-сайты, блоги, новостные ресурсы, информационные порталы, форумы, агрегаторы
Сайты или веб-приложения электронной коммерции
Интернет-магазины, B2B-порталы, маркетплейсы, онлайн-обменники, кэшбэк-сайты, биржи, дропшиппинг-платформы, парсеры товаров
Веб-приложения для управления бизнес-процессами
CRM-системы, ERP-системы, корпоративные порталы, системы управления производством, парсеры информации
Сайты или веб-приложения электронных услуг
Доски объявлений, онлайн-школы, онлайн-кинотеатры, конструкторы сайтов, порталы предоставления электронных услуг, видеохостинги, тематические порталы

Это лишь некоторые из технических типов сайтов, с которыми мы работаем, и каждый из них может иметь свои специфические особенности и функциональность, а также быть адаптированным под конкретные потребности и цели клиента

Услуги, которые мы предлагаем
Показано 1 из 1Все 2062 услуг
Разработка сайта на Umbraco: .NET 8, Headless, Multisite
Сложный
~2-4 недели

Наши компетенции:

Часто задаваемые вопросы

Последние работы

  • image_website-b2b-advance_0.webp
    Разработка сайта компании B2B ADVANCE
    1414
  • image_web-applications_feedme_466_0.webp
    Разработка веб-приложения для компании FEEDME
    1285
  • image_websites_belfingroup_462_0.webp
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    980
  • image_ecommerce_furnoro_435_0.webp
    Разработка интернет магазина для компании FURNORO
    1240
  • image_crm_enviok_479_0.webp
    Разработка веб-приложения для компании Enviok
    982
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Разработка веб-сайта для компании ФИКСПЕР
    994

Представьте: .NET-команда получает задачу построить корпоративный портал с мультисайтовой структурой, разграничением прав и headless API для мобильных приложений. Выбор падает на Umbraco — CMS на ASP.NET Core с открытым исходным кодом. Но без правильной архитектуры и настройки производительности проект превращается в болото с постоянными N+1 запросами и временем отклика > 2 секунд. Мы сталкивались с этим не раз и выработали подход, который даёт TTFB <200 мс на Umbraco 13.

Например, недавно к нам обратилась компания с мультисайтовой структурой (5 доменов) и headless-интеграций для мобильных приложений. После аудита выяснилось, что на старом решении N+1 запросы вызывали лаги. Мы перепроектировали архитектуру, внедрили NuCache и Repository pattern — TTFB упал с 1.2 с до 180 мс, а нагрузка на базу снизилась в 4 раза.

Почему Umbraco подходит для корпоративных сайтов?

Umbraco — CMS на .NET 8 с открытым исходным кодом. Работает на SQL Server или SQLite, поддерживает кластеризацию. Хорошо подходит для корпоративных сайтов, порталов, multisite-инфраструктур — там, где заказчик привязан к Microsoft-стеку или нужен headless CMS с enterprise-возможностями. В отличие от WordPress, Umbraco предоставляет strongly-typed модели и встроенный headless Delivery API. Экономия на лицензиях по сравнению с проприетарными CMS может достигать 70%. Например, Sitecore стоит от $100 000 в год, а Umbraco — бесплатно (MIT-лицензия).

По тестам, Umbraco с NuCache выдаёт TTFB <200 мс, тогда как типичная WordPress установка — 500–800 мс. Это достигается за счёт встроенного кэширования и генерации моделей на этапе компиляции.

Сравнение Umbraco с другими CMS: WordPress, Sitecore, Drupal

Критерий Umbraco WordPress Sitecore
Тип моделей Strongly-typed (ModelsBuilder) Динамические (WP_Query) Strongly-typed, но тяжёлый
Headless API Встроенный Delivery API Плагины (WPGraphQL) Experience Edge (дорого)
Производительность TTFB <200 мс (NuCache) TTFB 500–800 мс (без кэширования) TTFB <300 мс (с кэшем)
Лицензия Бесплатно (MIT) Бесплатно (GPL) ~$100 000/год
Готовность к Multisite Из коробки Через мультисайт-плаг Встроенная, но сложная

Umbraco в 2–3 раза быстрее WordPress на стандартном хостинге и не требует лицензионных отчислений в отличие от Sitecore.

Архитектура и настройка

Типовая структура решения:

MyProject/ ├── MyProject.Web/ ├── MyProject.Core/ └── MyProject.Tests/ 

Ключевой файл конфигурации — Program.cs, где подключаются все компоненты:

// Program.cs WebApplicationBuilder builder = WebApplication.CreateBuilder(args); builder.CreateUmbracoBuilder() .AddBackOffice() .AddWebsite() .AddDeliveryApi() .AddComposers() .Build(); WebApplication app = builder.Build(); await app.BootUmbracoAsync(); app.UseUmbraco() .WithMiddleware(u => { ... }) .WithEndpoints(u => { ... }); await app.RunAsync(); 

Для добавления сервисов используем Composers. Пример регистрации сервисов и обработчиков:

public class SiteComposer : IComposer { public void Compose(IUmbracoBuilder builder) { builder.Services.AddScoped<IArticleService, ArticleService>(); builder.Services.AddScoped<ISitemapService, SitemapService>(); builder.AddNotificationHandler<ContentPublishedNotification, SearchIndexHandler>(); } } 

Strongly-typed модели и headless API

Umbraco генерирует модели через ModelsBuilder. Использование в контроллере:

public class ArticleController : RenderController { [HttpGet] public IActionResult Index() { if (CurrentPage is not ContentModels.Article article) return NotFound(); var viewModel = new ArticleViewModel { Title = article.Title, Body = article.Body, }; return CurrentTemplate(viewModel); } } 

Для headless используем Delivery API, который включается в appsettings.json:

{ "Umbraco": { "CMS": { "DeliveryApi": { "Enabled": true, "PublicAccess": true, "ApiKey": "your-api-key" } } } } 

Запросы к API: GET /umbraco/delivery/api/v2/content?contentType=article.

Как настроить headless Delivery API? Пошаговая инструкция

  1. Включите Delivery API в appsettings.json.
  2. Задайте API-ключ, если требуется авторизация.
  3. В админ-панели отметьте типы контента, доступные через API.
  4. Настройте CORS для внешних клиентов.
  5. (Опционально) Включите кэширование на уровне CDN.

Процесс разработки сайта на Umbraco

Этап Длительность Что делаем
Аналитика и прототипирование 1–2 недели Собираем требования, создаём карту типов контента, UX-прототип
Проектирование архитектуры 1 неделя Проектируем структуру решения, настраиваем NuCache, планируем интеграции
Реализация 2–4 недели Верстаем шаблоны, разрабатываем Surface и Render контроллеры, настраиваем Delivery API
Тестирование 1 неделя Проводим нагрузочное тестирование, проверяем Core Web Vitals
Деплой и передача 3–5 дней Настраиваем CI/CD, деплоим на production, обучаем редакторов

Сроки и объём работ

Объём проекта Сроки
Корпоративный сайт (10–15 типов контента) 3–5 недель
С headless API и интеграциями 6–10 недель
Редизайн существующего инстанса от 2 недель

Стоимость рассчитывается индивидуально на основе объёма работ и сложности интеграций. Получите консультацию для точной оценки.

Что входит в результат

  • Полностью настроенный Umbraco на вашем хостинге или в облаке.
  • Исходный код (репозиторий Git) с архитектурой, готовой к масштабированию.
  • Документация по типам контента и API.
  • Обучение редакторов (до 4 часов).
  • Гарантия 3 месяца на выявленные баги.
  • Рекомендации по кэшированию и оптимизации производительности.

Наш опыт: более 5 лет разработки на Umbraco, реализовано 15+ проектов, средняя оценка клиентов — 4.9/5. Используем только лицензионное ПО и следуем best practices. Свяжитесь с нами для консультации — поможем подобрать оптимальное решение.

Официальная документация Umbraco: Umbraco CMS Documentation