Never Fall for a Custom, Hosted CMS. Ever.

By Deane Barker on May 20, 2014

Because I keep seeing the same problems happen over and over and over, I’m going to make this claim:

There is NO benefit to you in being talked into using a custom CMS which is hosted and controlled by a web development shop. DO NOT AGREE TO THIS. EVER.

We’re seeing this again and again: an earnest client is talked into letting a web development shop build their site on an in-house CMS, which the dev shop hosts.  It’s an “end-to-end” solution, they’re told.

It’s all a myth.

I’m going to go one step further:

Any web development shop that tries to talk you into this is being reckless or naive at best. At worst, they’re being unethical.

At some point in the maturation of that dev shop, they faced a choice: do we (1) build our own CMS, or (2) learn to competently use one of the hundreds of available open-source or commercial options available.  In this day and age, I’m completely mystified why people keep trying the first option.

Actually, I think this is dying out. I hope it is, anyway. I’m hoping that the organizations we see getting screwed over today are just unfortunate vestiges of some archaic past practices.  Back in the day, this might have been a viable option. Back before the open-source world matured enough to provide so many great options.

But, in the darkest corners of my mind, some dev shop somewhere is staring down this choice today and still making the wrong one.

  • "But all available CMS aren’t good enough,” they’ll say. Myth. When you look at one of the dozens of highly mature open-source options, do you honestly think you’re going to make something better with your two developers sitting in the corner while they also juggle client work? Really?  You will manage to solve that problem better than, say, Drupal?

  • "But all available CMS are too complicated,” they’ll say. *Myth. *Part of integrating means understanding the system well enough to make it understandable for others. You can take any system and make it palatable for an end user, you just need the desire to try. Suck it up and stop being lazy. If you can’t make Expression Engine simple for your client, then find another line of work.

  • "But all available CMS take so long to learn,” they’ll say. Myth. So, you’re going to build a competitive system from scratch in less time that it’s going to take to learn someone else’s CMS? You can completely re-solve the CMS problem in less time than it would take you to understand TYPO3?

Think about this: if their CMS was really any good, other people would want to use it.  If it was that good, they’d sell it, or productize it, or at least open-source it and make the code available for other people to see and use. If they don’t (and they probably don’t), ask yourself why. If they have managed to re-solve the problems of content management so damn well that you should sign onto their pipe dream, why aren’t other people using the software?

If you are a client facing someone trying to sell you this, here are your problems:

  • It will be worse than a real CMS. There is no way that dev shop can possibly compete with the state of the open-source market, to say nothing of the commercial market. If they tell you they’re better, then it just means they’re delusional or they don’t know enough about the current CMS technology to understand that they’re talking about.

  • It will not develop quickly enough. You will see things on the Internet that you want to do. Be prepared for them to constantly tell you, “Yes, that’s coming in a new version” or “Yes, we’ve been thinking about adding that."  This will never get done. Advancement of their system will take a back seat to client work (as it should), and there is no developer ecosystem to fall back on. If they’re not developing on it, no one is.

  • No one can help you but them. They’re the only ones who understand the system.  When you start using any CMS, the community is a feature.  No community means this dev shop is your only source of support.

  • The CMS is tied to them. What if you actually like the system but hate the dev shop? Tough – it’s a package deal. You can’t pick it up and take it anywhere else. (And you know that developer you actually liked? He got sick of the BS and quit last week.)

  • Your content is locked in. And this is the biggest problem: your data belongs to them. When you invariably decide the system sucks and want to move on, how do you get it out? What is their export/migration plan?  How do you get all your data in a neutral format to put in something else?

If a dev shop tries to talk you into this, do not walk away. * Run.*  As fast as you possibly can. They do not have your best interests at heart. They are trying to put you in their system not for your benefit, but for theirs. The upside belongs completely to them – they get to be lazy, live in their own little insular world, pretend that they’re state-of-the-art, and lock you in.

Do not fall for it.

Do I sound pissed?  I am.  Too many times – several recently – I’ve seen good organizations get hurt by this. They finally realize that this custom platform is not meeting their needs, they make the hard decision to move on, and they suddenly face tens of thousands of dollars in migration expenses at best, and a obstructionist dev shop at worst.

So, are all hosted CMS options bad?  Well, they’re not ideal, and I would never encourage one of my clients to use a SaaS CMS option (I’ve made this point before), but if you have to, look for two things:

  • What is the company’s main line of business – building this CMS, or doing web projects for clients?  You want the former. Ideally you want a company like Squarespace that does nothing but develop their CMS as a product.  You cannot compete with client work, so find a SaaS CMS company that doesn’t do any.

  • Is there a decent export/migration plan?  If (when) you want to leave, what are your options?  How do you get your data out of the system in a format where it can be imported to something else?

Don’t do anything until you have good answers for the above two questions.

This business practice just has to stop. I’m waiting for the first client in this situation to just man up and sue their shop for professional negligence. When it finally happens, I’ll be standing by, cheering them on.

Comments (12)

Tim S. says:

This can’t be shared enough. I like how you addressed the most common arguments out there on why building a custom CMS is a good idea.

Jeff Eaton says:


I couldn’t agree more. That said, I’ll suggest a potential third scenario that can make the “custom CMS” less risky. If the company that builds and maintains it is focused on a specific niche market, and their CMS has a clearly unique approach to some fundamental content management tasks that are big pain points in that niche, it might be worth it.

They should be able to articulate just what it is that its unique take on things is, and what functionality they’ve decided to sacrifice to deliver a tool that caters to the niche. That’s pretty rare – nine times out of ten, the only differentiator that’s offered is a variation on “It’s easier – see how simple it looks in the demo?”

James says:

So much truth. It’s why we use umbraco, its got the open tech, data and community but you build the cms your client actually needs rather than trying to shoehorn their convent into some pre defined cms structure.


Nodex says:


Why pollute the internet with more bloat by continuing to use these bloated CMS’s that you’ve mentioned.

The web is not created equal and therefore these CMS’s cannot be the most efficient way of producing results. However, a CMS that has been specifically designed for the task at hand will always out perform and be more efficient than other wider ranged CMS systems – ergo will deliver a BETTER end user experience than XYZ CMS with it’s generic hacked plugin.

As a developer you obviously lean toward having things as easy for you to pick up as possible, as an end user this is of no interest to me, I just want the website I visit to work. As a client having you build my website – I am not interested in whether you get along with my current codebase – again I just want a website that WORKS to the best of its ability.

john barnard says:


Is this meant for real people who make real stuff – me for instance? If so, is it asking too much to have an expansion of the acronym ‘CMS’, so we know to what you are referring?

John Barnard

Thudfactor says:

I’ve worked with both the open source and the custom-built CMSs before. And as Nodex says above, the custom-built tools can be better. The last I heard, The Guardian’s CMS was custom-built. And I made several small custom-built CMSs for the Library of Congress.

But I think this is the difference: both the LoC and the Guardian own the resulting code, host it themselves, and have a staff of people to maintain that solution. Furthermore, those solutions were specifically tailored to the content they provide. They are not general CMS solutions.

If your choice is between an OS CMS and a “proprietary” general-purpose CMS maintained by a tiny consulting firm, go OS every time.

Deane Barker says:

@Thudfactor The Guardian built it for themselves? And they host it? And they own the code?

Totally, completely different.

paulguise says:

I would have to disagree with you there. I have worked at a custom dev shop for the last ten years and we have our own cms we’ve built from scratch. It’s taken years of development and refinement but it’s a very efficient and quick to develop for solution for our 200+ clients. They are quite happy with it and those few who’ve left were given their data in whatever fashion they wanted without a fuss. A lot of times they come back because they couldn’t find a better partner to work with. Your argument about only going with a company who makes a cms as a product OR uses an open solution seems short sighted and overly simplistic. My company provides custom solutions to do a task for a company. Selling products, giving out info, or processing data, any of these things start with our cms and the clients are not at all futzed about it. We train them when needed and answer questions when they have them. It’s simple and easy and our clients don’t give a care about what powers their site as long as it works. Lastly, since it’s our own creation, we fully understand all aspects of it. We don’t have to read hours of documentation on the new version or worry about deployment if a critical update comes out. We just make things better and apply it to all our clients’ sites. There are many shops that just rebrand an obscure cms. But lumping them all together and saying anyone who doesn’t use one of these five open source solutions is ripping you off is just plain wrong. There is room for every cms on the internet and not everyone likes those open solutions. We’ve gotten clients who hated Wordpress or Drupal but love our cms. Different stroke for different companies.

Bob says:

As someone who builds websites for clients using open source tech (Drupal mainly), I broadly agreed with your points. That is until I read your last sentence. That destroyed your entire agreement. There are many many reasons why a client would need a custom solution. To say this is gross negligence on the part of the shop and worthy of being sued is idiotic at best.

Deane Barker says:

Folks (@chx and @paulguise in particular), you’re getting confused, perhaps aided by my poorly titled post. I am not against custom solutions. I am against in-house solutions that the integrator controls and hosts.

If they build something custom for you and give you the code, fine.

If they build something custom for you, host it as multi-tenant, and do not give you the code...NOT fine.

Ryan Price says:

I agree, but I just want to add one point:

There are some really great companies making proprietary tools with really great customer service, really great philosophy, and really great tech. Like you say, if their number one business is building the tool, they can usually be trusted. At the same time, the company I am thinking of should just give me their damn API so I can write a plugin.

The company I am speaking of espouses so many open source ideals, even uses open source frameworks, and presents at conferences, sharing knowledge and code. I have tried to convince the owner to open source the product. So far, I have not succeeded.

Short version, I have found good people using closed tools that are acceptable. I want to be able to help them make it better, but the only way to do that (now) is to work for them.

maks says:

Some good cms/cmf started as ad-hoc projects for clients and became opensource projects afterwards. Silverstripe, just to name one. And some customers’s needs cannot be addressed by existing solutions or easily integrated into existing cms without compromises. Having a custom solution also exposes to less eploits, if the project isn’t opensourced. So it’s a matter of the developer being honest of what a custom solution means and the customer choice based on that and on the costs.

I can agree If your customer’s needs are limited to title/content/image/gallery and contact us. (but for that kind of sites do the customers need a developer?)

That being said, I love opensource projects and communities, also because there are many and you can choose what better fits your (and your customers) needs of customization.