Why Umbraco Projects Become Expensive: Technical Failure Patterns
Umbraco projects rarely become expensive because of one catastrophic decision. Cost grows when content architecture, custom code, data, search,...
Start typing to search articles and topics.
Umbraco Engineering
Practical guidance on Umbraco architecture, upgrades, migrations, content modeling, integrations, and performance for production web platforms.
Umbraco projects rarely become expensive because of one catastrophic decision. Cost grows when content architecture, custom code, data, search,...
Umbraco 9 did more than replace one runtime with another. Moving from .NET Framework to ASP.NET Core changed where Umbraco could run, how projects were...
A practical, read-only T-SQL technique for finding published content that uses a specific data type in Umbraco 13
Need to preserve old URLs after an Umbraco 17 migration? Here is how umbracoRedirectUrl works, how to add records with SQL Server, and how to verify the...
How the Umbraco 13 backoffice idle timeout works, which settings control it, and how to balance editor convenience with security.
While migrating and publishing more than 805,000 documents from a legacy CMS, I was looking for every source of unnecessary background work. SQL Profiler...
A single unreadable JSON log file made the Umbraco 13 LogViewer practically unusable. The first fix addressed Newtonsoft.Json MaxDepth. A later failure...
Learn how to remove Examine indexing for enhanced site performance, faster content publishing, and improved cold boots. Check benefits and pain points.
After upgrading a production-scale Umbraco installation from 11.5.0 to 13.4.1, publishing and unpublishing became extremely slow and database lock errors...
Learn how to set a dynamic Multinode Treepicker start node in the AngularJS backoffice so editors open the picker in the relevant part of the content tree.
The built-in nodeName field is useful for searching, but sorting Examine results by it requires additional index configuration. This guide shows how to make...
Set UmbracoApplicationUrl per environment without hardcoding deployment-specific URLs in appsettings.json. Azure App Service environment variables map...
A focused URL warm-up pattern for Umbraco 13 using a recurring hosted service, interchangeable URL providers, and an HTTP request strategy.
A technical audit guide for finding personal data in an Umbraco solution and reducing the risk of keeping, exposing or processing more data than the project...
AngularJS support ended years ago, but many production systems still depend on it. The practical question is no longer whether AngularJS has a future - it is...
A long generated URL can cause SQL Server to reject an insert into umbracoRedirectUrl when the stored path exceeds the URL column length.
A practical explanation of how Umbraco works, where the open-source CMS ends and the commercial ecosystem begins, what it really costs, and when I would...
Umbraco 8 allows you to customize the backoffice experience for different user groups. In this tutorial, you will learn how to show or hide specific content...