Menu

Author: Kev Quirk

Hi, I'm Kev and I'm a cyber security professional from England. I use this site to share my thoughts and ideas from time to time.

My Approach To My Career

Unfortunately, my father passed away in 2008 when he was just 47. Cancer is a bitch, folks. My dad was a roofer, and he loved his job. So much so that he was cremated in his work boots and jeans!

Before he passed away, he instilled one thing in me that has served me well throughout my career so far. He used to say:

Do something you love for a living and you will never work a day in your life.

Micky Quirk

I never really understood what that meant as a kid – to me, a job was a means to make money and money meant I could buy stuff, usually electronics and tech.

Boy was I wrong.

After rattling around in shitty dead-end jobs for a few years after college, I decided to do something with my life and I joined the Army. This is where I began to understand what my dad was talking about.

I loved my time in the Army. I got to see the world and I met some amazing people along the way. But tours of Iraq and Afghanistan took their toll, so I moved on after 5 years’ service.

Information Security

The military was my first exposure to InfoSec. I’ve always been interested in technology and geekery of all kinds, but there was something about InfoSec that took it to another level.

I’ve now been in InfoSec for over a decade and I still love my job. I work for a global bank, where I run the Cyber Incident Response function across Europe, Middle East & Africa (EMEA).

It could be a new piece of malware, an insider threat, system vulnerability, or 100 other things – it’s so interesting. Every single day is a different challenge.

Now I’m older and (hopefully) wiser, I understand exactly what my dad meant. He loved his job. The challenge of making a roof look perfect – especially if it was a difficult roof with lots of leadwork, like a Church – was utopia for him.

I’m glad to say that I’m in the same situation; I’m so lucky to be able to earn my living doing something I love.

Of course, there are good and bad days, that’s the same with every job. But I honestly cannot remember the last time I woke up in the morning and didn’t look forward to heading in to work.

Doing what I love means I’m interested in what I do, so it’s easy to go the extra mile. This in turn pays dividends in my career and allows me to progress.

It’s not just the industry I work in that has this effect on me though, it’s the people too. Many of my colleagues are world-class InfoSec professionals; the impostor syndrome is real when you work with these folks!

I do what I love, and most days do not feel like work. Thanks, dad.

Take The Leap

If you’re working in a job you’re not happy with, move on. Even if you have to take a step back in your career, it’s so worth it in the long run.

I know that’s easier said than done, I get it. We all have bills to pay and taking a pay cut may not be possible for some. But if you have the opportunity to do it, DO IT.

You never know when your number is up – my dad didn’t think that his would be up at 47, that’s for sure – so live each day like it’s your last. I’d hate to look back in 20 years and think what if?

I don’t really know why I decided to write this post. I was thinking about my dad, and his saying just popped into my head. So there it is anyway, my work ethic. Take from that what you will.

Miss you, dad.

This post is day 19 of my #100DaysToOffload challenge. Visit https://100daystooffload.com to get more info, or to get involved.

100 Days To Offload & Over-Saturation

I’ve been having a think about 100 Days To Offload, and I’ve decided to make some changes to the challenge.

The original plan for #100DaysToOffload was that participants will publish a blog post every days (or close to it) for 100 days. I knew from the start that this would be a difficult thing to accomplish, but that’s the point of a challenge, right?

Now that I’m nearly 3 weeks into the challenge, another issue has come to light that I hadn’t considered previously…

Over-Saturation

I’ve had no issues with inspiration for content – the vast amount of bloggers taking part has provided plenty of that. But 1 day isn’t a lot of time to produce a well-written post.

When writing a post, I usually come up with an idea, then dump it into my drafts. I then spend some time arranging my thoughts and fleshing the idea out.

Once I’ve done that, I write the post, do an initial edit, then come back to it a day or so later with fresh eyes to give it a second edit. Only then do I hit the publish button.

This isn’t feasible if I’m publishing 1 post per day, and it shows. Well, I feel like it shows anyway, as the quality of my posts has taken a dramatic decline in the last few weeks.

My stats don’t reflect that though. I’m still getting good readership numbers; but I feel I’m producing lower quality posts than my normal content.

Changes To The Challenge

With the above in mind, I’ve decided to make some changes to the challenge, which are live on the 100 Days website right now.

The rationale behind the whole thing is to challenge people to publish 100 posts on their personal blog in a year. That’s approximately 1 post every 3.5 days.

100 Days To Offload

So instead of 1 post a day for 100 days, I’m going to be challenge myself to produce 100 posts in a year. I think this is a happy medium between being difficult to complete, and providing quality content.

What About Me?

Some people appear to be having no issues with the #100DaysToOffload challenge in its original form.

If you want to continue doing 100 posts in 100 days, go for it!

The challenge is now to publish 100 posts in 365 days, but if you can do it in 100 days, more power to you. If you do it 150 days, 200 days or 300 days; it doesn’t matter.

What’s important here is to motivate people to write more. That’s all.

Conclusion

I said from the start that I hadn’t put much thought into #100DaysToOffload, and that the guidelines for the challenge are exactly that – they’re guidelines, not hard and fast rules.

I’m still enjoying the challenge, and I hope this change will ensure the challenge remains fun throughout.

This post is day 18 of my #100DaysToOffload challenge. Visit https://100daystooffload.com to get more info, or to get involved.

Git Lecture [video]

Someone on Twitter shared this video with me. It’s an MIT lecture from February 2020 that details the fundamentals of Git. The nice thing about this lecture, is that it doesn’t just talk about useful commands and using Git, but also the underlying makeup of Git.

As someone who is relatively new to Git, this was incredibly useful in putting the component parts of Git together, which really helped my understanding of the tool.

If you want to learn Git, this lecture is a great place to start.

This post is day 17 of my #100DaysToOffload challenge. Visit https://100daystooffload.com to get more info, or to get involved.

I Now Know How To use Git

A few days ago I wrote about how I have no idea how Git works. Since then, things have changed and I’m now basking in the warm orange glow of Git repositories.

What happened next?

After publishing the post about not being able to use Git, I re-posted it to Fosstodon (I’m all about the POSSE these days). I was half expecting some outrage and honest feedback about how I’m clearly an idiot.

That wasn’t the case.

Instead I got numerous responses to help me learn, both on Fosstodon and via email. The community response was amazing and inspiring.

I decided that if the community can come to my aid and offer to help me learn, the least I should is get off my lazy fat arse and actually give learning Git a proper go.

That’s what I did.

Learning Git

Ivan Tomica sent me a link to this brilliant website that reduces learning Git to simple, bite-sized pieces.

After 30 minutes I had successfully carried out my first commit and push from the Git CLI. I have to say, once the basics had clicked into place for me, the whole thing became much simpler to follow.

I’ve since been able to configure my local repositories to authenticate to GitHub using SSH keys. I’ve even been able to create a webhook that forces my web server to instigate an automatic pull (also via SSH) whenever one of my repositories are updated.

This means I can code changes to my theme or websites, do a git push and my they are auotmagically updated. No messing around with FTP.

Why didn’t I do this sooner?

Conclusion

In my disclaimer I say the following:

My thoughts and opinions change from time to time; I consider this a necessary consequence of having an open mind.

This is definitely one of those occasions. Over the last few days my opinion of Git has done a full 180, and I’m now looking at other cool things that can be done with it.

I’m even exploring static site generators!

This post is day 16 of my #100DaysToOffload challenge. Visit https://100daystooffload.com to get more info, or to get involved.

Creating A Notes Page

I added a notes category quite some time ago, but I’ve done some additional work to make my notes work a little better.

What are notes?

Notes are shorter posts that I write. They could include passing thoughts, or links to sites that I have found interesting. Basically anything that I consider noteworthy that doesn’t justify an entire post.

I originally got the idea from a couple of other blogs that I regularly read. Matthias Ott has his Notes section and Sara Soueidan has The Desk. Both of which are chock full of interesting posts that are generally short thoughts, but not always.

Previously I had the Misc category that was a kind of dumping ground for posts that didn’t fit anywhere else. After seeing Mattias’ and Sara’s solutions, I knew a notes section of my own was the answer.

The Options

I figured there was a few ways I could add a notes section to this site. I could add a WordPress plugin, or maybe a custom post type. Maybe I just create a new category called Notes and be done with it.

I’m a believer in the KISS principle. So I wanted something that was easy to implement and maintain. Adding another WordPress plugin was a non-starter; I don’t like adding plugins at the best of times, and for something as simple as this solution, it seemed unnecessary.

I toyed with the idea of adding a custom post type where there was an option for creating a new Note in the WordPress admin UI. This was very simple to do, but it went against the KISS principle – it was adding complexity for the sake of it.

The way I see, all my posts – whether they’re long-form technical articles, an IndieWeb reply, or a short note – are still posts. So adding a whole new UI for writing Notes seemed pointless.

Notes category it is then.

Custom Category Page

The category pages on this site have always needed a bit of love. Their feeds are different than the main homepage feed, and they just looked wonky. I took this as an opportunity to fix that.

If you look at one of my category pages, you will see that the page title is Category:[Name]. I didn’t want that for my notes page, instead I wanted to tweak the title and add and introductory paragraph.

Luckily, WordPress has this hierarchy within its themes where it will look for custom pages to render before it renders the main index.php file. That process looks something like this:

category-slug.php → category-id.php → category.php → archive.php → index.php

This theme is SUPER simple, so I don’t have a dedicated category page. I do, however, have an archive.php page. This is the file my theme uses to render category pages.

So I copied archive.php and renamed it to category-notes.php. I customised it to suite my needs, uploaded it to my server and hey presto! I have a custom Notes page.

URL Redirect

WordPress’ URL structure for categories looks something like /category/[name]. I wanted to be able to use https://kevq.uk/notes for my Notes page.

Again, keeping the KISS principle in mind, the easiest way of doing this was a simple redirect. To do this I simply added the following to the bottom of my .htaccess file:

# Redirect notes page
Redirect /notes /category/notes

That’s it. /notes will now redirect to the correct category page, so it’s pretty seamless.

Conclusion

The Notes page has proven to be very useful over the last few months, so creating a custom page and URL path for my Notes seemed like the right thing to do.

Categories also have their own RSS feed in WordPress, so I haven’t had to do anything clever for someone who wants to subscribe to just my Notes feed. Better still, the redirect also works for this too, so if you visit https://kevq.uk/notes/feed, you will be taken to the Notes RSS feed.

I think notes are a great way for bloggers to share quick thoughts and ideas. Thanks to Matthias and Sara for the original inspiration.

This post is day 15 of my #100DaysToOffload challenge. Visit https://100daystooffload.com to get more info, or to get involved.

Keybase, Zoom and Me

So if you hadn’t heard, Zoom have acquired Keybase. This has sparked a lot of consternation within the open source community and a lot of people have decided to delete their Keybase accounts.

I think most can agree that after the acquisition, there’s no more reason to trust the platform and thus to use it. What happens to our keys now is anyone’s guess.

Yarmo Mackenbach

My Use Of Keybase

I use Keybase for a number of things. I use it as a way to verify my online identities, I also use it as a place to host my my PGP keys so that people can easily email me encrypted messages.

We also use Keybase Teams as a means for collaboration across the Fosstodon team.

So I would class myself as a fairly heavy Keybase user.

Will I Delete Keybase?

Well, I could delete Keybase relatively easily. The keys I have stored on Keybase are different to the keys I use elsewhere. Therefore it’s no problem to delete them. It wouldn’t be a problem to generate a new key pair and publish my public key on this website.

I can also use this site as a means to verify my online identities, simply posting links to my various online profiles and domains.

Keybase Teams would be more difficult, but still straightforward. It would be trivial for the Fosstodon team to move to another platform like Mattermost.

But I’m not deleting Keybase.

At the moment, I don’t know what Keybase and Zoom are going to be doing. Zoom have had their problems, but I think that’s more indicative of their incredibly quick rise, rather than the potential that they’re inherently bad.

It’s only been a day since Keybase made the announcement, so it’s impossible to say what the future will hold.

Yes, Zoom could ruin Keybase. Yes, they could make the Keybase team focus only on the Zoom codebase. But they could also be mutually beneficial to one another.

There’s nothing on my Keybase profile that is sensitive or private (except my private key, but like I said, that’s not a big deal). So if it does all go south with Zoom, I’ll delete my account then.

Doing it right now, so soon after the announcement, feels like I would be cutting my nose off to spite my face.

So in short, I’m going to wait and see.

This post is day 14 of my #100DaysToOffload challenge. Visit https://100daystooffload.com to get more info, or to get involved.

Confession: I Have No Idea How To Use Git

I have a confession to make – I have no idea how to use Git. Pull requests, commits, branches (what the hell do trees have to do with it?) It’s all jargon to me!

So I have a Github account, I even have a handful of repositories on there. However, I have absolutely no idea what I’m doing. If I want to add some source code to a repo, I upload it via the web GUI and that’s it.

The Git Nightmare

I think that Git is another one of those tools that’s been made by extremely clever people, but introduces a barrier for entry.

Why can’t I just have a method by which I edit some code, click a button, and any new files are uploaded to the repository? What’s with all the staging and committing? It’s so bloody confusing.

With Git being so convoluted to get going with, I’ve found it almost impossible to learn every time I’ve tried. Now I know I’m not the sharpest tool in the box, but Git is just a black hole of confusion to me.

What Am I Missing?

Is there something obvious I’m missing? I see lots people doing all sorts of clever stuff with Github, and I’d love to get involved, but I just can’t get over that initial stumbling block of connecting all the dots and terminologies together.

Are there any resources available for people who are NOT seasoned software developers to learn Git?

I’m pretty lost here, folks.

This post is day 13 of my #100DaysToOffload challenge. Visit https://100daystooffload.com to get more info, or to get involved.

Adding A Scroll To Top Button Without JavaScript

I was using a plugin for my Scroll To Top button, but I’ve now replaced that with a simple HTML/CSS solution that doesn’t use any JavaScript.

I recently wrote about the plugins that I use on this site. In that post I mentioned the WPFront Scroll Top plugin that I was using for the Scroll To Top button on this site. I decided that was pretty lazy and relatively simple to fix, so the plugin had to go.

I wanted a simple solution that didn’t use any JavaScript, as I’m trying to reduce the amount of JavaScript used on this site. I’ve managed to come up with a simple solution that doesn’t need any JavaScript.

Adding HTML/CSS Scroll To Top

Implementing this solution is extremely easy. The first thing you need to do is add a blank hyperlink right below the <body> tag in your site’s HTML:

<a name="top"></a>

If you’re using WordPress, like I am, then you will need to edit your theme to do this. If you’re going to edit your theme, I’d recommend creating a child theme so that your changes aren’t overwritten when your theme is updated.

In WordPress, the opening <body> tag is usually found in the header.php file. Adding the blank link here will ensure that it’s automatically added to all of your pages and posts.

The Footer

Once you have done that, all that is needed now is to open up the footer.php file of your WordPress theme and add the following link to it:

<a href="#top">Back To Top</a>

This will add a link in your footer that references the blank link right at the top of your page. So when someone clicks on that link, they will be taken back to the top of the page.

Smooth Scrolling

That’s it, you don’t need to do anything else. You now have a working scroll to top button that doesn’t require any JavaScript. However, you may notice that when you click on the Back To Top link, the page just jumps straight to the top.

While this is working, it’s pretty jarring when the page just jumps from one end to the other. A better way of doing this, is to implement smooth-scrolling. This will simulate the user scrolling back to the top of the page, instead of just jumping straight there.

Smooth scrolling is also super simple to implement, and doesn’t require any JavaScript. Open up your CSS stylesheet and add the following:

html {
  scroll-behavior: smooth;
}

Note: not all browsers support scroll-behavior, but for those that do, it’s a better experience.

That’s literally it! This one piece of styling is enough to enable a nice smooth scrolling effect back to the top of the page, instead of that jarring jump.

Conclusion

I don’t know why I didn’t do this sooner, as it only took me 10 minutes to do. I just hadn’t thought of removing that plugin until I actually took the time to go through which plugins I has installed.

From now on I’m going to review the plugins regularly. I can then decide if any need to be removed, or replaced by adding similar functionality within my theme.

This post is day 12 of my #100DaysToOffload challenge. If you want to get involved, you can get more info from https://100daystooffload.com.

Recommended Read – A Biker’s Life By Henry Cole

A Biker’s Life: Misadventures on (and off) Two Wheels by Henry Cole

Book cover of "A Biker's Life" by Henry Cole

I finished reading Henry Cole’s A Biker’s Life: Misadventures on (and off) Two Wheels last night. I’m not usually one for talking about the books I read, as I get through quite a few of them. But I couldn’t put this one down; I read it in two days. I think that’s because Henry’s book resonated with me on a number of levels. Let me explain…

Fair warning, some of the subjects I’m going to cover in this post will be very personal in nature. I don’t usually talk about my personal life on this blog, but it is a personal blog, so why not?

Motorbikes

Now this one is obvious – like Henry, I’m also a keen biker. Unfortunately I don’t have a collection quite as vast as Henry’s, but the love of biking is in my blood nonetheless. I really liked Henry’s writing style throughout the book – he comes across as so genuine with a this is me, like it or lump it kind of tone throughout.

The book isn’t about bikes, per se. It’s more about the feeling of riding a bike and how cathartic that is for Henry. I agree completely – biking is my escape too. This can be rehashed to any hobby one finds cathartic – gardening, running, walking the dog, puzzles. Anything. So even if you have never thrown your leg over a motorbike, this book can still offer a lot.

Drug Addiction

Henry is a self-proclaimed “junkie”. Although he’s been clean of drink and drugs for over 30 years, he still classes himself as an addict. I knew Henry was an addict before I read the book, and I was expecting it to be covered maybe in a chapter or two, then we move on to the bikes.

Boy was I wrong.

Addiction is a constant vein throughout the entire book. And I love this. To an addict, it’s not a passing phase in your life. It is your life. I’m sure Henry has to deal with those addictive tendencies day in, day out. But he has put them to positive use in both his career, and his love of motorbikes. Inspirational, I think.

The undertone of addiction throughout A Biker’s Life is what really resonated with me. My older brother, Mike, was a heroine addict for many years. He’s clean now, but not by choice. Unfortunately, he wasn’t as lucky as Henry. Mike overdosed on the 26th October 2016 in the toilet of a needle clinic.

A security guard noticed that Mike hadn’t come out of the toilet for quite some time. They broke the door down, and there was Mike. Dead. They managed to resuscitate him, but the hospital estimated his brain had been starved of oxygen for approximately 9 minutes.

This has resulted in Mike having a significant hypoxic brain injury. The doctor told us that any more than a couple of minutes hypoxia to the brain can be catastrophic, so to not hold out much hope considering he had been out for approximately 9 minutes. When he first woke up, after 2 months in coma, he couldn’t even blink.

After spending 6 month in intensive care and another 3 years in various specialist care facilities, Mike can now walk (albeit with a frame), he can take himself to the toilet, he can talk and most importantly, he has his sense of humour back. Mike does still require 24×7 1:1 care though, as he can’t do many of things you and I take for granted. Like getting a shower, or feeding himself.

Mike and I
Mike (white t-shirt) and me in his care facility

In a way, I feel like I’ve lost Mike. Our relationship has morphed from a big brother, little brother dynamic; to me, the little brother, becoming his part-time carer. It’s shit. But he’s still here, and I can still have a laugh with him. So it’s not all bad.

This is why Henry’s book resonated with me so much. We still class Mike as being one of the lucky ones, as we could have lost him so easily. But he’s happy in his little bubble, and we’re so grateful for that. Plus, we know he’s safe, he’s fed and he has a warm bed every night. Which is the most important thing in the world.

I want to end this post with another quote from Henry’s book that actually brought a tear to my eye:

Now, obviously I don’t condone how they [addicts] get that cash together. But, at the same time, please don’t tell me that they are a bunch of thick, inconsequential idiots with no drive or ability.

Mike isn’t thick. He isn’t an inconsequential idiot. He’s my brother and I love him, addict or not. Thank you for an incredible book, Henry; you have lived an extraordinary life. It really is A Biker’s Life, hey?

Whether you’re a biker or not, I think a lot of people will get something from A Biker’s Life. It’s a highly recommended read from me.

This post is day 11 of my #100DaysToOffload challenge. If you want to get involved, you can get more info from https://100daystooffload.com.

Which WordPress Plugins I Use

WordPress is a fantastic ecosystem with hundreds of thousands of plugins available. I wanted to talk about the plugins I use and why.

WordPress plugins form an important part of many WordPress sites as they easily add features and functionality. However, on many occasions I’ve said that I’d much rather code features into my theme myself, than use plugins.

Adding plugins to your WordPress site always introduces more code, which in turn introduces more risk. WP Rocket have a great post about the risks of adding plugins to WordPress.

How Many WordPress Plugins?

In the WP Rocket post, they mention that the recommended amount of plugins for shared hosting is 0-5, and 5-20 for VPS hosting.

Those numbers are actually a lot lower than I was expecting – I really don’t think there are many WordPress sites that have 0-5 plugins installed. Some have hundreds. I use a VPS to host this site, so technically speaking, I should have no more than 20 plugins installed.

I currently have 13 plugins installed on this site, most of which are to do with the IndieWeb. As I’m still pretty new to it all, I’ve opted to work with the plugins for the time being, rather than code the features into my theme.

The Plugins that I use

Anyway, enough ramble. Let’s get on with talking about the plugins I use on this site. Here’s a list of the plugins that I use, along with what I use them for:

01. Classic Editor

Classic Editor replaces the new Gutenberg editor with the old editor. I use Guttenberg most of the time, but some of the post types required for the IndieWeb need the classic editor.

I didn’t really like Gutenberg when it first came out, but I now really like it and actually find the classic editor quite alien to use.

02. IndieAuth

IndieAuth is part of the IndieWeb. It allows me to use my own website as a single sign on endpoint. So I can use this site to sign into other services. Any site that uses OAuth 2.0 should work with IndieAuth.

03. IndieWeb

This is the main IndieWeb WordPress plugin. It provides the backbone of all things IndieWeb to this site, including microformats 2 support.

04. Post Kinds

Again, this is part of the IndieWeb (are you seeing a pattern yet?) This is the utility that plugs into the classic editor and allows me to create things like IndieWeb replies, likes and mentions.

IndieWeb reply using Post Kinds
IndieWeb reply using Post Kinds

Now I could quite easily create a standard post that looks just like the screenshot above. However, the Post Kinds plugin does a lot of clever stuff in the background that adds IndieWeb compatibility.

05. Semantic-Linkbacks

Yep, this is another IndieWeb plugin. Basically, what this plugin does is format Webmentions in a nicer fashion on the front-end of the website.

I’m not actually sure this plugin is required, as I format my Webmentions with CSS anyway. I need to do some playing around on my staging site, I just haven’t had time, but I think this plugin will likely be deleted soon.

06. ShortPixel Image Optimizer

Finally a plugin that isn’t related to the IndieWeb. This plugin came by recommendation of Nathan DeGrunchy on Fosstodon.

ShortPixel basically optimises images as they are uploaded to your WordPress site, and it works extremely well too. In my Oscar fish tank post from yesterday, I deliberately uploaded photos that were around 2.6MB n size. ShortPixel crushed them to around 100KB with no obvious reduction in quality.

ShortPixel is an excellent plugin.

07. Two Factor Authentication

This is a pretty straightforward one really. Two Factor Authentication adds support for 2FA TOTP passcodes, adding security to the login process.

Personally, I think 2FA should be a core part of WordPress, rather than relying on WordPress plugins, but alas it isn’t. Hopefully 2FA support will come one day, but until then I’ll use this plugin.

08. Updraftplus

Updraftplus is one of the best WordPress plugins for backing up a site. I take regular server level backups anyway, but having additional website level backups doesn’t hurt.

I’ve been using Updraftplus for years and it has pulled me out of the shit a number of times. I personally pay for the SFTP plugin, so I can offload my backups to my Synology via SFTP.

09. Webmention

Webmention is part of the IndieWeb too. It’s kind of like a next generation WordPress pingback. Basically it’s the mechanism by which sites within the IndieWeb send messages to one another.

10. WebSub/PubSubHubbub

Yet another IndieWeb plugin. PubSubHubbub/WebSub (stupid name, I know) is a simple way to let people know in real-time when my site is updated.

Subscription requests are relayed through hubs, which validate and verify the request. Hubs then distribute new and updated content to subscribers when it becomes available.

11. WP Rocket

WP Rocket is the best caching plugin I’ve ever used. It’s not free, costing $49/site/year, but it’s so worth it. This plugin is integral to many of the optimisations I’ve made on this site.

I also use WP Rocket to integrate BunnyCDN into this site.

12. WPFront Scroll Top

This is a simple one really, as it adds the “back to top” icon on my pages and posts. I really need to take some time to integrate a back to top link into my theme, so I can get rid of this plugin.

I have now replaced this plugin with a simple HTML/CSS solution in the footer.

13. Yoast SEO

Yoast SEO is an excellent SEO (Search Engine Optimisation) plugin. It’s a great way of tracking not only your SEO goals, if you have any, but also the readability of your posts too.

Yoast SEO has really helped to improve my writing over the years.

Conclusion

As you can see, the vast majority of the WordPress plugins on this site are related to the IndieWeb.

I think there are definitely some plugins I can remove from this site, which I will get around to eventually. In the meantime though, I don’t think 13 WordPress plugins is an excessive amount. How many do you have?

This post is day 10 of my #100DaysToOffload challenge. If you want to get involved, you can get more info from https://100daystooffload.com.