Your mileage may vary with WordPress, but here's what I learned after switching to plain HTML.
I was always curious about web development since I started my first job as a junior marketer, but the web was a complete mystery to me. All I did was just inputting stuff into the blog post or the landing page and that was it.
WordPress came with a curse and a blessing. It allowed me to get into SEO and web very fast, but that meant I didn't have to learn the basic technical stuff to start making websites. Over time, getting into SEO pushed me into learning the technical stuff as well.
I've been working with WordPress for 6 years now and I made around 15+ websites with it. And, although I like WordPress, I've always wanted a plain HTML site where I can see and customize everything. After multiple failed attempts at "coding" a website, I finally did something I liked.
Why I Was Using Wordpress
WordPress has always been my go to "Website Creation Tool", since every site I made required integration with various tools, tracking, a blog, tons of pages etc. But lately, I discovered that some of the websites I made didn't actually need all the WordPress bloat that is a side effect of serving a broad range of people/businesses and non-developers.
What's Wrong With WordPress For me
Wordpress is probably very useful to an agency, or a freelancer, where you're incentivized to make your own theme and plugins. But for me, a person who really doesn't want to pay for plugins and themes, and doesn't know a thing about PHP, the upsides weren't really there. (at least not for a personal static site)
To summarize:
- Unnecessary bloat for static websites
- Limitations of free themes and plugins
- Increasing usage of custom JS and PHP snippets*
*which gave me more confidence about making a site from scratch
Unnecessary bloat for static websites
When building websites, I always try to use <100kb WebP images, have as few elements as possible in the builder, and view every plugin as poison to the speed of the website. Still, if I don't have LiteSpeed Cache enabled, the website would get less than 50/100 on PageSpeed.
I don't know how many hours I spent on Lighthouse so I can get a 100 speed score. I tried everything; read through all the errors (or suggestions) Google gave, researched them extensively, considered buying plugins, working with freelancers, everything.
It's very recently that I've seen an actual 100 score (or very close to it) on a WordPress site, and you guessed it, I used AI to fix specific errors and make optimizations with custom JS and PHP snippets (which I'll get to later).
This made me understand that serving static HTML pages through PHP is not the best idea for truly static websites.
Limitations of Free Themes and Plugins
I started to notice that I've been increasingly asking a chatbot to write custom JS or PHP snippets for specific stuff I needed rather than using plugins. I used to either accept the limitation and move on, or try to work around the plugin's limitations.
A recent example of this:
- Need a two-step form
- Find a plugin that does it
- It doesn't let you customize a bunch of things
- Try to work around it
- Stuff breaks
- Find a new plugin
- Still requires Pro for features I need
- Ultimately decided to make the plugin from scratch with AI
Before AI existed, this would've been either a $100/mo purchase for the company, or a one-off freelancer contract which could have taken up to a week.
Plugins are fine, but they are very limiting if you are not purchasing the Pro versions of them which I think I've never done in the last 6 years.
The plugins and the theme I usually go for that have good enough free versions:
Increasing usage of custom JS and PHP snippets
I already mentioned that I used custom snippets (not the plugin, I did it from functions.php with a child theme because plugins are poison(!)) for PageSpeed scores and building/modifying plugins. I did use them for other simpler, smaller things it wouldn't have made sense to use a plugin for.
The overall impression this gave me was: if I can write this much code with AI, why not make it from scratch where I can control everything. Which is what I did.
Bonus: the "must be something in the source code that is preventing/causing this" feeling
This one was always looming over my head. I write a piece of CSS in the Customizer, it doesn't work. "Of
course it doesn't work, must be something in the source code. Just use
!important."
I guess what I meant by "source code" was the theme's rules that I couldn't change. You could change most things, but it was like this untouchable thing for me that was limiting me at every move.
What I Actually Built
I had so much fun building a plain HTML site with Claude because it was easy. I still had to put in hours to get the exact design I wanted, tweak stuff myself (because even Claude makes mistakes), add features and learn how Git works.
While Building It
One difference from pre-AI was, it was more fun, because I wasn't stuck trying to understand why
grid or flex wasn't working properly or why the menu was not closing on click,
frantically browsing Stack Overflow. I just unloaded that to Claude while I was working on how I wanted
the text to sound like or how I wanted the typography to be etc.
Why Plain HTML
I hate how slow a modern web experience can be despite the hardware and the software opportunities we have.
I never got the idea behind using Next.js or React for a static website, and I heard grievances from developers online. These feel like the equivalent of using Unreal Engine 5. It looks good, it's cutting edge, but in the wrong hands the performance won't be pretty.
So, plain HTML it is.
I also wanted to differ from the "purple gradient, smells like AI" websites that are common. So, I tried my best to come up with something that wasn't that.
Typography
I actually spent some time on this and found that serif fonts were better for readability, thus BespokeSerif for body text. I also wanted huge titles for my blog posts, I went with Playfair Display for that. And I of course needed a sans font for the home page and other stuff like a small note or a disclaimer. For that, I chose Satoshi.
I'm also self-hosting these fonts and using only the necessary weights for better performance.
Design, Colors and the Layout
I don't think the design of this website is anything unique, but I didn't choose a specific layout I found on the internet and went with that. I tried to implement stuff that I personally liked and wanted to see more of while not sacrificing performance.
When it comes to colors, I tried to keep it soft and accessible. I checked the guidelines on contrast ratios etc. However, I can still change the color scheme at a moment's notice!
To Each Their Own
I haven't touched light mode since 2018 probably and I actually changed my mind on that. I used to think it was insane to use light mode and now I personally use it in the mornings since dark mode feels a bit off earlier in the day. So, I decided to add a theme toggle. It defaults to your system preference and has options to select light and dark modes.
The Results
Well, the website gets a 100 on every metric on PageSpeed now, which is amazing. I had tons of fun building it and I am actually proud of what I built. So I would say it's a net plus!
This doesn't mean you can't get these scores on WordPress, or that getting all 100s is the main goal of optimizing a website, but it was a nice weekend project that feels like "I made it!" rather than "I fought WordPress and WordPress won".
Will I Keep Using WordPress
In short, yes.
For more context, I think WordPress is still very useful for projects where you need multiple people collaborating. My reasoning is:
- Almost everyone in the field is familiar with it
- It's free*
- Requires very little setup at first
- Integration with most tools is fast and easy
- It's old, so people already had the exact issue you're having (easy to Google issues)
*If you know what you're doing, you don't really need to buy anything for WordPress.
Also, I haven't tried builders like Bricks, Oxygen or Divi. They're supposedly better in every aspect, but that would go against me trying to keep the cost of using WordPress as low as possible. If in the future I decide to become a full time WordPress Developer, I might try them out.