Do you need a Custom CMS?

broken keyboardNO.

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.

Those are all valid reasons, but to how many sites across the web would they apply? Not many, I think. The kinds of sites that I do see getting custom CMS treatment tend to be of the garden variety business web sites. You know the kind, less than 100 pages, typical online brochures with a home page, about us, products/services, contact, TOS/privacy policy page and not much more.

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.

Related Posts Plugin for WordPress, Blogger...

21 Responses to “Do you need a Custom CMS?”

Joel says:

What’s even worse than a custom CMS is a sub-par CMS created by a web dev agency for their 40 clients or so…and then they charge you a licensing fee. Are they having a laugh?

I agree 100% Jim.

There’s one more big reason I see why developers implement their own custom content management systems.

Sheer laziness.

They’ve cobbled together a system that kind of works over the years since before WordPress and Drupal were as good or as popular as they are today. The system works for *them*, not the clients, and they don’t want to change. They see learning how to develop on a new system as lots of work and don’t want to give up something *they’ve* grown used to, see as easy to use, and are now proud of.

Jim says:

@Joel – Absolutely! It’s amazing that people pay for a CMS that’s clearly less functional than many opensource CMSs.

@Benjamin – thank you for the insightful comment. I hadn’t considered that angle before, but it definitely makes sense.

C. Bagdon says:

Bravo Jim, bravo.

My company fell into this trap years ago and is still paying for it today. It takes weeks for their “design” company to edit something that I could do in 10 minutes.

The lack of ability to edit URLS, page titles, etc. makes optimizing the site comparable to swimming with my arms tied behind my back.

WordPress and Magento is all a company needs to have a high-quality, functioning web presences and they’re free.

Jim, you probably could have ended the post after the big NO! Great article!

Personally I don’t buy the reasons your web designer person gave:
* Security through obscurity
- While this is true, it only takes 1 hacker to compromise your site and it doesn’t have to be through something CMS specific. All they need is the underlying technology (PHP, .NET, whatever) and then deploy generic attacks at that level. I’d prefer to have tens or hundreds of developers with thousands of installations motivated to combat the hackers rather than relying on some one-off developer to find out what happened and get my site back up.

* Custom functionality
- This is nearly hogwash these days with the plug-in nature of the CMS products you outlined. You can customize just about anything and only have to build the piece(s) that require customization. I haven’t seen a set of requirements yet that wasn’t at least 50% met by off the shelf components and building half of something is going to be quicker than building all of something. Besides, once you build that custom module for a popular CMS it can be monetized by either the client or the developer (depending on the agreement) if appropriate.

* Cleaner code
- Designer/developers tend to think everyone else’s code is crap. I don’t see any business clients buying based on code cleanliness. Once installed, use the admin facility to lock down or hide any of the unneeded bells and whistles. At least if the site grows and those are needed at some point they can be turned back on. It takes about 2 hours for us to install Joomla including provisioning the server, setting up the database, transferring files, and running through the initial configuration–most of that time is transferring files and we can do something else while that happens in the background. The needs would have to be VERY simple to be able to code, test, and debug a custom CMS in that amount of time. Use WordPress and you’ll probably be fully up in even less time.

Maybe I angered some of the designer/developer community, but the good ones I know are platform agnostic and look for something to get them started rather than building from scratch.

Sorry for the rant.

Jim says:

@Chuck – you’re rant is very much appreciated! Thanks for offering your views on this issue.

Hunter says:

we reluctantly have had to build custom-CMS based sites for 1 unfortunate reason: our largest client self-hosts and their woefully outdated server won’t support any of the well developed, modern setups like WP, Drupal, Joomla or MODx. we try to do what we can (built-in SEO features), but when ever given the choice we implement a proven system.

Robbin says:

@hunter, good point. We are always finding out new reasons why designers and developers do this….

Mike G says:

No offense to the author, but Point 1 is bad advice, in the worst case. Time and time again the security community has warned that Obscurity is not Security and conflating the two is dangerous.

The “cleaner code” (Not Invented Here?) argument reminds me: The development time already sunk into the preexisting solutions includes debug and security responses – any customer using a custom would have to foot that bill *entirely* themselves.

Your article is plain wrong. You just don’t realize how powerful and convenient are the modern frameworks to build custom content management systems, such as Django or Ruby on Rails.

Quality of the work depends solely on the qualities of the master. Be it custom or conventional CMS. Find a professional and let him decide whether you need a custom CMS or not.

WordPress has cleaner code? – Bullshit. You’ve probably never had a chance to compare it’s code to any of a modern web frameworks. Have you ever used Django templates? Try and compare them with WordPress templates. They are far cleaner and superior.

1. If you can’t afford to hire a professional which you can trust, use opensource CMS.
2. If you can – let the professional decide.
“NO” is the wrong answer.

Robbin says:

But Custom CMS Guy, wouldn’t you go out of business if no one did a custom CMS? Just a little curious….

Robbin, I do both, write custom ones and support opensource ones. I can hardly imagine that at some point people will stop building custom CMS. Just because when task is getting complicated, at some point it gets easier to write new CMS from scratch than to keep hacking opensource one.

My point is that different tasks require different tools to fulfill. If your task is simple there is a big chance that opensource CMS will be a good solution. But don’t be too shortsighted to blindly disregard an entire idea of using custom CMS. I’ve seen projects that failed because of this.

People don’t build skyscrapers or cathedrals with the same technology as they use to build trailers or shopping malls.

Tools of choice don’t solely depend on complexity of a task, but also on it’s uniqueness.

@Custom CMS Guy, we just had a project where our client had a custom CMS because their developers felt the requirements warranted it. There were a lot of custom requirements. However, now the company was hand-cuffed to the developers because they were the only ones who “knew where all the bodies were buried” and their admin person was the only one who knew how to use the system. This is a terrible position for a company to be in.

We took a look at their custom requirements, suggested ways they could make slight modifications to their requirements to work within a known framework, and turned around a solution using commercial off the shelf products in about 1/10th the time it took for the original product to be built and at less than 1/4th the cost.

When considering whether to build or buy it’s important for the company to consider whether this is their core product or not. If the company is developing the next Facebook, that’s a build. If selling or manufacturing widgets, look hard for a buy and only build if an absolutely last resort (but call me first so I can talk you out of it). LOL!

@hunter has another reason to build I hadn’t thought of-screwy technology. I once had to use a product that created a website out of an IBM mainframe. That was a build in alien territory for sure–CICS. Only 3 companies on the planet had done it at the time.

@Chuck Topinka: “When considering whether to build or buy it’s important for the company to consider whether this is their core product or not.”

Yep, I totally agree with it. Or, in broader sense, whether IT is your liability or a core asset. If former, it is reasonable to invest some effort in examining different means to build your web application.

Chuck, you need to keep in mind that todays modern web frameworks such as Django and Rails are really revolutionary if compared to previous ones. This is not yet understood by many non-IT people.

Rails and Django distinguish data models and templates to construct UI, thus making a lot easier to update an application, read it’s code etc. And they make you less dependent on your current developers.

Look at the WordPress, it was a great application when it came out. It is great now. But when you look at the technology, you see that lots of things could be done better with todays tools. WordPress templates vs. Django templates is a perfect example. I used to write big applications in PHP, but today when I need to add some new feature or edit WordPress template, I constantly get disgusted at unnecessary complexity. PHP complexity is a hidden cost. Python is so easier to understand.

I think there certainly is a future for some opensource Django-based WordPress analog.

“Or, in broader sense, whether IT is your liability or a core asset. If former, it is reasonable to ”
Ops. Of cource, “if latter”.

I agree, but only in part. Packages like wordpress, expression engine and drupal can be very good, free options which are usually very easy to code plugins / custom design templates for. For the majority of basic websites these solutions can be perfect.

The problem with this arises when a client who is not technically minded goes to use it, wordpress is the best of the 3 I have mentioned above and is still quite hard to use for a non techi client. If a client who is not very experienced in the art of the internet, he may prefer to have an ultra simple custom cms solution to do an ultra simple job.

Joomla (don’t get me started) is a horrendous user experience. Even for myself, a designer with over 8 years experience, I struggle to see how it is used. I would NEVER pass any client onto this system, no matter how savvy they are.

Then we come to the advanced systems, almost web applications need their own cms to do a bespoke purpose. This may not be primarily where this argument is aimed, and I also seek to see the companies who design the cms’s in question, as I assume you have never seem one designed well.

When (even a basic) cms is designed by professional designers and developers, it is a much more lightweight solution on the server and on users response times to the website they are viewing. WordPress and drupal are clunky, running a lot of code to get what the user needs.

In short, web companies who tie you in with poorly designed, coded and hard to update cms’s do a very bad thing for the industry.
Cms’s that are build and designed properly should be easy for another web development firm to manage and update and if another firm fails to do so, they are probably worse than the firm you where with before.

I’m honored at the amount and level of discussion that’s been brought to this post in the comments!

@Pete, @Chuck and @Custom CMS Guy — these are definitely good points of view to consider, which I hadn’t thought of as deeply until now.

Thanks to everyone who has contributed to the discourse – let’s keep this dialogue going!

Jim,

Great post. I don’t have any experience from the design end. However, we are literally in this position today – “custom” cms that restricts what we can edit on the site, and is mind numbing compared to my experience with WordPress. I am actively encouraging management to move web hosts and use WordPress or another CMS for the backend. I’ve received some push back on using WP over security hacks. Is that something that is a past problem, or are there more secure options that work as easily as WP?

Robbin says:

Russell — the big problem (IMO) with WordPress and security is when you don’t constantly update to their new versions. But maybe others want to weigh in here?

Jafar says:

The future is in Framework CMS’s

That way when you need to add on, you’ll have the knowledge and ability of framework, such as Rails, Django, Yii already available.

Things are becoming more customized, which require flexible pieces. Customization is the heart of innovation.

I just made a CMS that used the API’s of Twitter, Facebook, Soundcloud, Flickr, and YouTube. So I offloaded all these services to third party vendors making my CMS very lightweight.

Typically my Drupal 6 websites would load around 3-8 secs, optimized.

My custom CMS loads all pages under .5 seconds. I like that, Google likes that, and clients like that.

Another benefit of a custom CMS….custom admin areas. WordPress admin is decent…but not for everyone…Drupal admin sucks, a little better in 7.

Another benefit of custom CMS? Creating mobile websites and Flash websites that sit on top of it or to the side of it. Ultra flexibility.

The market saturation of WordPress developers means only one thing…people will get sick of it soon enough.

I’m very appreciative of the open source tools and I think they created a nice marketplace for developers… but those developers didn’t just appear out of thin air. They worked on custom stuff and brought that knowledge into opensource communities.

So what have you done for your open source cms lately?

Thanks , I have just been looking for info about this topic for a long time and yours is the best I have found out till now. However, what about the conclusion? Are you sure about the source?

Leave a Reply