What is CMS?
In today’s world, the presence of a website is a must for almost every business. When you make a decision to create it, one of the early-stage questions will be whether to use an off-the-shelf Content Management System or create a website from scratch. While the last one is clear, there can be difficulties with the understanding of what the first one stands for. So, what actually is a Content Management System? CMS is an acronym for “Content Management System” – a software application or set of related programs that allow editing, modifying, publishing and maintaining the content from a central user-friendly interface.
There are different types of CMSs designed to handle different types of content, such as web content management systems, media or digital asset management systems, mobile CMS and so forth. In this article, we will mainly talk about web CMS.
Features also vary depending on the chosen CMS, but the core functions are the same. Mainly, there are two parts CMS consists of:
- the content management application (CMA) – allows non-technical people to manage the creation and editing of the content without the developer’s help. Content usually managed through the use of a WYSIWYG (What You See is What You Get) text editor, which in fact allows users to manipulate the webpage code without having to know HTML
- the content delivery application (CDA) provides the back-end services that support the management and delivery of the content once it has been created in the CMA
Overall, CMS looks like a really good solution, when one is seeking some information about it. Let us take a closer look at some pros and cons of its use and try to clarify some points about what might be better for your business needs.
CMS vs Hand Coding
There are a lot of factors which can impact your choice, considering that all advantages have corresponding disadvantages and only you can decide which of them is acceptable or insignificant. When making your choice, take the time to make an informed decision. In this article, we are going to review the most general and frequently discussed points which will help to form a background and reveal some possible problems one can face.
Probably one of the most frequently mentioned advantages of CMS (and for a lot of people it is also very tempting) is that users don’t have to be techie to generate a new webpage or to upload and modify content. In general, it is a correct statement. Nevertheless, you should ask yourself how often do you actually need to add new content? Most of the companies just need a simple web site and they do not generate a lot of content. If so, then simply ask whether CMS is worth it, especially if you choose a paid one?
And again, about adding content. You can do it on your own, and it sounds easy and attractive (especially if you have a small business), but as usual, problems hide behind the details. It would be best if you kept in mind a lot of things that seem insignificant but can make a bad impression about your site, and therefore your business. Formatting errors, lack of image compression, incorrect resizing, rejection of the ‘style’ of your site (when pages look differently) – all these can impact on user’s experience. Some of the problems can be avoided when you have a quality assurance team, but usually, people just do not think about this. So, if you are not sure that you can do it on your own, you should think twice before you decide to choose CMS without a professional team.
You do not have to rely on the web team to update your site. It is a plus and minus at the same time. The plus is that you can do it on your own anytime you need it. The huge minus is that you need to check all on your own and sometimes you will anyway need the development team to fix issues. Besides, it’s worth mentioning that if you rely on yourself in updating your site and just forget about this or decided not to update it, you can face huge problems, since outdated and unmaintained CMS may have serious security vulnerabilities.
CMS can be beneficial when it comes to various content contributors. With its permission system, you can divide your workers into two camps, those who write some content, maybe even not your in-house employees, and those who administer and publish it. It can be done in the system written from scratch, but CMS saves development time since it has this out-of-the-box default option.
There are a lot of third-party plugins for almost every CMS, which can expand the list of functionalities and features. However, while the software itself is free, plugins frequently are not and it takes time to set them up as you need. As one of the possible drawbacks here can be mentioned a problem with customized design, graphics, and templates. On one hand, you can find a lot of different themes, different plugins, but on the other hand, if you need to customize them, it can be really hard. Especially if you want to customize the design. It can be a possible minus, since if you are sure that you will never need this – then for you it is not an important thing.
Search engine optimization (SEO) is an important thing on the way to any website success. CMS, like any properly built site, has a good structure, so this makes it SEO-friendly. Most of them likewise provide an easy way to set all needed title tags and meta descriptions, image alt tags, and headings, but you should be sure that you can manage them properly. Also, there are many third-party plugins created to help with this, but depending on the chosen CMS, it might require additional efforts. If you turn to CMS, be sure that it will go well with your SEO strategy.
You should also bear in mind that CMS site is database-driven, so it can impact the site speed. A slow server or database will cause user loss.
Opposite to all mentioned above, the hand-coded site is the best option if there is a chance that you will decide to customize something or add specific features. It exactly matches your business needs, your workflow, so you will have full control over the development phase. The feeling, which CMS provides you with, of that you can easily do some things on your own, can be really dangerous for several reasons.
As for security, the pros and cons are present in both of them. Developers of any technology or CMS do a big job to keep everything secure. In any case, you should check information about the problems with the security of the chosen variant, you must be careful with third-party plugins, which you install, and do not forget to install updates.
As you can see at this moment, many factors can affect your decision, and you should at least ask appropriate questions discussed above to yourself or the development company you choose.
Top 5 .NET Based CMSs
Let us assume that you have made a decision to use CMS. You will definitely face choosing a specific one. There are plenty of them, so similar and different at the same time. In the rest of the article, we review very superficially a list of top open-source and paid .NET CMSs considering their most interesting or unique features. This should help you to get acquainted in general with the most popular ones and, based on your budget and needs, choose the relevant variant.
Umbraco
Umbraco is one of the commonly referred open-source CMS built using the ASP.NET framework. It was designed by a programmer for programmers, so it is not a plug and play solution, which you can install and set the minimum configuration. Although, it gives you more options to meet your needs. Like many CMSs it allows managing media files, user roles and provides features, built to simplify content management, for example, you can use Microsoft Word to create and publish your content. In addition, it has a very clean and intuitive user interface, which can simplify content management for your employees.
Umbraco does not limit your hosting choice (it just should meet all requirements listed below) and in addition, provides you an option to host your website in the cloud using Umbraco Cloud (formerly known as Umbraco As A Service (Uaas)). With Microsoft Azure support, it provides you the ability to store your data inside Azure blob storage and set up a load-balanced environment (which should be interesting for large solutions). For each of the reviewed CMSs, we check the option to index the site content and Umbraco provides this functionality with Examine (Lucene engine wrapper). It is important to mention that Umbraco successfully resolved issues with using Lucene indexes with load-balancing.
In overview, great community and support cannot be mentioned, consisting of Umbraco enthusiasts, who are always ready to help each other, so it will be not so hard to resolve occurred issues. This also helps to speed up the process of bug-fixing and providing new features.
It is an open-source and free solution, nevertheless, you can also find a paid version, the difference lies in additional options, but the product itself is the same.
Requirements:
- Microsoft ASP.NET 4.7.2. Umbraco is built on the .NET Framework using ASP.NET. It is planned to move it to .NET Core to give users better performance and a more modern framework, but at the moment of writing this is in the discussion phase
- Microsoft SQL Express 2012+
- Microsoft IIS or IIS Express
- Microsoft Windows 7+ or Microsoft Windows Server 2012+
Umbraco is used for more than 40000 big and small projects, like Barclays Bank, American multinational pizza restaurant chain Dominos, Carlsberg Group and so forth.
Sitefinity
Sitefinity is an ASP.NET CMS developed by Telerik. It has a lot of tools and services to manage your site, which varies on the type of edition. If you are inclined to choose an open-source and free version, then Sitefinity is not your choice. It has no free version, only 30-days free trial. Paid options will vary on the functionality provided, which is really rich, but anyway not cheap. Let us review a little bit of its functionality in general.
Sitefinity provides you with the ability to simplify content creation and editing via a drag-and-drop interface, provides tools for analyzing and optimize customer experiences, managing prices, and so forth. Moreover, it is SEO-friendly. If you create a new page, rename an old one, or delete, it will configure an HTTP 301 Permanent Redirect to notify search engines automatically. While you need to install a separate plugin for this with Umbraco, Sitefinity you can have this out-of-the-box. It provides more options to set up the website’s internal search using Azure Search, Elasticsearch or Lucene search services.
Sitefinity has a built-in responsive device engine, which allows you to optimize your website with layouts and rule-sets.
Frequently one of the requirements is multilingual support, with Sitefinity you can easily manage more than 50 languages, with support right-to-left format languages. Furthermore, it allows translating content from one language to another with approval workflows, versioning, and revision history per language.
Requirements:
- Microsoft .NET Framework 4.7.2
- Microsoft ASP.NET MVC 5
- Microsoft SQL Express 2008+ or Microsoft SQL Express 2008+
- Microsoft SQL Azure
- Oracle
- MySQL version between 5.0.3 and 5.7.14
- Microsoft IIS or IIS Express 7+
- Microsoft Windows 7+ or Microsoft Windows Server 2008+
As mentioned on the Sitefinity page, their partners’ are digital agencies, systems integrators, and web development firms, many of which work with companies like Pepsi, Dannon, and others.
Kentico
Kentico is a CMS from Kentico Software company. Its functionality covers content management, E-commerce, Online Marketing platform, Internal intranet, and workgroup collaboration solution.
The same as Sitefinity and Umbraco Kentico has a lot of functionality to name. It has built-in social connectors, A/B testing, mobile websites support, provides a bunch of features created to automate, optimize and analyze marketing campaigns, email marketing, etc. It also provides an index-based search solution using Azure Search or CMS Smart Search based on the Lucene.Net search engine library.
They also understand the importance of SEO. An interesting feature is the automatic setting of SEO-related data. So, in addition to manual adding of page titles, descriptions, keywords, the system can do it automatically based on a document name or other fields.
Kentico can be run both on-premise and in the cloud.
It has a free version, but with a list of limitations, as 1000 pages, 100 site members, 1 administrator, 1 editor, and mandatory text link in the footer of all pages. If you want to get rid of these limitations, you will have three paid options from which to choose. Also, Kentico CMS has a smaller community, which can cause some delays in answering or getting needed information, if you choose a free version.
Requirements:
- .NET Framework 4.6.1
- Microsoft SQL Express 2012 (with Microsoft Azure SQL Database support)
- Microsoft IIS or IIS Express 7+
- Microsoft Windows 7 Service Pack 1+ or Microsoft Windows Server 2008 R2 Service Pack 1 +
They have more than 1,000 partners in 80 countries and a lot of customers like Microsoft, Hyundai Germany, Konica Minolta and so on.
DotNetNuke (DNN)
DotNetNuke Community Edition is a free, open-source content management system. It is designed to be easy to use and learn. Like all other CMSs, it provides a permission system with activity logging and the ability to expand default functionality with third-party modules. One of the attractive features is the custom skin design that simplifies changing the website’s appearance for both: designers and developers.
It is SEO-friendly, but some of the features are available only in paid versions. For example, Evoq Content is designed to ease search engine optimization with such functions as built-in Google Analytics, the URL rewriter, page and module caching, and so on.
You can choose between the paid version, represented by two commercial editions (DNN Evoq Content and DNN Evoq Engage editions) and free version, known as the DNN platform.
With more than 1 million registered members, dozens of forums, blogs, core team support, they can provide great support even for the free version. Previously, they had different types of search across editions, but since 7.1 release, all utilize the same search engine, based on Lucene search. There are still some differences in work, but just in additional functionality available.
In order to host DNN, you should base on these requirements:
- .NET Framework 4.7.2+
- Microsoft SQL Server 2008 R2 +
- Microsoft Azure SQL Database support
- Microsoft IIS 7.5, 8.0, 8.5, 10
- Microsoft Windows 8+ or Microsoft Windows Server 2008 R2+
There are a lot of E-commerce, business, portfolio, and further sites, powered by them, like Samsung or Bank of America.
Sitecore
Sitecore CMS as a commercial CMS provides a big set of functionality in different aspects, from content editing to marketing. Sitecore promises that their CMS is really flexible, so you can extend or override the default functionality, which makes this CMS pretty interesting. Furthermore, cannot be ignored such a powerful feature as collecting and analyzing customer’s online and offline interaction data. This can help you understand your customer’s needs and improve your site.
Multilingual support also did not stand aside with the dynamic creation of multilingual page variants, ability to integrate with external translation providers. This CMS also supports two search engines: Azure Search and Solr. At the moment, you can find that Lucene is supported as well, but it will be deprecated with the next release, so you shouldn’t rely on this.
If you need to schedule some actions, like sending emails, importing data or something like this, Sitecore will help you with this, since it brings with background jobs support.
Like the others mentioned CMS, they have a huge developer community, which is open to sharing knowledge or help.
Requirements:
- .NET Framework 4.6+
- Microsoft SQL Server 2008 R2+
- Microsoft IIS 7+
- Microsoft Windows 7+
Like any CMS, it is used by a number of small and big companies such as Experian, Toshiba, Canon, and Nestlé.
All these CMSs have a large set of functionality, greater than we have mentioned. Honestly, each of them deserves a stand-alone article with the review. This article mostly provides a general overview of different types of CMSs and their most interesting or most named functions.
Best open source .NET CMSs
Mostly all from the reviewed CMSs are commercial,not open-source. So, if you are looking for free products only, in fact, there are a lot of variants to choose from, everything depends on the needed functionality. Here is a little bit more of a popular free CMSs.
Orchard CMS
Initially released in 2011, now it is in an active development driven by an enthusiastic community. It has not a large number of plugins, so mostly, you will need to make them yourself to extend functionality. At the very beginning, it can be difficult to work with it and understand how all functionality works, especially for non-technical people. Nevertheless, it is constantly evolving, so hopefully, that will be fixed in the nearest releases. As features we can name the ability to replace or extend features, to secure parts of the website, localization, media library for managing audio, video, and images, and so on.
Mostly, this CMS will be suitable for simple and standard projects.
Requirements:
- ASP.NET 4.5+
- Microsoft IIS 7+
- SQL Server (Server Express) or MySQL
- Microsoft Windows 7+
COFOUNDRY
Cofoundry is an open-source CMS, providing many tools, helpers to solve common tasks. For example, it contains functionality for sending emails with email templating, auto-updates, caching functionality, background tasks, and many others. Cofoundry does not put limits on the choice for your front-end technology, you can only use a backend API or use a visual editor tool for managing content on the website pages. It has implementation for Azure services, which can be an asset. Support of the ASP.NET Core framework makes it even more interesting since it is a modern and high-performance technology.
Requirements:
- .NET Standard 2.0+ (e.g. .Net Core 2.0 or .Net Framework 4.6.1). For web projects ASP.NET Core 2.1 is required
- SqlServer (Express) 2012+, or Azure SqlServer
Piranha CMS
Piranha CMS is an open-source, cross-platform CMS library for NetStandard 2.0 and Entity Framework Core. The same as Cofoundry, it also “headless” in some meaning, since you can expose only its API or optional lightweight front-end. Piranha CMS has some interesting features for content delivery like built-in media library with scaling and cropping, live preview window, the standard system for permission and user roles. Its cross-platform support itself is a great plus, since you can run it on Windows, Linux, Mac OS X or it can even be embedded in a Xamarin App.
Requirements:
- .NET framework 4.5+
- Can run on Azure Sql, SqlServer 2005/2008/2012, SqlCompact 4.0, SqlExpress and MySql
Final Thoughts
In order to summarize, while making your choice, answer these questions for yourself:
- Think about your goals. Why do you need this site? What is its purpose? Our advice, think not only about the present but about the future also. At least think about, will your next goal be the same or your decision now is only appropriate for the current mission? Which features might be needed in the future?
- Analyze all benefits and costs of the CMS and hand-coding solutions. What problems are you ready to put up with, and which are at odds with your needs? Or which drawbacks will cost you an arm and a leg in the end?
- Price. Every customer is interested in the price, which he should pay. Sometimes, in pursuit of cheapness, quality is lost, and this can be more harmful to your business. Calculate how much you can spend now and how easy it will extend your system in the future. Keep balance in everything.
- It would be best if you thought about SEO. If you don’t know anything about it, ask someone for help, and then choose the option that provides the best set for your needs.
- Be realistic. Ask yourself what guides your choice – common sense or something else?
Put together all this information, make it clear for yourself, and find your implementation partner, if your company doesn’t have one. Even if you want to manage content and all personal stuff by yourself afterward, you still need someone to build it, host, and, probably, maintain. Take a critical look at everything discussed and make the right choice.