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 projects rarely become expensive because of one catastrophic decision. Cost grows when content architecture, custom code, data, search,...
ASP.NET Core does not force you into one application architecture. That freedom is useful, but it also makes it easy to accumulate layers, abstractions and...
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 production-focused guide to designing explicit contracts, handling realistic failures, protecting trust boundaries, and recognizing defensive-programming...
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.
Your Azure deployment suddenly fails with AADSTS7000222. Here is how to restore it quickly and remove the expiring secret permanently with workload identity...
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 practical guide to umbracoUrlName, umbracoUrlAlias, umbracoRedirect and umbracoInternalRedirectId, including how each mechanism changes URL generation and...
Configure alternate URL paths with the reserved umbracoUrlAlias property, understand how alias routing differs from redirects, and account for...
Use umbracoInternalRedirectId to serve another content node internally while keeping the requested URL unchanged, and understand how this differs from a 302...
Create and verify a built-in 302 Temporary Redirect with the reserved umbracoRedirect Content Picker property.
Use the reserved umbracoUrlName property to change a content node’s generated URL segment without renaming the node in the Umbraco backoffice.
Configure ASP.NET Core Response Compression Middleware for Brotli and Gzip, understand the HTTPS and compression-level trade-offs, and verify the result in...
A single unreadable JSON log file made the Umbraco 13 LogViewer practically unusable. The first fix addressed Newtonsoft.Json MaxDepth. A later failure...
Send email through SendGrid's SMTP relay from a .NET Framework 4.8 application using System.Net.Mail.SmtpClient. The tested example includes HTML email,...
Learn how to remove Examine indexing for enhanced site performance, faster content publishing, and improved cold boots. Check benefits and pain points.