I’ve used WordPress for many years and I wanted to understand the differences of where one might shine over the other. There’s also a challenge for you towards the end of the video, so don’t miss that.
Full video script:
Having spent nearly the last 10 years of my life using WordPress every single day, I got to wondering: Is there something I’m missing by not hand coding?
Searching this topic leaves you with an unsatisfying answer: It depends.
To find out, I hand coded a website from scratch to see what the experience is really like for a typical client site. I wanted to know if I could even do it, and hopefully come out the other side with some answers for us both.
Hand coding a site is a bit abstract for me. I haven’t done it since my 6th grade year of school. And we used dreamweaver then. RIP Dreamweaver.
Having been deep in WordPress for nearly 10 years, I’ve slowly learned the typical web programming languages, almost as though I was dropped on a tropical island with people who all spoke a language I didn’t.
Brute force learning has amounted to a decent handle on HTML, CSS, and PHP, enough that I at least felt confident to code a simple personal website for myself.
This is the site I built and it really is live right now. You can go see it at jonathanjernigan.com.
It’s nothing out of this world, obviously, but the goal wasn’t to break the internet.
I did do some things I’m really proud of like a sticky nav that detects what section you’ve scrolled to, and other little things like that.
The reality of what most of us do with WordPress is create client sites containing a few different pages, maybe a blog, and sprinkle in some dynamic content.
I’m obviously not blind to the fact that most sites need a myriad of plugins, but most of these things are doable with manual code as well.
And then right away the limitations of what I was building were hitting me.
“What if I want to add a blog to this website?”
Well, I legitimately have no idea how I’d do that. Do I create it with static HTML elements? Is there some kind of code library I drop in? Is it totally manual?
This has never even crossed my mind as a long time WordPress user.
Need a blog inside WordPress? It’s right there!
I didn’t even wanna broach the subject of contact forms on this site.
The Experience of Hand Coding
I will say that the experience of forcing myself to hand code this site was incredibly rewarding.
There are so many things I vaguely understood, but take for granted when using WordPress. Things that I needed to look up to get exactly right when hand coding.
One example is the proper formatting of <meta> tags such as charset and viewport scale, small pieces of code that have a big impact.
Another thing that struck me are all the things you’re not forced to think about with WordPress and page builders:
- How to link stylesheets
- I wrote it from the top of my head like this <link rel=”stylesheet” src=”styles.css”>
- but the proper code is actually like this: <link rel=”stylesheet” href=”styles.css”>
- Manually defining your root styles for col or, typography, and fonts instead of using a visual interface like GeneratePress theme customizer
- Finding little mistakes that broke my layout like typing “x” instead of “px”
Even with 25 different browser tabs open as I closed up shop for the night, the site was 90% done in about 2.5 hours one evening while sitting on my couch.
Sure, I could’ve done it in the same amount of time, if not faster, in WordPress but I haven’t felt a feeling of accomplishment like that in quite a long time.
The other cool benefit is that everything is unbelievably fast because, by the very nature of hand coding, you’re starting from nothing. You’re starting from a blank HTML document and a blank stylesheet. There is no bloat because you’re only putting in exactly what you need and nothing more.
The entire site I built including all images is just 419kb with only basic image optimizations.
Like I already mentioned, it’s unbelievably rewarding to see the finished product and know you were responsible for every piece of what you see.
The Case for WordPress Still Stands
With this site live, there are countless things that still need to be considered when making a case for hand coding vs WordPress.
It’s simply unarguable that it’s easier to manage content in WordPress. Things like the media library, adding pages in a single click, the list goes on.
Contact forms open up an insane can of worms that you just don’t have to think about with a plugin like Gravity Forms.
Small quality of life things you’re going to want like smooth scroll and sticky headers are often just a single click in most page builders these days. No extra googling or testing code.
The most obvious benefit is that WordPress gives you a visual interface to work with. Most likely your clients or someone else non-techy will need to be able to work on the site. This is often a requirement for typical client projects and WordPress excels in this scenario.
And perhaps most importantly of all, if your coding chops aren’t the greatest in the world, there’s probably a plugin ready to help pick up the slack.
So, what will I use moving forward?
For the vast majority of us, WordPress comes out far ahead. We aren’t building a Facebook killer or an Amazon clone. We’re building standard small business websites for clients.
I don’t want to be in the weeds of the code all the time. I do love splashing out some code, but it’s not a burning desire to write code all the time. It’s great to know I can do it and that was part of the goal for this video – to answer: can I do it and is it worth it?
The answers were: Yes I can do and is it worth it – ehhhh.
I think it’s worth it to do this from start to finish at least once.
It gives you a new appreciation for the tools. It works your brain muscles in a fun and interesting way. You feel damn proud when it’s live and you know that was all you.
So the question really becomes: Do you want to learn the code? Do you want to be constantly involved in the nitty gritty? Then hand coding is the clear winner.
Can you take a hand coded site further than WordPress? Absolutely.
But at the same time, there’s a reason that WordPress powers over 40% of the entire internet.
So for me, I’ll still be using WordPress, even for simple sites. I love working with it because the benefits still far outweigh any drawbacks.
I want to build fast, effective websites and my current tools of choice will remain WordPress, GeneratePress, and GenerateBlocks.
My Challenge to You
This was an extremely fun experiment for me, so I’m going to leave you with a challenge.
Hand code your own site and then send it to me. I want to see it! I’m serious, send it to me or drop it in the comments here.
It doesn’t have to be glamorous and it doesn’t have to be perfect, but just get out there and do it.
I promise you’ll come away feeling immensely proud and you’ll have learned a great deal. You’ll also find a new appreciation for the code you interact with on a daily basis.
So tell me in the comments below, what’s your tool stack of choice?