I've been blogging since 2010. It's a hobby, so I only write on topics I care about. I write for stats, but that does not mean stats aren't important to me. KeesTalksTech is set up in a certain way to perform. Of course it uses SEO and other technique to attract attention (why write if nobody reads, right?). I mostly write for my future self, to remember what I did to fix a certain problem.
This article is an "about" page for this blog.
My Stack
I'm using the following stack:
- WordPress - just like 35% of the internet. I love the fact that it is very pluggable and adjustable. The Gutenberg editor enables me to focus on writing my articles in a structured way. Although a static page generator might improve speed, I like the fact that I can improve articles on the fly.
- Cloudinary Dynamic Asset Management - I want my feature images to have the best performance, that's why I offload them to Cloudinary. Setting it up is easy with their guide. And best of all: they have an excellent free tier (that I'm using).
- Cloudflare - I would not want to run without them. They protect against attacks and their firewall allows me to block bad actors. They cache like crazy and their Rocket Loader defers all JavaScript improving your Google Lighthouse score.
- Diqus - because I hate spam! And I don't want all those comments stored in my own database. I use the API to get custom alerts and most of the people in the community use it anyway.
- Google Analytics - because I don't have a better alternative, but I want to know which users are reading what.
- Unsplash - most of my feature images come from this excellent site.
Changelog
v3
- Taxonomy pages now contain sub navigation items: Submenu navigation for category pages.
- Stopped using widgets for the latest and highlights in the sidebar. Now using 2 shortcodes, check Shortcodes for simple post lists in WordPress.
- Implemented a scroll indicator, got the idea from How TO - Scroll Indicator. Super simple and easy to implement in a theme.
- Implemented a Tasty CSS-animated hamburger-menu button.
- I have a deployment pipeline that does minification:
- For CSS I use clean-css.
- For JavaScript I use Terser.
- HTML is not minified in my pipeline, but I use How to Minify HTML in WordPress Without a Plugin.
- To aid in lazy loading, I'm loading scripts and styles with JavaScript when they are needed. I do so for syntax highlighting and the lightbox.
To Theme or Not To Theme?
That's the question!
2016-2020: theme!
If you just want to focus on blogging and not on fiddling with WordPress: get a theme. I switched in 2016 to WPExplorer's Blogger Theme — which is still a free theme — and in December 2017 I switched to the payed Gillion theme. The main rationale: ease of use, a beautiful design out of the box and a lifetime of updates.
2020: performance matters
SEO never stops and Google will be updating its algorithms focusing on end user speed. To get better scores in Google Lighthouse, I needed to redo the stylesheets and JavaScript.
I removed a lot of "bloatware" plugins, unregistered stylesheets and scripts and started to use Oh My Google Fonts to improve Google Font loading. I had to create a child theme to start overriding entire pages.
I did a split of CSS files: critical CSS was inlined and the rest of the s
Dec 2020: bye bye Gillion!
Let's face it: with every update WordPress gets a lot better! Images are now loading=lazy
by default and contain srcset
attributes 😍. Instead of page builders I see myself using Gutenberg more and more.
To get a better performance I decided to get rid of as many plugins as possible
I'm not a PHP developer, so I wanted to switch to a barebones theme and learn it from there. I'm very comfortable with HTML, CSS3 and JavaScript, but I don't know too much about WordPress / PHP. So I up with the free theme and open source Blankslate by Tidy Themes. It is an unstyled, barebones HTML5 compatible WordPress theme. So I forked it and began building. I went live on the 23th of December.
