Introduction
Orchard Core is the ground-up rewrite of the Orchard CMS on ASP.NET Core. It provides both a full-featured content management system and a modular application framework where features are composed from independent modules with their own routes, migrations, and assets.
What Orchard Core Does
- Manages content types, content items, and content parts with a flexible content modeling system
- Supports multi-tenancy with isolated tenants sharing a single application instance
- Provides a module system where each feature is a self-contained NuGet package
- Includes built-in workflows, media management, localization, and search
- Offers both a CMS mode and a decoupled headless mode for API-driven frontends
Architecture Overview
Orchard Core is built around a modular shell architecture. Each tenant runs in its own shell with isolated services, database, and configuration. Modules register features through startup classes, and the framework discovers and loads them at runtime. Content is modeled as composable parts attached to content types via the admin UI or code.
Self-Hosting & Configuration
- Requires .NET 8+ SDK; install project templates via
dotnet new install OrchardCore.ProjectTemplates - Choose between CMS templates (
occms) and blank app templates (ocmvc) - Supports SQLite, SQL Server, PostgreSQL, and MySQL as database backends
- Deploy as a standard ASP.NET Core app on Linux, Windows, or in containers
- Configure tenants via the admin dashboard or
appsettings.json
Key Features
- True multi-tenancy with tenant-level database and theme isolation
- Content type editor lets non-developers model content without code changes
- Liquid templates and Razor views for flexible theming
- Built-in full-text search via Lucene or Elasticsearch
- Visual workflow engine for automating content and business processes
Comparison with Similar Tools
- WordPress — PHP-based with larger plugin ecosystem; Orchard Core offers .NET integration and multi-tenancy
- Umbraco — Another .NET CMS; Orchard Core has stronger multi-tenancy and modular framework capabilities
- Strapi — Node.js headless CMS; Orchard Core supports both headed and headless modes in C#
- Drupal — PHP CMS with extensive modules; Orchard Core targets the .NET ecosystem with similar extensibility
FAQ
Q: Can Orchard Core run as a headless CMS? A: Yes, it includes GraphQL and REST APIs for decoupled frontend architectures.
Q: How does multi-tenancy work? A: Each tenant gets its own URL prefix or domain, database, and feature set, all managed from a single host application.
Q: Is it suitable for large-scale sites? A: Yes, it supports distributed caching, CDN integration, and horizontal scaling via load balancers.
Q: Can I extend it with custom modules? A: Yes, modules are standard ASP.NET Core projects distributed as NuGet packages.