Розробка сайту на 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 тижні

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

Часті запитання

Останні роботи

  • Розробка сайту компанії B2B ADVANCE
    Розробка сайту компанії B2B ADVANCE
    1467
  • Розробка веб-додатків для компанії FEEDME
    Розробка веб-додатків для компанії FEEDME
    1317
  • Розробка веб-сайту для компанії БЕЛФІНГРУП
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    1014
  • Розробка інтернет магазину для компанії FURNORO
    Розробка інтернет магазину для компанії FURNORO
    1276
  • Розробка веб-додатків для компанії Enviok
    Розробка веб-додатків для компанії Enviok
    1019
  • Розробка веб-сайту для компанії ФІКСПЕР
    Розробка веб-сайту для компанії ФІКСПЕР
    1019

Уявіть: .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