In the early days of the web, most sites were built using HTML files — one file for every page on the website. In order to change the content within each web page, each file had to be edited by hand. As websites became more sophisticated, this approach became problematic.
Editing lots of files by hand is clearly a slow process, since content has to be changed each time it appears. For example, altering the footer on a website could mean changing every single page individually. This was an obvious way to introduce errors into code, and for large sites, it was impractical.
Now, most websites use a back-end database to hold content, which is where your content management system, or CMS, comes in.
The CMS provides a safe, secure and user-friendly interface to manage the contents of the database, while reducing the risk of deleting any of the critical code that handles the layout and structure.
Why I should use a CMS?
There are many compelling reasons to use a CMS, whether you’re a novice webmaster, or a seasoned web developer:
Rapid edits. A CMS lets you dive into the contents of a database over the web (and, in some cases, via an app). Usually, you’ll use a form, although some CMS software lets you directly edit the page contents in a live preview.
Safe interaction with the database. The CMS helps to curb accidental edits by controlling the way you save and create your content. This can help to stop you from messing up the database by accident, since you don’t interact directly with it. A few CMSs don’t use a database at all, although this is rare.
User-friendly content composition. CMSs offer easy-to-use content composition and media upload tools, along with simple formatting controls to build attractive layouts. Most provide the ability to preview work and save drafts.
Accessible content management. You don’t need knowledge of HTML to edit your website if you use a CMS, since editing tools are provided, and there’s very little to learn. Some CMSs include complex layout editors that provide WYSIWYG composition tools, or let you edit page content in a live view.
Fewer web design bills. When you use a CMS, you don’t need to contact a website designer every time you want to post a new blog, upload a new image, or change your page content.
Familiar site management. If you have multiple sites, your knowledge and skills will be totally transferable to any other site using the same platform — even if it functions differently. That makes it easier to manage lots of websites, without having to learn different systems and management tools.
Automation. The CMS can automate certain aspects of content delivery, such as the creation of an RSS feed from content that you create. It can also schedule posts for a future date, so you can stack up content in advance rather than publishing it right away, and feed into your social media accounts, ecommerce store and more.
Flexibility. Many CMSs have well-established user communities that extend their reach and usefulness using extensions or plugins. And because the layout and design is separate, it’s relatively easy to “reskin” the site by plugging in a new theme — without disrupting the content. Some CMSs also have built-in email marketing and forum tools.
Which CMS I should use?
So you’re convinced about the benefits of CMSs, and you’re ready to look at the options. There are three things to bear in mind as you research:
What do you already know? If you’re worked with WordPress before, staying with the same system for your next site may boost your productivity. If you’re a developer, choosing a basic CMS may limit your creativity.
Which database and scripting languages do you plan to use? Again, if you have experience of PHP and MySQL, it may be counter-productive to opt for a Java-based CMS (for example). Some CMSs naturally lend themselves to Linux or Windows servers.
Do you need extensibility? Many CMSs can be enhanced with bolt-ons and plugins that can turn a simple blog into an ecommerce site, a forum or even a full-blown web application. Your plans for the new site could steer you towards one or two CMSs that offer the plugin modules that you’ll need — or a simple way to develop a new one.
30 CMSs to Consider
There are hundreds of CMSs to choose from, with a range of price points and specialisms between them. Here are 30 CMSs that are well-known, or serve a highly specialized purpose:
WordPress: WordPress powers millions of websites, and is currently the world’s favorite CMS. WordPress users benefit from simple configuration, ease of administration, and code that is generally pretty secure. WordPress is a good choice for blogs and corporate websites, and offers good extensibility beyond blogging with pages and plugins.
Joomla!: Joomla! was born from the Mambo CMS, after the development team decided the original project was not progressing in the spirit of open source software. It’s designed for setting up community websites and intranets, although its extensions allow for some customization. Novices may find administration tricky.
Umbraco: Umbraco is popular with businesses that already use IIS. It’s open source, utilizes the .NET framework, and is free to download.
SilverStripe: combining CMS functionality and its coding platform, SilverStripe is designed for creating content and code side by side.
Shopify: Shopify is arguably of the world’s best-known ecommerce site builders, and its CMS functionality makes management simple. It creates SEO-friendly listings, drag-and-drop management, and statistics about your store right on the dashboard.
DynPG: a free, open source CMS available in 5 languages, designed for use with web design and imaging editing programs. Users can drop in code snippets at the design stage, and these snippets then pull in content from the DynPG database.
Exponent: another open source, free CMS. Exponent can handle multiple users and roles, and it also allows pages to be directly edited, doing away with the need to log into a backend dashboard system.
eZ Publish: this CMS is developed on the Symfony framework and released as a free, open source tool. It’s designed for large websites and is not as friendly as some of the more popular CMS tools, but it does have several APIs that make content management quick, and simple.
DotNetNuke: DotNetNuke, or DNN, is designed for corporate websites, although developers can build sites without any knowledge of ASP.NET. It can be hosted on a Windows server or in the cloud. There’s a free community edition, although full functionality is reserved for the paid-for, enterprise editions.
Bricolage: “Designed for serious hackers,” Bricolage is built for customization and the management of extremely large sites. It incorporates features like file check-out, which prevents multiple users working on the same content.
Movable Type: originally on a par with WordPress, Movable Type has failed to grow at the same rate, perhaps because it is not open source. Coded in Perl, it has a smaller user community, and can be less user-friendly for novices, compared to rival tools. Critically, Movable Type creates static or dynamic pages.
b2evolution: b2evolution takes content management and turns it on its head. Rather than building posts, pages and other content types, b2evolution uses Collections to organise groups of content. It has its own forum and email marketing tools built in.
CMSimple: this unusual CMS doesn’t require a back-end database, but you can still develop multiple websites using template layouts and plugins. Everything about this CMS is pared right down, giving you a hassle-free but slightly limited experience.
Magento: thousands of ecommerce sites are built on the Magento platform, which is available in both free and paid-for editions. It’s aimed squarely at the ecommerce market, and can be extended with plugins to add different payment gateways. However, extending the system beyond its core functions gets expensive fast.
MediaWiki: the Wikipedia team originally wrote MediaWiki from the ground up, to handle its enormous library of user-contributed content. MediaWiki is available on an open source basis, and can be deployed in more than 200 languages.
Moodle: Moodle is a specialized content management system designed to build and store online learning materials. Tons of resources and tools are available.
Django : Django is a CMS for Python, designed to be integrated with other websites and apps. It has a drag-and-drop interface to make management and publishing simple.
Ghost: Ghost is a hosted platform that claims to offer more power than Medium, yet less clutter than WordPress. This CMS supports Markdown syntax for a simple, clean and uncluttered approach to blogging.
Alfresco: this open source CMS is marketed at businesses who need to manage online content and publish their own business processes. The emphasis is on security and collaboration, with on-premise and cloud variants on offer.
SharePoint: Microsoft’s flagship CMS is a behemoth in the content management world, providing everything from document libraries to full process workflows. Its sprawling structure, and potentially complex collaborative nature, means that it’s best used in enterprises that have expert support on tap.
CMS Made Simple: this well-established CMS is free and open source, and is built for hosting websites (rather than blogs, or ecommerce sites). It’s aimed at web developers creating sites for clients, and people who are comfortable digging into code from time to time.
Geeklog: Geeklog is a compact but versatile CMS written in PHP, and using MySQL, MS SQL or PostgreSQL as the back-end database. You’ll often see Geeklog bundled into the one-click installers provided by your web host.
Habari: Habari is a CMS that’s also designed for building applications on the web. Developers are encouraged to get involved and contribute to its evolving codebase. If you already use WordPress, there’s an importer to transfer your content.
PageCarton: this PHP-based CMS is free to download and use, and can be deployed on Linux, Mac, and Windows machines. Being relatively new, it is still in the process of moving to an open source licence.
Prestashop: this shopping application has a built in CMS that makes product management and admin easy. You’ll find most of its functions within the Back Office section, under Tools.
Textpattern: web designers will enjoy Textpattern’s ease of customization. Themes can be adapted easily, and there is a plugin library for further extension.
Serendipity: designed primarily for blogs, Serendipity is ideal for diaries and journals. There’s a tiny library of templates — just 80 — and a small clutch of plugins to play around with. Although it is simple, a little technical knowledge will go a long way.
Concrete5: this CMS lets you edit content in situ on the live site, without the hassle of working through an unfriendly dashboard or form. It has a plugin library and a selection of themes to get you started.
If you aren’t using a CMS to manage your website content, making the switch will certainly save you time and money. The key is to choose the right tool for the job, and choose a CMS that closely aligns with the functions, extensions, and flexibility that you require.