As a developer, one of the most important decisions you’ll make is choosing which content management system (CMS) will power a website. In many cases, clients will state that they want to be able to update the site themselves. They won’t necessarily specify which CMS they want, though. That decision is often left to you, the web professional.
Many of us tend to use and recommend a single CMS for our projects (WordPress, in my case). An established platform like WordPress has a great community of resources behind it. So if you get stuck on part of a project, there is very likely a solution to any problem you run into.
The decision of whether to use WordPress or a roll-your-own system is one that can stir great debate. Is one better than the other? What are the pros and cons of each?
To me, this isn’t necessarily about picking winners and losers. It’s more about taking an in-depth view of why you might choose a particular path. Let’s take a look at some of the arguments for both sides.
The popularity of WordPress
It’s been reported that WordPress now runs over 26% of all sites on the internet. That kind of market share speaks to the confidence designers, developers and businesses in general have in the open source software.
With that popularity comes a whole lot of use cases. While WordPress started out (and is still used) as a blogging platform, it has grown to power just about every type of website known to man. Pop stars, gigantic companies, news organizations, and universities use it, to name but a few.
The amount of available themes and plugins (both free and commercial) can bring the look you want to achieve and the functionality you need. That said, there are of varying degrees of quality from superb to break-your-site bad.
While it may not be perfect, WordPress can certainly be shaped and molded to fit in with whatever type of site you’re building.
Creating your own fun
Those who create their own CMS may only be limited by their own knowledge. In other words, if you know enough, there’s not much you can’t accomplish in terms of look or functionality.
A custom system can be crafted to perfectly match the needs of a project. That means you won’t have to load scripts you don’t need and there won’t be nearly as much overhead. Your clients certainly won’t complain about any speed gains from going this route.
The downside here is that, well, you’d better know what you’re doing. Since there isn’t necessarily a plugin library to help you out, you may have to create your own version of, say, WooCommerce.
We’ve established that WordPress is popular. While that means some great things, it also means that the web is teeming with bots who want to destroy 26% of all websites. Or, at least, degrade them in some way.
If you use the JetPack plugin and turn on the Protect module, you’ll get statistical proof of this on the dashboard. It’s not uncommon to see tens of thousands of blocked malicious login attempts, even on sites that don’t receive many visitors.
There is also the issue of security holes being found in popular plugins, themes and the WordPress core itself. WordPress in general does a good job of squashing its own bugs and working with plugin authors to push out security fixes via automatic updates.
Still, not every hosting environment out there works with auto-update. So there are always going to be sites running outdated versions, and thus vulnerable to attack. It takes vigilance on the part of a site’s administrator to keep things updated and follow some common sense security guidelines.
Stealth like a ghost
Because of the custom nature of a bespoke CMS, it’s hard to imagine there are many bots out there actively hunting for it. That in itself is a strong argument for superior security over any well-known open source platform.
The developer is ultimately responsible for security fixes. While that can be intimidating to some, others may see it as better than relying on strangers for solutions.
So while a site running a custom CMS may not be a widely known target, there are still risks.
Managing content & ease of use
Familiarity with a twist
The WordPress dashboard, while sometimes cluttered, is also quite flexible. If you need more than just the standard pages and posts, there are several ways to add specialized content.
Plugins can handle things like events, photo galleries and forums. But that’s only one part of the story.
With the use of custom fields , custom post types, and taxonomies, WordPress can be customized to the specific needs of your site. It’s not only a great way to organize content on the front end, but also make the content management process much more intuitive on the back end as well.
I’ve done quite a bit of training with clients on adding and updating content with WordPress and, in general, most seem to find it easy enough to use once the initial learning curve is dealt with.
Custom built with who in mind?
If it’s custom built, then custom post types, etc. are a piece of cake (at least, in theory). Again, the advantage here is that the software is being tailored to the needs of the site. It doesn’t have to be a jack of all trades like WordPress.
Ease of use can be all over the map. To be perfectly honest, I’ve only used a handful of custom CMSs over the years. The ones I’ve tried haven’t been very user friendly. That’s not to say that there isn’t some individual or agency out there who couldn’t build a marvelous interface. It’s just that, without usability testing, building an intuitive interface is kind like shooting into the dark.
From my experience (and yours may certainly be different), these systems seem to have been built with their creator in mind. Ambiguous menu items, unclear paths to various tasks, etc. can really put a damper on a content manager’s day.
The point is that the developer really has to do some research in order to make things user friendly.
There are always options
It’s doubtful that the WordPress core is going away anytime soon. We probably don’t have to worry much about creating a site today that can’t still be viable tomorrow.
Plugins and themes, however, could be a different story. There certainly have been cases of widely-used plugins that have been abandoned by their authors, not to mention updated versions that cause conflicts with other parts of a site. Even if you’re making what seem like smart choices about the plugins and themes you use, there are no guarantees of happily ever after.
But odds are that there is likely another bit of software out there that does roughly the same thing. If your favorite photo gallery plugin goes away, there are plenty of others to choose from. That doesn’t mean the transition will be easy, but at least there are options.
Bob’s gone. Now what?
While there might not be any plugin or theme upgrades waiting to break a custom CMS, there is another issue that could be troublesome. What happens when you’re not the one maintaining the software anymore?
The next lucky guy or gal who takes over those duties may be hard pressed to figure out just how you set things up (it can be difficult enough with a WordPress theme). Unless there is some built-in way to add content types or expand functionality, a transition to a new developer could become quite costly. It may lead to the system being abandoned in favor of something else.
The bottom line
There are so many things to consider when deciding on a CMS that we can’t possibly discuss them all. Why, we haven’t even talked about the initial cost of development. That could be a major factor which essentially makes the decision for you.
So, is one better than the other? I think it’s very much about the preference and skill level of the individual. Everyone has their own beliefs and theories.
Since I don’t consider myself a hardcore developer, I feel that WordPress allows me to create dynamic sites that serve my clients well. The fact that there is a community of people sharing their knowledge and code is a big plus.
I can see the benefits of a custom CMS, though. It seems like it would work best for a large development agency who uses a boilerplate as a starting point and dedicates employee resources to the platform. For individual developers rolling their own systems, it just feels like clients could be left holding the bag after you’ve gone.