February 7, 2023 / 14 min read
Photo by Glenn Carstens-Peters on Unsplash
Content Management Systems (CMSs) get a lot of attention nowadays. There are plenty of solutions on the market that allow us to create and manage digital content without the need for programming skills. CMSs come in all shapes and forms, each with its own set of available features, possible customisation and support options, integration and extension points, and scalability and maturity of the product and the ecosystem.
At NoA Ignite, we have been working with various CMS solutions for more than 15 years. During this time, we have worked with many different CMS platforms, including Optimizely, Umbraco CMS, Sitefinity, Sitecore, Contentful and Sanity.
They all have their strengths and situations where they shine the most. We do, however, enjoy certain products more than others because of their maturity, reliability, high customisation options, and the fact that they cover a wide set of customer needs. These products range from relatively small but often highly specialised business cases to large-scale enterprise solutions handling millions of requests per day. These are the tools we recommend to our customers that are looking for a professional CMS solution.
In this article, we will dive deep into the functionality of these platforms: highlight their core features, show their strengths and weaknesses, and give you some hints on the situations where they are most useful. We hope that this summary will help you to find the optimal CMS for your needs.
Before we dive into the actual comparison, let’s take a look at the different types of CMS solutions available these days.
The most common CMSs are the traditional ones, which combine content and presentation. They consist of a back-office UI used by the editors to prepare and manage the website content, as well as a templating engine responsible for rendering the prepared content according to the available templates and displaying it to the end users.
They have everything in one place, and the editor can easily choose the required functionalities directly in the tool, edit the content there, and see the result in the same place immediately. Nowadays, they are often a part of the more extensive ecosystem called Digital Experience Platform (DXP). That helps your business thrive and provides all the needed tools in one place to monetise your presence on the internet.
They are great for the most common use cases of building websites. Popular solutions such as WordPress, Joomla and Drupal work exactly like this. A few examples in the .NET world are Optimizely, Umbraco, Sitefinity and Sitecore.
On the other hand, we have headless CMS platforms. They provide almost the same functionality to create and manage content as traditional CMSs; however, they do not usually have any built-in templating or rendering engines, so displaying the content needs to be handled outside of the CMS. This is possible because the content definition, content management operations, and the content itself are made available through an API, so other systems can easily consume it.
This approach is suitable when the CMS acts as a source of content for a bigger ecosystem. The content can be presented through a decoupled user interface (a single page application, a mobile app, an IoT device, a digital assistant etc.), consumed by another system or site, or a mix of both.
A headless solution does not only provide the flexibility of selecting the final front-end technology, it is also easier to scale. It is a pragmatic and rational choice for all scenarios without a traditional web UI – it simply does not make sense to invest resources into preparing templates for items that will never be displayed through the CMS.
Examples of the best headless CMS platforms are Contentful, Sanity, and Umbraco Heartcore. There are also some hybrid solutions available where a traditional CMS can act as a source of content made available programmatically. An example is Optimizely Content Delivery API, which returns content through the Content Management API.
More about headless CMS you'll find in our article: "Discover headless CMS"
We have built CMS-based solutions on most of the platforms mentioned above. We recommend a few more than others because of their stability, maturity, developer- and editor-friendliness, and the fact that they cover a wide range of usage scenarios. These platforms are Optimizely and Umbraco CMS for traditional websites, Contentful, Umbraco Heartcore and Sanity for headless solutions. Here is a short description of their characteristics and our recommendation about when to use them.
Optimizely (former Episerver) has been available since 2002. It’s an extremely mature and constantly evolving platform with a huge number of high-quality built-in features (listed in the next section of this article) to support editors and developers in their everyday work.
The CMS is only one part of the platform. The Optimizely ecosystem consists of the following products:
Providing advanced content authoring and multi-publishing. Globalisation and multi-language management, A/B testing and content optimisation. Multi-step web forms and SEO capabilities.
Besides the CMS and e-commerce functionalities, it provides catalogues and order management. Discounts and promotions. Markets and multi-site support. Customer service. Dynamic cart and checkout, guest users and quote capabilities. Product taxonomy management. Workflows and reordering.
This allows multiple marketing campaigns to track content performance across digital channels. We can use attitude, Digital Asset Management (DAM) and Product Information Management (PIM) for the additional features. Such an ecosystem of products developed by the same company, combined with professional support and a long-term roadmap, guarantees smooth integrations and convenient usage. In addition, the Optimizely platform is one of the most developer-friendly CMSs. From a code perspective, it introduces all CMS-related features in a graceful and non-intrusive way, making it possible to write clean and maintainable code with great flexibility.
Read more on Optimizely's website.
Umbraco is an open-source solution with strong community support. It's the most potent Optimizely alternative. It consists of the core platform, which provides crucial CMS functionalities, and a wide set of extensions and plugins created by the community. It is intuitive and easy to use both for developers and editors. It gives full flexibility in terms of selecting the most suitable hosting option – it could be hosted on-premise, in a custom cloud or in the dedicated Umbraco Cloud. An extension called Umbraco Forms also helps you create simple contact forms to more sophisticated multi-step questionnaires.
Read more on Umbarco’s website.
Contentful is also an excellent Opimizely alternative. It advertises itself as a more than best headless CMS. It's a composable content platform. What does it mean?
"A composable content platform meets the unique demands of digital content and all the teams that produce and work with it. Built with an API-first architecture, a composable content platform orchestrates content from multiple sources and publishes it to any digital channel. It ensures content is discoverable and reusable, provides tailored interfaces, and incorporates governance through role-based access management and workflows."
Contentful is used to create and manage content accessed programmatically through the available APIs. Content definition and the actual content can be created and managed manually through the portal or programmatically through the provided Content Management API. This separation between the content model and the content gives huge flexibility regarding the final front-end technology. It allows one to focus on the actual model, not its presentation. In contrast to Optimizely and Umbraco CMS, Contentful operates in a Saas model (without an option to host on-premise), where the final pricing plan selection is based on the required features, the actual size of the site and the number of API calls.
Read more on Contentful’s website.
Umbraco Heartcore is a headless Software as a Service (SaaS). The editor experience is structured, logical and scalable, like the traditional Umbraco CMS. Heartcore uses RESTful API to be a central hub for your content. However, for delivering content developers, can also use built-in GraphQL functionalities.
It was built for omnichannel delivery, whether it is apps, smart watches, or mobile devices.
Umbraco Heartcore was created to be fast. By design, it uses Content Delivery Network (CDN) capabilities provided by Cloudflare to serve your content with the lowest possible latency.
Read more on Umbraco Heartcore’s website.
Sanity is another representative of the composable content platform family. It is based on composability, customizability, and content as data.
G2 rates it as the world's #1 headless CMS providing flexibility in handling all centralised content. It is especially focused on teams and real-time collaboration. Sanity perfectly matches Hydrogen (Shopify's headless commerce framework) to get the most from the structured data in the e-commerce world.
Read more on Sanity’s website.
Below is a detailed CMS comparison of Optimizely, Umbraco CMS and Contentful features. We hope it will help you to compare and select the best solution for your project.
Optimizely | Umbraco CMS | Contentful | |
---|---|---|---|
Type | Traditional CMS | Traditional CMS | Headless CMS |
Features | |||
Custom content types |
Managed fully from the code (and the admin UI if needed). In Optimizely, everything is treated as content. There are 3 general content categories: pages, blocks (reusable modules to be embedded within pages) and media. It is possible to create a custom content type in one of the categories above with properties of predefined or custom types. |
Managed from the editorial UI, and the corresponding code is generated afterwards. An additional plugin is required to synchronise models between environments. Possible to create your own content or media types. There is also support for blocks (named element types) that could be used in a similar way as Optimizely blocks. |
Managed from the portal or through the Content Management API. Possible to create your own content types with properties of predefined types or JSON-based custom types. |
Content organisation |
Page content is organised in the tree hierarchy. Blocks and media are kept separately and grouped in folders. Blocks and media share the same folder structure. |
Content is always organised in the tree hierarchy and can be displayed in the form of a tree or a list view (which could be viewed as a list or as a grid with customised columns). Media are kept separately in the Umbraco Media Library, grouped in folders. |
Content is grouped by type without any additional hierarchy. Media are also grouped by type. For both content and media, it is possible to create views with a subset of items that match the specified criteria. |
Content approval |
Extended content approval is available, and it is possible to create an entire chain of approvers and customise the flow fully. |
There is a dedicated plugin for setting an approval flow. (Umbraco Workflow) |
Available in the Premium plan only. It is possible to create and assign tasks that prevent content from being published if not marked as complete. |
User and role management |
|
|
|
Content personalization |
Advanced options are available to personalise content through visitor groups (defined based on the selected personalisation criteria) and recommendations (for content, products, emails and search results), with dedicated UI for viewing, filtering and analysing visitor profiles. |
A dedicated plugin is available to personalise content for different groups of visitors (also defined based on the personalisation criteria). |
There is no built-in support available, however, it is possible to use an existing Contentful app to integrate with Optimizely, which is a platform supporting experiments with content and its personalisation. |
Responsiveness support |
Display resolution feature to quickly check how the content will look on different screen sizes. |
Preview mode to check how the content looks in different screen sizes. |
No UI support available. |
On-page / inline editing |
Very convenient and editor-friendly. Support for preview mode allows full navigation through the content. Content, forms, and survey creation with drag & drop. |
Only properties view available. Preview mode is available separately and without the option to navigate through the content. There is a grid editor available that allows convenient content creation. It could be styled in a way that reflects the final view, however using this mode might get complicated for multiple properties. |
No UI support available. |
Multi-language support |
|
|
|
Built-in asset management |
Versioned asset is management available. |
Versioned asset is management available. |
Versioned asset is management available. |
Built-in search engine |
Optimizely Search & Navigation built on Elasticsearch. |
Exam built on Lucene. |
Filter API to build relational queries. |
Integrations | |||
Dedicated e-commerce solution |
Optimizely Commerce Cloud and B2B Commerce |
|
|
Available e-commerce integrations |
Salesforce, Magento, Shopware, OXID |
Salesforce, Magento, Shopware, OXID |
Shopify, Commerce Layer Thanks to the API-first approach, integrations are fairly straightforward. |
Existing integrations |
Microsoft Dynamics, Salesforce, Sharepoint, inRiver PIM, Bynder DAM, and others. List available here: optimizely.com/apps |
Salesforce, SugarCRM, Struct PIM, QBank DAM, and others. List available here: marketplace.umbraco.com |
Bynder DAM, Dropbox, and others. List available here: contentful.com/marketplace/ |
Other | |||
Hosting |
Optimizely Digital Experience Platform is a strongly preferred option. |
All options available: on-premise, own cloud subscription, Umbraco Cloud. |
In the Contentful cloud. No option to host on-premise. |
Cloud |
Platform as a Service solution called Optimizely Digital Experience Platform. |
Platform as a Service solution called Umbraco Cloud is available. |
Software as a Service is available in the subscription model only. |
Support |
Up to 24/7 based on customer agreements |
24/7 support, 1-on-1 consultations, dedicated account manager, bugfix warranty, on-call backup team, and issue escalation in the Enterprise option. 24h response time in Umbraco Cloud Professional. |
Support during business hours for regular plans. |
Monitoring |
24/7 monitoring in Optimizely Digital Experience Platform |
24/7 monitoring in Umbraco Cloud. |
24/7 monitoring is available in enterprise plans. |
GDPR support |
|
|
|
License cost |
Each license is calculated individually based on the total number of page views across all environments. |
Free if hosted on your own. |
Three price levels are available: The community plan is free. Team plan for several hundred dollars and enterprise-grade. Premium plan calculated individually. |
Summary | |||
Feature-rich |
|
|
|
Editor-friendly |
|
|
|
Developer-friendly |
|
|
|
Support |
|
|
|
Scalability |
|
|
|
Cost |
|
|
|
Things we like |
Feature-rich – a lot of handy features for editors and admins. |
Simple and intuitive to use. |
Great programmatic API and microservices-ready architecture. |
Things we don’t like |
Pricey. |
Models are created through the back-office and synchronised with the code. |
Managing a large amount of content might get difficult. |
Great fit for… |
Traditional websites of medium or enterprise scale, with a requirement to be easily adapted to the growing needs. |
Traditional websites of small or medium size or for personal use where basic usage scenarios apply. For customers with smaller budgets. |
As a source of digital content to be consumed by other systems. |
Below is a detailed comparison of Contentful, Umbraco Heartcore and Sanity features. With it, you will be able to choose the most suitable solution for your company or project.
Contentful | Umbraco Heartcore | Sanity | |
---|---|---|---|
Features | |||
Custom content types |
Managed from the portal or through the Content Management API. It’s possible to create your own content types with properties of predefined types, or JSON-based custom types. |
Similarly, like in the Umbraco CMS, flexible and managed from the editorial UI. |
Fully customisable content data model. |
Content organisation |
Content is grouped by type without any additional hierarchy. Media are also grouped by type. For both content and media, it is possible to create views with a subset of items that match the specified criteria. |
Content is always organised in the tree hierarchy and can be displayed in the form of a tree or a list view (which could be viewed as a list or as a grid with customised columns). Media are kept separately in the Umbraco Media Library, grouped in folders. |
Structured content. Information is broken into the smallest reasonable pieces and stored as data. |
Content approval |
Available in the Premium plan only. It is possible to create and assign tasks that prevent content from being published if not marked as complete. |
There is a dedicated plugin for setting an approval flow. (Umbraco Workflow) |
By defining your own workflows, you can customise the approval process. |
User and role management |
|
|
|
Content personalization |
There is no built-in support available, however, it is possible to use an existing Contentful app to integrate with Optimizely, which is a platform supporting experiments with content and its personalisation. |
A dedicated plugin is available to personalise content for different groups of visitors (also defined based on the personalisation criteria). |
There is no built-in support available. |
Multi-language support |
|
|
|
Built-in asset management |
Versioned asset management is available. |
Versioned asset management is available. |
Sanity provides an extensible UI for managing assets and an API for dealing with storage, resizing and deletion. |
Built-in search engine |
Filter API to build relational queries. |
Exam built on Lucene. |
Sanity's open-source query language (GROQ) |
Integrations | |||
Dedicated e-commerce solution |
|
|
|
Available e-commerce integrations |
Shopify, Commerce Layer Thanks to the API-first approach, integrations are fairly straightforward. |
Salesforce, Magento, Shopware, OXID |
Seamless integration with Shopify via Sanity Connect. |
Existing integrations |
Bynder DAM, Dropbox, and others. List available here: contentful.com/marketplace/ |
|
Available as plugins sanity.io/plugins |
Other | |||
Hosting |
In the Contentful cloud. No option to host on-premises. |
Delivered in SaaS model. No option to host on-premises. |
SaaS or self-installation on preferred CDP. |
Cloud |
Software as a Service is available in the subscription model only. Based on Amazon's AWS. Runs on the US East Coast and is delivered through Contentful CDN. |
Software as a Service available in the subscription model only. |
Software as a Service is available in the subscription model. Self-installation on Vercel, Netlify, or preferred cloud service provider. |
Support |
Support during business hours for regular plans. Extended support hours, access to Customer Success Managers, Solution Architects and Professional Services for enterprise plans. |
24/7 support, 1-on-1 consultations, dedicated account manager, bugfix warranty, on-call backup team and issue escalation in Enterprise option. Live chat and guaranteed response time in all plans. |
24/7 support, SLA, response time guarantee, customer success contact and emergency phone for Enterprise plans otherwise Slack Channel and community support. |
Monitoring |
24/7 monitoring is available in enterprise plans. |
24/7 monitoring in Umbraco Cloud. |
24/7 monitoring in Enterprise plans. |
GDPR support |
|
|
|
License cost |
3 price levels available: Community plan is available for free, Team plan for several hundred dollars, and enterprise-grade Premium plan calculated individually. |
Umbraco Heartcore has four pricing plans: |
A free basic plan with a generous usage quota. Three paid plans starting from the Team plan $99 per project/month, to Enterprise plans which are calculated individually. |
Summary | |||
Feature-rich |
|
|
|
Editor-friendly |
|
|
|
Developer-friendly |
|
|
|
Support |
|
|
|
Scalability |
|
|
|
Cost |
|
|
|
Things we like |
Great programmatic API and microservices-ready architecture. |
Proven and tested Umbraco CMS back-office experience for editors. |
The most modern headless CMS from the group. Fast and reliable. |
Things we don’t like |
Managing a large amount of content might get difficult. |
Not so many integrations and plugins are available. |
Though Sanity Studio can be hosted anywhere, the content is handled in the dedicated cloud database (Sanity Content Lake) managed by Sanity. |
Great fit for… |
As a source of digital content to be consumed by other systems. |
As a source of digital content to be consumed by other systems. |
As a source of digital content to be consumed by other systems. |
That’s it! We hope that you found the above information useful and that it helps you to understand different CMSs better. Hopefully, it will help you decide which CMS to use. If you have any questions or if you would like to consult with us on the topic of CMSs, you can reach us at post.uk@noaignite.com
Editor: Anja Wedberg
Chief Technology Officer
The last 4 years of Pawel’s 18-year IT career has been spent exclusively on cloud platforms. He has a proven track record of delivering effective solutions for large enterprises and is currently involved in developing a highly-accurate cloud computing platform supporting wind energy calculations for wind turbines.
November 8, 2024 / 3 min read
Sustainability is now a key focus for tech companies. In a recent survey at our company, we learned more about how our employees view sustainability and how they approach it. These...
July 26, 2024 / 10 min read
This guide covers how Optimizely Data Platform (ODP) can improve your business with real-time customer insights, personalised campaigns, and simple data integration and will give you...