A retrospective of 100k yearly pageviews
Tags: analytics, seo
Published: 2021-02-20 10:08:08

---
title: "A retrospective of 100k yearly pageviews"
tags:
  - analytics
  - seo
cover_image: https://images.unsplash.com/photo-1591696205602-2f950c417cb9?ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&ixlib=rb-1.2.1&auto=format&fit=crop&w=600&q=80
published: true
canonical_url: https://cri.dev/posts/2021-01-22-A-retrospective-of-100k-yearly-pageviews/
---

**Originally posted on [cri.dev](https://cri.dev/posts/2021-01-22-A-retrospective-of-100k-yearly-pageviews/)**

Incredible! 

70k visitors / 100k pageviews (excluding those with analytics blockers installed) reached this very website in the last year.

Around July 2020 I switched to [Plausible Analytics](https://plausible.io/cri.dev) and made my dashboard public.

In 2020 a lot happened: 

- SEO improvements and mistakes
- Domain name change from christianfei.com to [cri.dev](https://cri.dev)
- HackerNews "virality" and backlinks
- Reddit experiments
- 93 blog posts in 2020
- Numerous design iterations
- Ethical ads

Let me explain in detail.

## SEO improvements

Learned quite a bit in the last year about effective SEO. 

Even wrote a short ebook about how to [improve SEO for your site](https://gum.co/yUhsLz).

Sometimes syndicating content to [dev.to](https://dev.to/christianfei).

Most people coming from search engines land by looking for:

- an Ansible error (`ansible undefined variable `)
- Node.js 14 optional chaining + nullish coalescing
- Puppeteer issue (`err_invalid_argument`)
- HTTP error 431 in Node.js (`431 request header fields too large nodejs`)

This means a lot to me, since I started this blog to document my findings and learnings, and how to solve programming related issues.

Still, I need to learn a lot about effective SEO and keyword planning/strategies.

## SEO mistakes

As mentioned above, around February 2020 (I think) I switched domain from christianfei.com to [cri.dev](https://cri.dev)

During this procedure, I made the mistake of not properly configuring the Canonical URL!

![facepalm](https://cri.dev/assets/images/posts/100k/facepalm.png)

This affected the discovery quite a bit, for a month or so.

Then after figuring out the issue and implementing a fix, things got back to normal.

Google Search Console was vital to get this right.

## HackerNews and Reddit

HackerNews and Reddit are both a blessing and a curse sometimes..

You post something you think could be interesting, and nobody checks it out.

Other times, you submit your post, and it blows up.

Don't let me get started on the discussion on these boards.

People on there might comment with kind words and appreciation, and in the same thread find your greatest enemy and hater.

I guess it's like in real life ^^

Anyways, here is **the blog post** that brought most visitors on my site through HackerNews.

Namely [Raspberry Pi as a local server for self hosting applications](https://cri.dev/posts/2020-09-12-Raspberry-Pi-as-a-local-server-for-self-hosting-applications/)

This seriously blew up: at the peak I had around 250+ realtime visitors, and the wave lasted for days.

To this day, this blog post brought over 24k visitors and 35k pageviews, and loads of backlinks.

![rpi-hn](https://cri.dev/assets/images/posts/100k/rpi-hn.png)

No Hug-of-death fortunately, since this site is purely static, hosted on AWS with CloudFlare in front..

Here are some other posts that got people interested:

- [Testing in Node.js by example using the SOLID principles](https://cri.dev/posts/2020-05-20-Testing-in-Nodejs-by-example-using-the-SOLID-principles/)
- [Resuming Elixir by self-hosting plausible analytics](https://cri.dev/posts/2020-04-24-Resuming-Elixir-by-self-hosting-plausible-analytics/)

## 93 blog posts

I sat down and wrote about whatever I learned or felt like was useful to share, almost every 4 days on average.

Shared some in [my newsletter](https://cri.dev/subscribe/) over the year.

Writing these blog posts gives me the ability to share what I learned, and to declutter my head.

This is a very useful practice that I definitely want to continue throughout 2021.

## Design iterations

Tried different designs, various CSS frameworks, bare handwritten CSS at some point, changed static site generator etc.

I think this is quite common for personal blogs.

At some point I had a sidebar in the post view. Now I removed it because it hurt the reading experience.

I tried to improve the navigation header over time, and now it has a proper mobile view with all the relevant links.

## Ethical ads

Switched from carbonads to ethicalads a month ago.

It has pros and cons.

Pros: there is no targeting, option to show textual ads, no cookies being placed. GDPR hooray!

Cons: payout is once 50$ are reached (instead of monthly payout).

Currently I'm making around 5$ a month, so it's going to take some time to see the first payout.

## Next steps

This year I want to get my SEO game to the next level.

More quality content, less quick fixes and short how tos.

Consistency in writing blog posts regularly, but with more focus on quality.

If you want to stay in touch, do so by [subscribing to my newsletter](https://cri.dev/subscribe/)

**Originally posted on [cri.dev](https://cri.dev/posts/2021-01-22-A-retrospective-of-100k-yearly-pageviews/)**