
Building a website is not just about deciding how it’s going to look, how it’s going to function, or what content it’s going to contain. You also have to decide how you’re actually going to build it. A kid might say they want to build a castle, but the process and result can be quite different depending on if they choose sand, Legos, or pillows.
When building a website, you have 2 general directions you can choose from: hand code or use a content management system (CMS). There are pros and cons to both directions so one is not necessarily better than the other. You must evaluate your situation and decide which one works best for your needs.
hAND cODING

Hand coding is the traditional approach to web development in which you always write the HTML and CSS code of your website from scratch. HTML stands for HyperText Markup Language and it’s the most common language used to develop and design web pages.
For reference, if you’re part of a certain generation like myself and had a MySpace then you’ve probably played around with some basic HTML. It’s the vehicle that allows us to add style and content elements like text, photos, and video embeds to web pages.
CSS stands for cascading style sheets. It’s a language that helps to explain to browsers how they should display the HTML of a web page. CSS specifically communicates the design and layout of a page and different variations of it for different size screens. Elements you see like fonts and colors are determined by CSS, which is included in a website’s HTML.
Advantages of hand-coding include:
- Having complete control over your website
- Ability to create custom solutions that can help with any specific requirements you have
Disadvantages of hand-coding include:
- The need for extensive coding knowledge
- More time-consuming and expensive process, especially if you need outside programming help
- More difficult of a process to change content, edit and build pages, and make other regularly needed updates
Content Management Systems

The web development process is already time-consuming and a lot of work. You must do research to understand your users and competitors; define the scope and goals of your project; plan your site by creating a sitemap and wireframes; decide on the design of your site with a mood board, color palette, sketches, and prototypes; and test your decisions with users. A CMS can help make the build phase of the process and the regular upkeep of your website easier than hand-coding.
A CMS is a piece of software that helps you create and maintain digital content. Most CMSs have a What You See Is What You Get (WYSIWYG) interface so users can view in real-time the content they are building as it would appear once published. Many content management systems also provide pre-built templates that users can apply to their sites to save time and effort in design and build. Well-known CMSs include WordPress, Squarespace, Wix, Drupal, and Joomla.
Advantages of using a CMS include:
- Little coding knowledge required – CMSs allow for custom HTML and CSS if you want, but coding is not a required skill for use
- Ready-to-use templates
- Less expensive build process – you do not always need outside help from a programmer
- Faster time to market
- Easier process for design changes, content updates, and edits
Disadvantages of using a CMS include:
- Less access and control over the code of your site
- Possible limitations in finding custom solutions for specific requirements you have
Which to choose
If you are well versed in coding or are a tech company that naturally has the internal capabilities, then hand-coding may be the right direction for you to choose. You may be able to create an outstanding site that’s unique and that will have competitors green-eyed with envy.
However, if you are just depending on technology to help you connect with users and don’t have specialized web technology expertise, then it’s probably best for you to build and manage your site with a CMS. Even large well-known companies with the resources and talent to build their own sites use CMSs so there’s no reason to not embrace this direction.

As the ever-growing integration of technology in our lives continues, though, there’s a new option on the horizon: digital experience platforms (DXP). These bundle CMSs with other tools like cloud hosting, workflow management, eCommerce functionality, and analytics, as shown above.
A DXP allows you to push content to users outside web browsers where traditional CMSs alone struggle, such as to wearable tech and to voice devices. In doing so, you can better understand and streamline the digital experience you offer users across all platforms. Brands such as Adobe, Episerver, Oracle, and Salesforce all offer DXP products now, so this is something to consider for the future if you are in a tech or digital content role at a company or organization.
Whichever direction you choose for your next web project just make sure to choose it early in the process. That way you can plan your project timeline, budget, and resources accordingly and launch a product you are proud of and that will meet your goals.
References
Digital Experience Platforms. TrustRadius. Retrieved from https://www.trustradius.com/digital-experience-dxp
HTML Tutorial. W3Schools. Retrieved from https://www.w3schools.com/html/
Kolowich, L. (2020, May 29). Web design 101: How HTML, CSS, and JavaScript work. HubSpot. Retrieved from https://blog.hubspot.com/marketing/web-design-html-css-javascript
Lawson, K. What is a digital experience platform? DXP vs CMS vs WEM. BloomReach. Retrieved from https://www.bloomreach.com/en/blog/2018/01/what-is-digital-experience-platform-dxp.html
Saikia, S. (2019, November 19). CMS vs hand coding websites. Soda in Mind. Retrieved from https://sodainmind.com/blog/cms-vs-hand-coding-websitesalt-there-was-a-time-not-so-long-ago-when-building-a-half-decent-seemed-like-some-strange-alien-skill-shrouded-in-mystery-it-seemed-that-the-only-way-you-could-set-up-your-h/
Saltis, S. (2020, April 7) CMS vs HTML: Why use a content management system.Core DNA. Retrieved from https://www.coredna.com/blogs/cms-vs-html