Orchard Core
Modular, multi-tenant CMS built on ASP.NET Core
Orchard Core is an open-source, modular, and multi-tenant application framework and CMS built on ASP.NET Core. It enables building content-driven sites and SaaS-style multi-site setups.
Key features
- Multi-tenant by design
- Modular architecture
- GraphQL API
- Decoupled and headless modes
Pros & cons
Strengths
- Powerful multi-tenancy
- Modern .NET architecture
Trade-offs
- Steep learning curve
- Smaller ecosystem than Umbraco
Orchard Core replaces
Last reviewed Aug 26, 2026 · 835 words
Pick Orchard Core for one reason: you need to run 5, 50 or 500 separate sites from a single ASP.NET Core process, each with its own database, users and theme, created from the admin UI in seconds. Nothing else in the self-hosted CMS space does multi-tenancy this natively. If you need one site, the same tool is a large, modular framework that will make you learn its content model, its Liquid templates and its module system before the home page renders, and that learning curve is why the catalogue rates it Hard rather than the Medium a single WordPress install earns.
Multi-tenancy is a first-class feature, not a plugin
A tenant in Orchard Core is a fully isolated site: its own content, users, roles, settings, enabled features and database (or its own table prefix in a shared one). The Tenants feature in the default tenant's admin creates a new one from a form with a URL prefix or a hostname, picks a database provider and a setup recipe, and the site is live at that address. The App_Data/Sites/{tenant} folder holds each tenant's settings and media.
This is the architecture an agency wants for client sites, a university wants for departments, or a SaaS wants for customer portals. It is also why the "steep learning curve" complaint exists: every concept in Orchard is scoped to a tenant, and single-site users pay the mental overhead without using the benefit.
Recipes decide what you get on first run
Orchard Core's setup screen asks for a recipe, and the choice matters more than it looks. The Blog recipe gives a working blog with a theme and sample posts. The Agency recipe is a marketing site. The Headless recipe enables the GraphQL and REST content APIs, the OpenID server for authentication, and no theme at all, for a front end you build elsewhere. There is a Bare recipe that starts empty. Recipes are JSON files that enable features, define content types and seed content, and you can write your own; an agency that spins up tenants from a custom recipe gets identical, pre-configured client sites every time.
Under the hood content is stored as documents in YesSql on top of SQLite, SQL Server, MySQL or PostgreSQL. SQLite is the default and adequate for a small site; for many tenants or heavy editing use PostgreSQL, since the Postgres for everything argument applies neatly here.
Running it takes .NET, not a LAMP stack
The project publishes a Docker image, orchardproject/orchardcore-cms-linux, listening on port 80 inside the container with App_Data on a volume:
docker run -d --name orchard -p 8080:80 \
-v ./orchard-data:/app/App_Data \
orchardproject/orchardcore-cms-linux:latest
That image is the stock CMS with the standard modules. The moment you want a custom module or theme, the image stops being the deployment and you are building your own .NET project that references the Orchard packages, which is the workflow the project actually expects. Budget the catalogue's 1,024 MB of RAM for the process itself; the .NET runtime is not small, and each tenant adds memory for its own caches once it has been hit. On a 4 GB VM, expect a few dozen lightly-used tenants before you feel it.
Put it behind a reverse proxy for TLS and set the forwarded-headers configuration, because Orchard generates absolute URLs and tenant matching by hostname depends on seeing the real Host header.
Where it sits against the other .NET and headless choices
Umbraco is the larger .NET CMS ecosystem, with more packages, more developers who know it, and a far better editor experience for a single content-heavy site; the catalogue's "smaller ecosystem than Umbraco" note is exactly right. Umbraco does not do multi-tenancy in the same isolated way. Against the JavaScript headless tools like Strapi or Directus, Orchard's headless mode is capable and includes an OpenID Connect server, but the developer pool is different: pick it if your team writes C#, and pick the others if it writes TypeScript. Against WordPress, the honest answer is that Orchard is a framework and WordPress is a product, and the CMS category has a dozen products between them.
What I'd do
If you are a .NET shop with more than a handful of sites to run, deploy Orchard Core as your own project on PostgreSQL behind Caddy, write one custom recipe that encodes your standard site, and create every new site as a tenant from it. Budget two weeks for the first developer to learn content types, placement files and Liquid before the first real site ships. If you have one site and no C# in the building, do not start here; Umbraco if you are staying on .NET, Ghost or WordPress if you are not. Orchard Core rewards exactly one kind of user, and it rewards that user handsomely.
Compare Orchard Core
27 head-to-head comparisons.
- Orchard Core vs Ghost
- Orchard Core vs Wagtail
- Orchard Core vs Grav
- Orchard Core vs October CMS
- Orchard Core vs django CMS
- Orchard Core vs Pagekit
- Orchard Core vs Umbraco
- Orchard Core vs Statamic
- Orchard Core vs Mezzanine
- Orchard Core vs Drupal
- Orchard Core vs Pico
- Orchard Core vs Craft CMS
- Orchard Core vs Microweber
- Orchard Core vs Anchor CMS
- Orchard Core vs Piranha CMS
- Orchard Core vs PublicCMS
- Orchard Core vs Kirby
- Orchard Core vs Winter CMS
- Orchard Core vs Bludit
- Orchard Core vs MODX Revolution
- Orchard Core vs Sulu
- Orchard Core vs TYPO3
- Orchard Core vs Fork CMS
- Orchard Core vs ProcessWire
- Orchard Core vs Backdrop CMS
- Orchard Core vs Automad
- Orchard Core vs Silverstripe CMS
Similar content management systems apps
Ghost
Content Management SystemsProfessional publishing platform for blogs and newsletters
Replaces WordPress, Substack
Payload CMS
Content Management SystemsTypeScript-native headless CMS and application framework
Replaces Contentful, Sanity
Docsify
Content Management SystemsDocumentation site generator
Replaces GitBook
WordPress
Content Management SystemsThe most popular content management system in the world
Replaces Wix, Squarespace
Wagtail
Content Management SystemsDeveloper-friendly Django CMS with a great editor experience
Replaces Adobe Experience Manager, WordPress
Grav
Content Management SystemsFast flat-file CMS with no database required
Replaces WordPress, Squarespace