SEO

What is the Best CMS?

April 18, 2024

By John Curry

This page is a “Checklist” of things required for a production ready CMS. Too many times I’ve tried to migrate and later realized X or Y feature is not provided, causing me to waste time on a migration that didn’t work.

Blog CMS

Child Page Management

Many websites require the use of “Child Pages”, which allow for customizable URL structures and logical site organization. For example, if I am a construction business providing several services in several locations, I may want to account for that using Child Pages. A page and child page relationship might look like this:

/plumbing

/plumbing/seattle

/roofing

/roofing/seattle

Notice the child pages have the same slug but under different parents. Effective Child Page management is a must for a production ready CMS / Website platform.

Unused Image / asset Checker

Managing media and assets can be a nightmare on large sites. As you move things around it’s easy for images and other assets to get lost in the mix. If you have unused images clogging up your site you’re wasting resources and cluttering things up. A great CMS platform allows you to check for unused images or assets and remove them.

Reusable Images (with different alts!)

Being able to use the same media in multiple places with potentially different alts is a valuable thing to have in a production grade Content Management System. Even better if you can utilize a tool like Cloudinary to manage different sizes of images.

Full URL Control (I’m looking at you Shopify!)

Some popular systems have horrendous URL limitations. Shopify for example, in its default form, prevents you from creating url structures of your choice. They force you to use /blogs in the blog url, and then they force you to “name” a blog, so blogs end up with terrible naming conventions like “yourwebsite.com/blogs/news/post-title”. Not only that, but they force you to use /collections in the product page urls. Being able to wield the URL structure as you please is an important piece of the puzzle when choosing a website platform and CMS.

Reusable Elements

Good Website platforms allow you to have “reusable elements” on your site. Think of a “call to action” for example. You may want that on every post, or every post under a certain tag. Reusable elements allow you to make changes to the calls to action in each place, and you only need to update that element once.

Prevent deletion of a used item

I haven’t seen this often, but Sanity (a headless CMS) exposed me to this idea. If you try to delete an element that is being used, it will provide a warning, or even prevent you from deleting the element with a warning saying “This item is being used in X, Y, and Z. By deleting this element you will break those pages!” Having this prevents pages on your site from being unknowingly damaged, which could be undetected for months or even years.

There are certainly more, and I will update this page as needed to keep my own sanity when looking for different CMS platforms to use.