CMS Choices
There is a plethora of CMS options out there for web design & development, each targeting a specific set of applications. I have tested, trialed and used many content management systems and haven’t found the one system that will meet all requirements. In this post I will review five systems I use on a regular basis and go over their pros, cons and suitable applications.
Brochure Sites
Concrete 5
Recently, this has been my go-to content management system, it’s proven perfect for its easy usability with its suite of in-page editing features.
From a developer's perspective, it’s well structured and has a strong set of functionality out of the box as well as a comprehensive API for custom development. Editable page components are separated into blocks, which a user can pick and choose which block they would like to use and where. Customising these blocks with templates makes this a very powerful platform. A simple page listing block can be used for a variety of purposes: Listing blog posts, products, a portfolio etc. Creating custom themes is simple and versatile and you are given a lot of freedom on how you can approach the structure of your pages.
The only downside of this great CMS is its documentation (or lack of) and the CMS locks in a few components. For example, it forces jQuery to be loaded in the page header, whereas nowadays best practices state this should be loaded in later. It also depends on bootstrap for the in-page editing and dashboard, therefore if I choose to use another framework like Bulma or Foundation it can conflict with bootstrap styles. It would also be nice if Concrete5 used a templating system like twig or blade, but for now I’ll make do with plain old PHP.
From a client's perspective, I haven’t heard any bad things to say about Concrete5. It’s clear and simple to use (once a brief tutorial has be given), and the in-page editing is perfect for an everyday IT literate individual. I have had clients of all ages and competency of computing breeze through this CMS.
Applications : Medium to Large brochure sites
Wordpress
Wordpress is the most successful content management system, ever. It has an incredible range of functionality available through plugins and with the documentation available you’ll always find the information you need.
The ability to add near endless amount of functionality without the need for a developer every time an addition to the site is required, is a major plus for the client. The back office admin section is clear and reasonably easy to use with some training.
Here is where Wordpress and myself part ways, the structure of code is like spaghetti, as opposed to the much preferred Jenga tower of Concrete5. This isn’t necessarily the fault of Wordpress, its original intention was to be a blogging platform and that’s it. With the influx of users and developers the needs of Wordpress grew exponentially and to keep up with demand the codebase was hacked, added to and hacked again. It’s a confusing mess, and that’s why I try to avoid developing with it, I like clean and well organised code.
Applications : All sites on a smaller budget (functionality added through plugins)
Grav
New kid on the block, Grav is a flat-file CMS (no database). This makes Grav lightning fast, if I needed to build a simple site where performance is a key factor, I use Grav.
Applications : Basic sites & blogs
E-Commerce
Shopify
Shopify is a slick content management system for e-commerce websites. Its simple to use and has a reasonable set of functionality available out of the box. It's primarily used for smaller shops that don’t need a comprehensive set of tools and functionality, and its theming engine is fantastic. Getting up and running with a new store is very quick and has a modern set of tools available making it easy for a developer to build a fresh new site.
Although there is a wide variety of plugins available with Shopify, a store needing a lot of functionality such as a discount & sales engine, nested categories and extra product functionality, after adding the necessary plugins the monthly cost can easily get out of hand.
Applications : Small - medium e-commerce websites
Big Commerce
Big Commerce is more suited to larger shops that need complex product category structures, a lot of functionality and analytical tools. Recently, they released a new theming engine “Stencil”, which makes creating custom stores a lot easier and more modern than it was before. The page load times are slower than Shopify's, but who can blame them with the amount of functionality they provide.
Applications : Medium to large e-commerce websites