Towards the end of 2018, I had the urge to “tidy up” my mental space to make room for Markd, and I decided to close down the numerous websites I’d had created and accumulated over the years.
For the sites that I do want to keep, I wanted them to be smaller sites, simpler projects.
For years I’d been using Wordpress for websites. It’s a powerful CMS that allowed me to get set up and running quickly. The massive plugin eco-system meant I could add the latest features fo these sites without technical knowledge. The themes let me create websites that looked nice without worrying about designing them myself.
But it also came with a cost. Plugins and themes constantly required updating. And dealing with spam was always an issue for some of my bigger sites. Maintenance became a bit of a headache, and with so many different plugins for different sites, it got overwhelming.
Inspired by my Markd co-founder Mike’s blog post about moving to static sites, I started looking into turning this blog (along with my GMAT book website) into static websites. I don’t need a lot of features for these sites, so I can do without the massive WordPress plugins ecosystem. Design-wise I only wanted something clean and simple. Static sites also load faster, and new offerings like Netlify makes it easy to build, deploy, and launch sites.
I decided on Jekyll relatively quickly for its integration with Github Pages. Although I quickly move the site to Netlify, it gave me a safe playground to start the projects with.
It’s certainly a bit more technical compared to setting up Wordpress sites. However it gave me a chance to learn the basics of how websites actually work. I had never worked with Ruby before so it’s also quite a good introduction to it. Although I have to say I mostly just followed tutorials without learning the fundamentals. :p
- Use this plugin to export your WordPress pages and posts
- I struggled with themes and plugins when hosting on Netlify. They aren’t automatically /installed/bundled, unlike on Github, so it takes a bit of trial and error for me. Read Jekyll’s documentation on plugins here (note that for option 2, after adding text to _config.yml, there’s an extra step below which I missed the first few times I read it. )
- I can’t believe Netlify is free. FREE. It’s an incredible service. AND FREE!
- I moved away from Cloudflare to use Netlify’s domain manager. So far it’s been quick and easy. Great for setting up https as well.
- Remember to double check on your Google Search Console to make sure Google can still crawl your sites properly, and set up redirects when you need to.
- Actually, setting up redirects took much longer than I thought it would. But mainly because for brandonwu.co I had a few different domain alias and broken links.
- I set up forestry.io on a few of these sites. However I’ve found it to be easier for me to write with Visual Studio Code + Git to publish. I draft blog posts in markdown on whatever markdown editor I happen to have on the device I am writing in. (I should write another post about how I write notes/drafts and sync them)
- One other huge benefit is to be able to batch-edit pretty much anything I need to. Just Find and replace in Visual Studio Code!
The only downside so far is not being able to publish on mobile, since publishing requires committing changes to the repository. I probably could use forestry.io to do it but I haven’t explored that option.
I am very happy with the result. The sites load very fast, and so far appears simple to maintain. It’s also nice to have so much control / customisation on the sites, a degree of freedom I never felt with WordPress sites. Not having to rely on a 3rd-party plugin for every little thing is liberating.
I’d certainly recommend looking into static sites if you also feel overwhelmed by a more traditional CMS.