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

Корпоративный портал с multisite-структурой и headless API требует CMS, которая выдержит нагрузку и не превратит разработку в бесконечную борьбу с тормозами. Мы разрабатываем сайты на Umbraco — от архитектуры до внедрения, настраивая производительность и интеграции под ваш проект. Наша команда реализует решение под ключ с последующей поддержкой, чтобы вы получили надёжный инструмент, который масштабируется вместе с бизнесом.

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

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

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

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

Представьте: .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

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

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

  • Разработка сайта компании B2B ADVANCE
    Разработка сайта компании B2B ADVANCE
    1542
  • Разработка веб-приложения для компании FEEDME
    Разработка веб-приложения для компании FEEDME
    1393
  • Разработка веб-сайта для компании БЕЛФИНГРУПП
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    1081
  • Разработка интернет магазина для компании FURNORO
    Разработка интернет магазина для компании FURNORO
    1368
  • Разработка веб-приложения для компании Enviok
    Разработка веб-приложения для компании Enviok
    1139
  • Разработка веб-сайта для компании ФИКСПЕР
    Разработка веб-сайта для компании ФИКСПЕР
    1060