SEO 101 for Software Developers
Tags: blogging, career, beginners, learning
Published: 2023-12-10 12:35:05

A lot of developers get put off with writing blog posts because they don't think anyone is going to read them. 

After all writing is a big time commitment. It takes me a good 2 - 3 hours to write this newsletter every week and I can't guarantee you are going to read it. I am sure many of you just delete it as soon as it comes in, before eventually unsubscribing. 

That is just the nature of writing and sharing online. Not everyone is going to want to read everything that you write.

Imagine you are writing a blog post about a problem you solved at work or something new that you learnt. I can't imagine everyone is going to want to read that, but it will be very useful for the select few who are having the same problem or learning the same thing. 

The problem is there is so much content out there that the chances of someone stumbling across your article is going to be very slim.

## What is SEO?
This is where Search Engine Optimisation or SEO comes in.

Now SEO gets a bad reputation for trying to scam users into visiting websites full of adverts. Certainly in the early days of the web, it was possible to convince Google that your article was relevant by stuffing it full of keywords that people might be searching for.

Luckily those days are behind us and the main way to get high rankings on Google, is to write good useful content. 

Unfortunately there are so many people writing content that no matter how good your article is, it is still incredibly difficult to get good rankings in the search results.

SEO aims to help with this and has 2 main purposes:

1. Creating a good experience for your website visitors.
2. Helping people find your content.

Those aren't bad goals to have if you plan on sharing your writing online.
## Creating a good experience for your visitors
In order to keep people continuing to use Google, they need to make sure that users can get the answer to their queries as quickly as possible.

A big part of that is to make sure that your website is fast and accessible. This part of SEO is really the bread and butter for web developers. 

We all want fast websites that are easy to use for everyone.

This includes:
- Using valid HTML and best practices for website layout
- Making sure your page loads quickly
- Making sure your website colours and contrast make text easily read
- Ensuring page elements are large enough to be tapped on mobiles
- Responsive layouts

There are a bunch of free tools available to check how your website scores:
- [PageSpeed Insights](https://pagespeed.web.dev/)
- [GTmetrix | Website Performance Testing and Monitoring](https://gtmetrix.com/)
- [Website Speed Test | Pingdom Tools](https://tools.pingdom.com/)

One thing that is worth remembering, that has caught me out, is that you need to test that your website is still passing on a regular basis. This is especially important if you have changed anything about your website design or content since you last tested.

Admittedly it has been a while since I tested my own website, and it seems embedding some of my YouTube videos in my pages is slowing them down.

For example, my post on [Git Flow vs GitHub Flow](https://www.alexhyett.com/git-flow-github-flow/) has the following results:

- **Google PageSpeed:** Passes on desktop with decent results but fails on Mobile. 
- **GTMetrix:** Grade A 99% performance, 95% structure.
- **Pingdom:** Grade C due to the 2.1MB page size. 🤦🏻‍♂️

It's not terrible, but things have definitely slipped from when I first created the website. I plan on redesigning my website next year, so I will make sure I take all of this into account.

## Helping people find your content
If you are a developer then you are probably pretty familiar with testing websites for performance and accessibility. Having a fast website however isn't enough to ensure people find your content.

For most people, their experience of sharing content online looks like this:
1. Spend several hours writing their article
2. Publish it online
3. Share it on social media
4. Article gets viewed by their own followers and maybe shared a couple of times
5. Views eventually die off to only a handful a month
6. Start pondering their life choices for wasting time writing an article

Usually the main reason for the above is that they didn't consider what the user would be searching for in order to find their content.

Take my article that I mentioned earlier on [Git Flow vs GitHub Flow](https://www.alexhyett.com/git-flow-github-flow/). I wrote this article in November last year (2022). I was interested in the different Git Branching strategies that people were using and why.

Now I could have called this article **"Git Branching Strategies: Which One Should You Use?"**. 

A title like that may have done well on social media as it caters to readers curiosity.

Generally though, people are looking for entertainment on social media and are not looking for git branching tips.

The article was meant for people who were actively searching for the difference between Git Flow and GitHub Flow.

To find keywords I use the tool [Keywords Everywhere](https://keywordseverywhere.com/). It gives you information on how many people search for a particular keyword a month, how difficult it will be to rank for, as well ideas for additional keywords.

Here is an example of the information you get for the term **"git flow vs github flow"**.

![Keywords Everywhere results](https://res.cloudinary.com/dlgglwrvf/image/upload/v1702045163/keyword_research_3876168200.jpg) 

I generally try and go for search terms with at least 1,000 searches a month and with difficulties below 70%.

By picking the right keywords we are not trying to scam people into reading our content, it is just giving us a better chance of someone finding it.

Once you have found a keyword phrase you want to rank for, you will need to:
- Include it in the first part of your article title
- Include it in the URL
- Include it in your content.

You will also want to look at the other keywords that Keywords Everywhere mentions and include them where it makes sense.

## What difference does it make?
This obviously takes more effort than just publishing an article without doing all this.

So, is it worth it?

If you search Google for the term "git flow vs github flow" you will see that my article is usually around the second result. Not bad considering the first article by Luca Mezzalira was written in 2014 and is the one a lot of websites reference.

The 10th result is also my [YouTube video](https://www.youtube.com/watch?v=hG_P6IRAjNQ) on the same topic, which is awesome.

Possibly more impressive is the fact that for "github flow", I am the first result after github.com and github.io.

It is worth noting that the results won't come quickly. It takes time for Google to index your article and for it to work its way up the rankings.

If we look at my analytics you can see how traffic has increased over the last year for this article:

![Website traffic](https://res.cloudinary.com/dlgglwrvf/image/upload/v1702045163/Pasted_image_20231208131002_386f142783.png) 

11.6k of those views have come from Google. Generally this article gets viewed around 2,000 times a month of which 1,200 come from Google. This makes sense considering it is estimated that 1,600 people search for this term a month, and it is at position 2.

![YouTube stats](https://res.cloudinary.com/dlgglwrvf/image/upload/v1702045162/Pasted_image_20231208131250_d469dd2ba3.png)

The video is a little older as I published it 31st October 2022. If you're wondering about the revenue, it isn't a big earner. 

I have only been monetised on YouTube since end of May 2023. I earn roughly £0.0022 per view with this video 🎉.

Again 37.6% of views come from YouTube Search, so the keyword research is working.

This is the approach for most of my content apart from this newsletter which is on a different domain at the moment.

## Benefits of Keyword Research
The main benefit of keyword research is that your content will continue to get viewed long after you have written it.

This newsletter is hosted on Substack on a different domain to my main website. This means that my main website currently isn't benefiting from this newsletter, something I plan on changing next year.

I have been working on a course for the past couple of months, so I actually haven't written any blog posts or posted any YouTube videos since 6th October.

For most people this would mean a drastic drop in views on their YouTube channel and website.

Let'shave a look at my stats:

**First my website:**

![Website stats](https://res.cloudinary.com/dlgglwrvf/image/upload/v1702045162/Pasted_image_20231208132628_25ce891e0a.png) 

Apart from the drop in December as the month is still ongoing, traffic has been fairly stable the past couple of months despite no new content.

**Now YouTube:**

![YouTube stats](https://res.cloudinary.com/dlgglwrvf/image/upload/v1702045162/Pasted_image_20231208132751_4ee6f01a90.png) 

See the massive drop of views since my last video ..... no me neither. Of course, it isn't growing much either, but I don't have the constant need to produce content.

You can also see here how much my YouTube channel has earned me this year too which is currently averaging around £200 a month. Not bad for a side hustle I haven't touched in 2 months. This is also with me turning off mid-roll ads (ads in the middle of a video) just to make the viewing experience better for everyone.

I have only scratched the surface of how I do keyword research, and it is something I would like to cover in more depth in the future. Hopefully you can see the benefits of doing it before spending hours writing a blog post.

If you want to learn more I highly recommend Erik Dietrich articles on Keyword Research:

- [Introduction to Keywords via Understanding Searcher Psychology](https://daedtech.com/introduction-to-keywords-via-understanding-searcher-psychology/)
- [Keywords 101: Difficulty, Volume, and Segmentation](https://daedtech.com/keywords-101-difficulty-volume-and-segmentation/)
- [Keywords 201: Tails, Association, Authority, and Cannibalization](https://daedtech.com/keywords-201-tails-association-authority-and-cannibalization/)
- [Keywords 301: Campaigns, Roadmaps, and Funnels](https://daedtech.com/keywords-301-campaigns-roadmaps-and-funnels/)

--- 
## ❤️ Picks of the Week

**📝 Article** - [Goodbye, Clean Code](https://overreacted.io/goodbye-clean-code/). I have seen many developers fall into this trap. Why write 10 lines of code when you can condense it down to 1? The reason is usually down to readability and maintainability. If it doesn't affect performance, then minifying source code down to as few lines as possible is only going to cause headaches when you need to change it.

**📝 Article** - [iMessage, explained](https://jjtech.dev/reverse-engineering/imessage-explained/). This is an interesting article on how iMessage works from someone who has reverse engineered it.

**📝 Article** - [How Google takes the pain out of code reviews, with 97% dev satisfaction](https://engineercodex.substack.com/p/how-google-takes-the-pain-out-of). I hadn't heard of Google's Critique tool until this article. I wish there was a public tool available that did this. Anyone fancy building one?

**📝 Article** - [Now I Can Just Print That Video](https://blog.forret.com/2023/12/01/printthatvideo/). Another useful use of AI. My wife has a whole load of saved Instagram Reels of tasty recipes. We hardly ever do they them though and when we do, we just end up watching the reel on repeat. This would be perfect for that.

**📝 Article** - [Troy Hunt: A Decade of Have I Been Pwned](https://www.troyhunt.com/a-decade-of-have-i-been-pwned/). I remember when Troy released [Have I Been Pwned](https://haveibeenpwned.com/). He has written some in-depth articles on how he built it and how little it cost to run. It was his articles that got me interested in serverless technologies.

---
## 💬 Quote of the Week

> Joy is what happens to us when we allow ourselves to recognize how good things really are. 
> — Marianne Williamson

---

## 📨 Are you looking to level up your skills in the tech industry?
My weekly newsletter is written for engineers like you, providing you with the tools you need to excel in your career. [Join here for free →](https://newsletter.alexhyett.com)