About a 2 minute read.
My personal web site has undergone many technology changes. Its earliest incarnation was as a Geocities web site created with Notepad. Later, I recreated it with Microsoft Front Page 98. Some time around 2005-2006, if memory serves, I changed over to Wordpress.
Wordpress was a great platform for many years and I still use it for many sites. But there are several issues with Wordpress:
- It’s too popular for its own good. That is, since it powers about 25% of all web sites, it’s a big target for hackers.
- To combat hackers, there are many plug-ins one may use. Unfortunately, these can introduce their own problems, and also slow down a web site.
- The more plug-ins you get to protect your site, the more maintenance you have, as plug-ins must be kept up-to-date.
- This leads to using a plug-in like Jetpack, that makes it easier to manage plug-ins, but further slows your site.
- Then, you need more plug-ins for caching so your site is faster.
- Even with caching plug-ins, the site will still be slow and there’s another whole layer of management to optimizing the settings on the caching plug-in.
- With all these plug-ins, your site has a higher chance of breaking as some might conflict with each other.
It’s quite a rabbit hole. For a hobbyist site, it’s just too much. The last straw was when this site, which was my oldest Wordpress installation, was somehow consuming all the CPU/memory of my hosting instance and bringing down multiple of my sites. I’m pretty sure there must have also been a problem with my hosting company, but still, switching this site off got my other sites back up and running.
I had heard about Jekyll and other site generators and I decided to give it a try. There are many advantages I’ve found:
- Of course, speed it number one. You can’t be static HTML.
- I was already using Markdown to author my posts even within Wordpress, so it was easy to use that in Jekyll.
- It’s very easy to include HTML directly in my markdown files when needed.
- I have complete control over the HTML. I can change templates or hand code anything I need.
- My workflow is pretty simple. Open a site folder in VS Code on my local machine, make edits, generate the site with Jekyll Server, then git commit/push to master when I’m ready to publish. My hosting provider automatically deploys whenever master is updated.
- If I need to move the site, it’s very easy since little of the code is specific to a host. Currently, I’m hosting on Netlify, and using their form processor. If I move, I just need to change the form. Everything else will just work.
- Adding Disqus for comments was very simple as the theme I started with had already included an easy integration.
After moving this site to Jekyll and getting a comfort level with it, I’ve decided to move more of my sites to it.
UPDATE: This post was updated to reflect moving to Netlify, adding Disqus, and other changes I have made to my Jekyll site since the original post.