Goodbye Wordpress It Was Fun
Wordpress is by far the most popular CMS in the world—64.1% of all CMS based websites are built with it. In fact, 39.6% of the entire Internet is powered by Wordpress. That's absolutely incredible if you think about it.
It's a great CMS platform for many different types of websites, but particularly if you're going to run a blog style website. I personally have been a very happy user of Wordpress on many of the websites I've created over the past 10 years.
It's easy to manage, especially for the non-technical users. If you ever need to add a feature that doesn't come built-in out of the box, chances are there's a plugin for that. There's a plugin for just about everything.
Wordpress' ease of use was one of the major reasons why I've always used it in the past. However technology has changed and recently I decided to finally say goodbye to Wordpress here on my personal blog and completely delete it.
The Downfalls of Wordpress
Don't get me wrong, Wordpress has given me a lot over the years. I've put thousands of hours of work into the websites I've built with it. But as they say, everything comes to an end at some point.
It's Slow and Vulnerable
A major complaint of mine is that Wordpress is slow. The plugin ecosystem of Wordpress is great and all if you need to quickly add a feature to your site, but it's also one of the major downfalls.
As mentioned, there's a plugin for just about everything. If you need to change your CSS styling then you can install a plugin. Want to collect email form submissions? There's a plugin for that too.
Sure, not every change or feature needs a plugin, but sometimes simply using a plugin is by far the easiest way to get your site how you want it.
There are both free and paid plugins you can use on your website. Many of these plugins are made by third-party developers and with that comes inherent security risks. Yes, even if you pay for the plugin. It seems like just about every week there's another Wordpress vulnerability and many times they’re related to plugins.
When you add all these plugins and features to your website it starts to slow down. We all know how important it is these days to have a fast website if you're going to get good search engine rankings.
Plugins aren't the only thing that makes Wordpress slow either. Since it requires PHP (server-side code) and a database to function, it's naturally slower than a website could be. For me, just navigating through the Wordpress backend to post a new blog post takes so long I lose motivation to even write the post at all.
It's Costly
While you can run a Wordpress website for $5 - $10 per month, many times it'll cost you more than that based on the site's traffic volumes and number of paid plugins you're running.
Over the years, I've ran Wordpress sites from a few thousand visitors per month to millions of visitors per month. The low traffic sites obviously didn't cost much to host, but once you start attracting a lot of site visitors you need good enough server to handle it all.
I can't count the number of times an article of mine went viral and it either crashed my server or caused it to slow to a halt.
It's Overkill
Wordpress is truly amazing to get a CMS powered website up and running as fast as possible, but for many types of websites it's just simply overkill.
Take a personal blog like the one you're reading right now for example. The content isn't updated enough to justify making database calls each time the site is loaded. Once the content is written it more or less stays the same forever.
Content management systems like Wordpress have simplified publishing content online, but for content sites like I typically make it's too much.
The Web Returns to the Roots
Over the past few years the technology to create websites has drastically changed. Javascript frameworks like React, Vue, Angular, etc. have become extremely popular. These frameworks are making it easier than ever for anyone to generate fully static, performant HTML/CSS/JS websites.
Ironically, the web it returning to its roots of static generated pages.
The JAMStack Rises
About 5 years ago static websites started to gain back more popularity. A small group of developers came together and said "static sites don't have to be static" and they coined the term JAMStack.
The JAMStack is a bit hard to explain, but in a nutshell it's Javascript, APIs, and Markdown; the main components of modern static websites.
- J - client-side Javascript
- A - reusable APIs
- M - pre-built markdown
When most people think of static websites they think of simply HTML pages where the content doesn't change, but that doesn't have to be the case.
With the JAMStack you can have a static website that's dynamic because it can fetch content from APIs (or even databases) that can be accessed over HTTPS by the client.
Serverless for the Win
The concept of serverless computing has been around for over 15 years now, but it’s only really started to make its way mainstream in the last 5 years or so.
Some serverless platforms, like AWS Lambda, can be very complicated to use if you don’t have some kind of development experience. However, there are easy to use (and super cheap) platforms like Cloudflare Workers that give anyone with some basic Javascript knowledge (or other coding languages) the ability to code backend services with ease.
In the last couple years I’ve made a couple of JAMStack websites that have made use of serverless functions. The “services” are simple, like accepting form submissions or validating email addresses.
I’ve been able to build the websites exactly how I want them, without any extra cost but the time it takes me to write a few lines of code. In my eyes there’s not much point of having a server running 100% of the time when you really only need it 5% of the time.
My Blog, Rebuilt
At the end of 2021 I decided that it’s finally time that I say goodbye to Wordpress and rebuild this very blog you’re reading right now.
I went with Eleventy (11ty) as the static site generator, Notion to act as my CMS, and Cloudflare Workers to power any backend service I need.
I keep all of my content organized in Notion anyways, so I thought to myself why not use it as my CMS too? Now I no longer need to write the post in Notion and then copy/paste it into Wordpress. I just simply write the post in Notion and trigger a rebuild on my site and within 1 minute the new content appears on my blog.
The hardest part of making my site like this was making a custom connection to the Notion API, as I couldn’t find one for Eleventy that someone had already made since the official Notion API hasn’t been available for too long.
I have to say I’ve very happy with how it all turned out.
By switching to this new blog stack I’m able to host my blog completely free instead of the $1,000+/year it was costing me to run Wordpress on a server with the various plugins.
I may still use Wordpress for some projects in the future, but for now I’m saying goodbye.