Long-running .NET platform
Multilingual content platform: 400+ sites in 11 languages
One content platform running 400+ websites in 11 languages, each edited by non-technical staff, built by extending the CMS the client already used.
- Role
- Architect and lead developer
- Client
- Content network (anonymised)
- Period
- Long-running, multi-year
The problem
A content network needed hundreds of websites, each localised, each editable by non-technical staff, and each discoverable in search in its own language. Building and hosting them one at a time was never going to scale.
What they already had
Umbraco, an open-source .NET CMS. Replacing it would have meant migrating content and retraining editors for no benefit to the end result.
What I built, and what I deliberately didn't
Built: Umbraco extended into a multi-tenant platform. One codebase and one database serve 400+ sites in 11 languages, with per-site configuration, shared templates and language-aware routing.
Didn't build: a new CMS, or 400 separate deployments. The point of the work was to make the existing platform carry the load.
Why it's here
Most of the recent work on this site is AI and integrations. This project is older and shows the other half: long-running systems, C#/.NET and SQL Server at scale, and extending a platform a client already has instead of replacing it. That is the same approach, a decade earlier.
For the technical readerUnder the hood: production details, architecture and stack
Production details
- Multi-tenancy at scale on Windows, IIS and SQL Server, including the day-to-day operations of running it.
- SEO at network scale: language and locale handling, canonical and alternate URLs, sitemaps and structured data across hundreds of sites.
- Long-term maintainability: the platform was developed and maintained over many years without a rewrite. Most architectures don't survive that.
Architecture
- EditorsUmbraco back office
- Umbraco platformMulti-tenant, 11 languages
- SQL ServerSingle database
- 400+ sitesIIS, Windows Server
Stack
C#, .NET, Umbraco, SQL Server, IIS.