Recently I’ve been asked; what is the real difference between Umbraco & Sitecore? Umbraco is opensource, so it should cost a lot less, right? Aren’t they both a .NET CMS? Comparing these two is a little like comparing a Volkswagen to a Porsche. Both practically do the same thing, both made in the same country and both come in red. However, the purpose of each is entirely different. Depending on your needs (a school run or track days on the weekend), each can do the job, but one will do it better than the other. The same applies to Umbraco and Sitecore CMS.
Where They Started
Sitecore started in 2001 in Denmark and currently has 1150 employees. Sitecore is now a market leader in digital experience and content management industry. With many Fortune 500 clients, Sitecore products are used for single websites to large scale, multi-tenant installations. Sitecore recently had a $1.14 Billion investment by a Danish firm and has an estimated revenue of $225 million.
Umbraco introduced to the mainstream in 2005 also in Denmark as a .NET opensource CMS. They intended to create a friendly, affordable CMS for everyone to use. At the time, a web CMS was either custom built or an enterprise, costly solution. Umbraco’s mission is to be friendlier, simpler, and social, which started in 2005 with three core developers, and a community of 25 supporters. Today the company is still a smaller business with around 45 employees, an estimated $4.5 million in revenue but has over 443,000 installations and 220,000 community developers globally.
First off, both run on Microsoft .NET Framework (4.6+) and neither are .NET Core at this time. Sitecore is starting to introduce additional services and modules that are .NET Core, but the main Sitecore application is still on .NET Framework. Both use MVC for the rendering templates, and other than that, both will work with whichever frontend stack you choose. Building your website is fundamentally the same on both platforms, using the same Visual Studio development tools. Both use Windows IIS as the web server and Microsoft SQL as the database server.
Simplicity vs. Scalability
Umbraco is a simple CMS; it’s straightforward for the authors to use. Sitecore is a much more substantial CMS. It is far more complex to manage, and simplicity depends highly on good architecture. Although Sitecore is complicated, it has many more features, like the page editor, which is a beautiful drag & drop, WYSIWYG editing experience.
Sitecore is designed to scale to handle massive websites, whereas Umbraco is intended to be easy and straightforward to use for individual sites. Some Umbraco implementors will show that Umbraco can scale, which it maybe be able to a degree, with the help of CDNs and other caching services. However, it will eventually hit its limit. The threshold I am talking about is not a technical limit, but a business use limit. One example, Umbraco has a simple and easy permission model, but in a large enterprise, it will be hard to properly subdivide and manage all the content to the different business units. Having a real multi-tenant environment is hard to achieve in Umbraco. You will find it is just easier to open up everything to everyone, which is fine if you are a web shop of a few, but not in an enterprise setting. Sitecore’s permission model is much more granular and can effectively work in a large enterprise setting. Sitecore allows integration to Active Directory where Umbraco would require some additional code customizations or 3rd party plugins.
Installing and Prototyping
Umbraco is easy to set up and start using. The standalone installation is super simple, and you can be up and running with Umbraco in a few minutes. Umbraco comes in a single installer that does everything. Alternatively, you can pull down the NuGet package to your Visual Studio Solution. With the tutorials and developer documentation, you can create some content templates and rendering layouts, and very quickly have a simple site up and running. Compared to Sitecore, creating content templates is faster with Umbraco and rendering content to the views is also much quicker and easier.
With Sitecore, installing a single instance takes a little more consideration and effort. You have to plan and choose the role you want the CMS to play. You need to install the Sitecore Installation Manager or use Powershell with the Sitecore Installation Framework. Once you have everything organized, you can be up and running with Sitecore within a few hours.
Umbraco works with a single SQL Database making it easy to manage as a single developer, as you can backup and restore databases to move them from server to server. Sounds easy, right? Now in an enterprise environment, with everything in a single database, how to geo-replicate, and spread the load when a server is overloaded? You will start to get locking issues and performance issues, and this will make working with Umbraco much harder.
Sitecore requires at least eight databases and more depending on features and modules. With so many databases, it is complex to manage and sync across your release environments. However, the reason is so you can separate and balance the load for different features of Sitecore. Sitecore has an excellent publishing model to allow you to scale up and out. Moreover, you can use a 3rd party tool called Unicorn to sync and serialize database items, enabling the developers to manage underlying template changes in their source code repository.
Templates & Authoring
Building templates are super easy in both Sitecore and Umbraco. Sitecore will have more templating features out of the box for you to to get started. Umbraco has more 3rd party community-built plugins, so it will appear you can get started quicker. However, as you begin architecting your website, you will find the 3rd party plugins are limited and don’t usually align with your business needs. The community-built features were built for a single use case by the developer and will still need a fair bit of customization to align with your needs.
Since Umbraco grew up as a comfortable and friendly CMS, casual authors will find the interface better to work with, and far more intuitive to find and edit the content. Umbraco interface is more descriptive and requires less planning and architecture to set up a site. This simplicity is useful for managing continuity across your templates and over time as developers add to the system, but you will need to keep things simple.
The Sitecore templating interface was less intuitive as compared to Umbraco. However, now, Sitecore is introducing a new UI that will let casual contributors intuitively edit and update content, even on mobile devices. Early previews indicate it will be a dream to use.
WYSIWYG Content Editing
Sitecore has the Experience Editor which allows authors to edit the content on a page in a more visual way. You can find and select the text to modify and then change it. Experience Editor support is needed when developing your site, so more effort to design, architect, and code is required. However, the visual experience benefits your content authors and business users.
Umbraco does not have much in this area. The basic templates are forms based and indeed not as vibrant and intuitive as Sitecore’s Experience Editor. The author still needs to be knowledgeable about the tree structure and content page structure to find and edit the content.
Limitless Authoring is a term developed by Umbraco that describes the ability for a content author to open and edit dependency or reference content items while editing the parent content item. Effectively drilling down the stack of content and returning to their starting template. For example, if the author is writing the blog landing page, they can drill down and edit blog articles that are referenced on the landing page while in the same editing session. A very thought out templating architecture is a need for the feature to work well.
Sitecore does not have this feature. Authors would have to jump across the content items and search for related dependencies.
Both Umbraco and Sitecore offer support for versioning. Sitecore’s versioning system isn’t as automatic. Use requires either manually (which everyone forgets to use) or part of a workflow. What this means is that as an author, in a simple CMS setup, has to remember to capture the version of the file before they edit and publish it. Otherwise, they can’t roll back or determine changes in the past. In most cases, this step is missed or ignored, and additional configuration and development are needed to enable versioning with a workflow.
Umbraco versioning is done automatically on each saving event. Again, the interface is designed to be friendly and straightforward. If an author needs to roll back to a previous modification or just back to a change in the past, they can easily do so.
Both Umbraco and Sitecore support translation. They do this by stacking language versions so you can edit the primary language and then toggle to select the translated language version. Sitecore’s interface allows you to toggle between translated languages, but you can’t view them side by side.
Umbraco has the same approach, but in the next version, Version 8.0, Umbraco’s interface will allow authors to view and edit both the master language and translated language side by side. (Similar to any standard translation management tool.)
Publishing Workflows & Approvals
Sitecore provides a fully customizable workflow engine. Although you need to design and architect your required workflow steps, you may build as many as you would like. Most implementations skip workflow setup for scope and time restrictions, but the businesses that do focus on building workflows spend far less time chasing rogue changes and human errors. Workflow automation is one of the significant areas that enterprise companies look for, and Sitecore has it covered.
Umbraco does not have any workflow engine. There are a couple 3rd party community-built solutions for workflow, but again they are usually unsupported and limited in the use cases they support. Any workflow engine would need to be custom built. Umbraco is more of a self-serve CMS.
Licensing & Support
Umbraco is open source so, you can have a solution without official support for free. Open source is great if you have a handful of developers and only a few instances in your development workflow. Dedicated support can be purchased from Umbraco if needed. Umbraco also offers a commercial Paas option with support for a monthly fee, and even this option is quite reasonable as compared to many other commercial CMS options.
Sitecore is a commercial product that requires licensing of all instances. They offer perpetual and consumption-based licensing. From what I hear from clients, based on the amount of traffic your website has, the lowest entry point for consumption licensing is still more than the Umbraco commercial Pass offering. However, with a commercial license, you get full dedicated support. Sitecore support will help you resolve any technical problems.
Umbraco has a pretty good developer community (the friendliest one), and the Umbraco staff does a good job responding to questions when you post problems on the community site. Documentation is available for both the authors and for developers for anyone just starting, Umbraco has a decent developer video training series. Moreover, when you want to do something advanced, having access to the source code, enables you to solve most problems by looking into the underlying Umbraco code.
With Sitecore being a much larger company, there is much more documentation for authors and developers, and you can always open a support case if needed.
Plugins and Modules
Umbraco being a smaller company has fewer product offerings. They have the CMS, a forms module, and a deployment tool. They have recently set up an “App store” to allow more 3rd party contributions, but that is still limited.
Sitecore has a full suite of additional products, like Email Experience Manager, Forms, eCommerce and recently they added more intelligent marketing automation using AI, and a very robust, luxurious DAM service from StyleLabs. Although these are all commercial products, they are feature rich and supported through Sitecore.
3rd Party Components
Both Sitecore and Umbraco have 3rd party community-built features and plugins. I feel Umbraco has much more community content (1300 packages are available for various versions), but many are limited in what they do. Umbraco is introducing more curated apps, that will have a higher degree of review and testing.
These two CMS platforms have many more features than I can compare here, but hopefully, from the list above, I’ve covered some of the core CMS features. You can see that each CMS has a much different target use and purpose. Both can be customized to do whatever you need, but out of the box, Sitecore has many more capabilities than Umbraco. I’ve compiled a list as a quick comparison, but every release for both companies add a whole new category of features.
Sitecore should be the corporate platform for all websites in the enterprise. Yes, Sitecore is complex to manage and use. However, it can handle more complex requirements, now and into the future. You will need more change management process to train the authors on how to use it. You will need more dev ops on managing the servers and database environments. It would be best if you had more planning and architecture to create a solution that works for everyone. However, with Sitecore, you can create a solution that works for everyone all the time no matter what you throw at it.
Use Umbraco for departmental websites and small and medium businesses with casual authors. Umbraco is simple, and content authors will love how easy it is to pick up and use. Developers can spin up a site fast. However, when you apply all the demands of the substantial enterprises, you will find you are customizing everything, and it will no longer be an easy CMS. Keep customizations low, so your developers can manage the whole site implementation without any stress, and your content authors will love this friendly CMS.