Do You Need A Custom CMS?
As tempted as I am to end the blog post after that first word/sentence, I owe it to you to explain. It seems recently (in the past year) I’ve run across a number of sites that use custom-built content management systems (CMS). Two, in particular, are client sites. Although they each have varying degrees of awfulness, it got me thinking about why web designers and developers feel the need to create custom CMSs for sites that would be better off using an opensource CMS, like WordPress, Drupal or Joomla.
Although I could speculate about why I think developers create custom CMSs, it would be just that – speculation (and it would most likely just anger the designer/developer community). Instead, I asked a web designer I know to help me understand why custom CMSs are even considered anymore, given the easy access to numerous free alternatives. He helped me come up with the following list of reasons for a custom CMS:
- Security through obscurity – hackers are writing scripts for popular CMSs, not custom CMSs.
- Custom functionality – sometimes the purpose or function of a site is specialized enough that a custom CMS doesn’t address the site requirements in the most efficient manner.
- Cleaner code – sometimes a site may be so simple and focused that you don’t need all the bells and whistles of WordPress or Drupal, and the code can be cleaner and less bloated.
- Any other reasons? Let me know in the comments.
These are the sites that clearly do NOT need a custom CMS. Yet time and time again, I see business owners that don’t know any better, and they end up with a poorly performing site (especially from an SEO perspective). To give an example, one custom CMS I worked with didn’t even provide the ability to change title tags, meta descriptions, or URLs (all things that are easily done in WordPress, for example).
So, if you’re redesigning your site, here are some things to keep in mind if your design company is pushing a custom CMS:
- They lock you in – anytime you need an update to the system, you have to go to them. Those updates can get pretty expensive (good for your design company, bad for you).
- Bugs – if they’re building the CMS from scratch, there will be bugs. Are they willing to fix those? For free? For how long?
- Fit and Finish – your brand new custom CMS will not be as polished in terms of look and feel or usability because it hasn’t undergone multiple updates that pass through hundreds of developers with feedback from thousands.
- Functionality – they may not include critical functionality (like the ability to write custom title tags and meta descriptions for each page, custom URLs, etc.). Even worse, they may charge you extra for this functionality and call it an “SEO package.” Don’t get me started on that one.
- Documentation – there may not be any well-written documentation on how to use it, make changes, etc.
- Migration – once you realize how much better you would be with an opensource CMS, it can be a nightmare to migrate your site from a custom CMS. (see reason #1)
Here’s some more food for thought. WordPress has five lead developers, three designers, nine contributing developers, two documentation and support specialists, eight developer emeriti and countless testers. It was first released on May 27, 2003, and has since been updated 59 times, averaging a major release every six months or so. That’s nearly 7 ½ years of development (for free). Can your web developer offer that?
Additionally, if you need custom functionality for your web site, or you don’t want it to look like a cookie-cutter site, there are endless possibilities for customization. Instead of creating a custom CMS, your designer could create a custom theme, or your developer could write a custom plugin. But even that is often unnecessary when you consider the number of plugins already created for popular opensource CMSs:
- WordPress: 11,704 plugins
- Drupal: 6,739 modules
- Joomla: 6,002 extensions
So, do you need a custom CMS? I think I answered that in the first sentence.
Am I wrong or missing a side of the story? Please tell me so in the comments.