“Should we build a custom website or use a content management system like WordPress?”
I remember having that very conversation about six years ago. The team I was working with at the time had a custom-built site — yet they had no control over anything. Every time they wanted to try something new, even the simplest thing, they had to ask the contractor to build it. And he’d provide an absurd quote, there’d be haggling, it’d take forever.
It was a garbage experience for everyone. Our team couldn’t move quickly, and our contractor was wasting his time and skill on piecemeal work. We eventually made the switch to a proper CMS (WordPress), which the team continues to use to this day. But man, I wish we could’ve skipped the nonsense and made the leap sooner.
In hindsight, I know where we screwed up. We didn’t identify our requirements. We were flying blind. All we knew was our frustration — “We need more control!” — but we didn’t go any deeper than that. Big mistake.
Here’s what you need to know when you’re trying to decide what’s the best solution for you — custom website design or a CMS such as WordPress.
Write down your requirements
Writing down your requirements for a website creates a “guiding light” for choosing between a custom option and a CMS. You’re creating evaluation criteria.
Think about looking to buy a home. There are a lot of options out there. Do you want a house or a condo? How many bedrooms? Bathrooms? Do you need an office? How big should the living room be? What about the kitchen? What appliances do you need?
You get the idea. You could spend an insane amount of time looking through all of the options. And as you look at the options, you’ll inevitably weigh them out. Do you work from home? Well, you’ll probably want a dedicated office space. Does your family do a lot of entertaining? A large living room with space for guests, possibly a big kitchen, would be more important to you than it would be to someone who doesn’t host parties.
Who? What? How? Why? These are the basic questions to ask when you’re trying to determine functional requirements for your website.
The Who refers to the people using the website. These are your users. They could be staff, customers, general public, whatever. Identify all of them.
The What refers to the tasks they need to accomplish on the site. For staff it may be updating page content. For customers it could be making a purchase. (You can also think of them as goals for each of your user types.)
The How refers to the way in which your users accomplish their tasks. Will staff members update products through the website, or is there a separate system? Will they need to be able to do it on-the-go from a mobile device? Are customers going to make a purchase on the website, or are you going to send them somewhere else?
The Why refers to the motivation behind every task. Why do staff need the ability to update products? (Because our inventory changes regularly and we don’t automatically track it.) Why do customers need to be able to make purchases on the site? (Because we’re trying to expand our business beyond in-store purchases.)
Take stock of all of this. These are your functional requirements.
Pro tip: It might help to map out your functional requirements visually.
With custom software, you’ll need to build this functionality from scratch, regardless of how common the functionality is. A CMS can provide a full range of functionality via plugins, modules, extensions and add-ons.
User experience (UX) & design requirements
Can users find their way around your website? Where’s the navigation? What screens are they looking at as they complete the tasks outlined in the functional requirements? What are the major components of these screens? What are they telling users?
As you compile a list of requirements for your website’s user experience and design, look for other sites with layouts and UX that you’d like to emulate. (Crayon is a good source of inspiration.) Take note of what those other sites do well, and where they could be improved. If you’re artistically inclined, you could even sketch it out in an app like Balsamiq or go old-school with pen and paper. Repeat: There’s nothing wrong with pen and paper!
Once you’ve gotten the UX sorted, put some thought into the look and feel of the site. What’s the color scheme? What fonts will you use? What about imagery, like photographs, illustrations and other graphics? How do they fit with your UX requirements? This is where brand guidelines can come in handy.
Ultimately you want consistency between what you’re already doing – in store, online, wherever – and the new site that you’re building. That consistency is important because it makes the site feel integrated with everything else you’ve got going on.
Again, you’ll need to build out everything from scratch with a custom website. If you’re using a CMS, you may find pre-built themes or templates that meet your requirements.
Are there any restrictions on where you can or can’t host your website? I’ve seen this situation numerous times, when an organization has an existing hosting plan and doesn’t want – or doesn’t have approval – to look at alternatives.
Depending on the hosting plan you’re using, you might be limited in your custom or CMS software choices (based on what the hosting plan supports). It’s important to understand your hosting scope and limitations in advance.
What about security?
This is a big one. Using an SSL certificate to enable https:// on your site is quickly becoming a standard practice, regardless of what type of site you’re running. The importance of security increases greatly if your website holds sensitive information, like customer data, or if you’re handling payment transactions.
These are common scenarios, though, so if you’re running with a CMS you’ll find plenty of documentation and resources available to address security issues — such as hardening WordPress and securing Drupal.
Code quality is another major aspect of website security. Many hacks happen because of an oversight; something wasn’t written as securely as it should’ve been.
You may feel a sense of safety with custom code because it’s less well-known than popular CMS software like WordPress or Drupal, but that doesn’t mean it’s actually more secure. It just means that fewer people have tried to find an exploit. There are more eyes on popular CMS platforms, which means there are more people trying to exploit the code, but it also means there are more people proactively working to keep it secure.
Who provides documentation and training?
People don’t read instruction manuals. It’s boring. We want to jump straight into using things. We’ll turn to the instructions if we can’t figure things out and use it as a reference for troubleshooting.
But that troubleshooting is important. That’s why we need the manual. Ever been frustrated when something doesn’t work the way you expect it to? You know how that frustration increases tenfold when you can’t figure it out? Yeah. Don’t put your users through that experience.
If you choose to go with custom website software, you’ll need to write the documentation and training guides for everything. That’s a big time investment, and you won’t get it done in one go. As the software evolves – as features are added and removed, as the UX changes over time – these resources will need to be updated in order to stay relevant.
Do you have time for that?
On the flipside, with an existing CMS, the documentation and training material is ready to go. There are teams of people writing about everything in exhaustive detail. You’ll also find more resources elsewhere on the web.
Who handles maintenance and support?
What happens once the site is launched? Websites aren’t “set it and forget it.” They evolve over time, with updates and tweaks that reflect the changing needs of the users. Who’s taking care of those updates?
Likewise, what happens if something goes wrong? If something breaks, or if there’s a bug?
If you’re working with custom software, chances are that most of the knowledge and capabilities for making under-the-hood changes sit with the individuals who wrote the software. What happens if they’re no longer available? Are there other people who can step in and take over? How easily can that be done? How quickly?
With a CMS, the fundamentals are consistent across all websites using the CMS. The core functionality is the same, even if how it’s used differs. This makes it much easier to find people who can step in and take over with minimal fuss.
What are the required skills?
Building something custom? You’ll need design, development, testing, project management. If you don’t have those skills in-house, you’ll need to bring them in, in the form of employees or contractors. As mentioned above, maintenance and support is a must-have. You’ll need to keep these skillsets available for as long as you’re maintaining your custom build.
Using a CMS? You may need some of the above, you may not. Because more resources are available out-of-the-box (functionality, design, documentation, maintenance and support), you have more flexibility. For example, you might launch a WordPress site with a temporary theme, and then, down the road, replace it with a custom-built theme.
Is building custom worth the investment?
Depending on your requirements, implementing a custom website will take more time and cost more than building a site using a CMS. You may think that you’re building a website, but you’re actually building software from scratch.
If that’s not your core business, you need to seriously ask yourself if it’s worth the investment.
When does going custom make sense? If you’re building a sophisticated business around your website, and no CMS meets your precise requirements. This could be the case if you’re running a high-end online publication or software-as-a-service product. It’s less likely to be the case if you want to build a website for a traditional business.
Bottom Line: Know your requirements
- Functional: Who, What, Where, Why?
- UX & Design: What’s the experience like for users?
- Hosting: What does your technology support?
- Security: How secure does your website need to be?
- Documentation and training: How do users learn?
- Maintenance and support: Who keeps the website running?
- Required skills: What’s available to you? What do you need?
- Total Investment: What do you have the budget and time for?
Taking the time to figure out these requirements will put you in a better position to make an informed, objective choice between custom website design or a CMS like WordPress.
Also published on Medium.