My blog is online for four years this summer - time to share some numbers and thoughts about it.

Preface

Before diving right into numbers we need to keep some things in mind:

  • I've neglected my blog multiple times. That's something I'm not proud of - but it's important to know for this post. In four years I've only published around 50 posts.
  • This post will only be about the nehalist.io domain which was registered in September 2014.

This post should give you an insight in "how my blog is doing in terms of being programming blog".

Analytics

Let's start with some numbers from my Analytics account. So far my blog has attracted nearly 600.000 users and generated almost 1 million pageviews.

High bounce rates are pretty normal for a blog which mainly provide guides. People search for a problem, find the blog post, read the post and leave.

Site content

The fact that my most popular content are guides is not really surprising - my guides about uploading files in Angular and working with models in Angular generate around 40% of my entire traffic.

These two guides (both published in September 2017) were the first posts that really lifted up my numbers; while being at around 20 to 50 visits per day before publishing them I went to more than a hundred visits per day after Google has done its magic and indexed the posts.

It's wasn't pure luck that these posts took off; I had to deal with the problems described in these posts back then and didn't found a neat solution to neither of them online. Knowing that there's no resources on a specific topic really helped these posts to attract many visitors.

Acquisition

Stats taken for July 2018 to July 2019

Knowing how people come to your blog is a pretty important factor. In my case - where most of my posts are guides which help people with specific problems - it's no wonder that most of my traffic comes from organic search:

Ad revenue

An easy way to get money out of your blog is to run ads. In my case I wanted to cover the expenses required for this blog (around 30 bucks per month).

AdSense

I ran AdSense from October 2018 until July 2019. During that time I had approx. 300.000 page views which generated ~430€:

On average I earned nearly 50€ per month this way.

Carbon Ads

With my redesign released in July 2019 I switched to Carbon Ads.

As shown in the image I've earned 45 bucks so far with Carbon (within nearly 2 months).

You might wonder why the average revenue decreased since I've switched to Carbon; but it's important to keep in mind that I was way more aggressive with AdSense. I ran in-article ads, in-feed ads and one ad in the sidebar while, since I've switched to Carbon, I'm running only one ad per page.

AdSense or Carbon Ads?

Ultimately this section leads to one question: should you use AdSense or Carbon Ads?

Getting approved for AdSense is definitely easier, since Carbon Ads is invite-only. Everything else depends on what you're looking for:

  • AdSense allows for greater revenue due to the fact of having multiple ads on your page.
  • Carbon Ads look decent. It's not that typical "LOOK AT ME, I'M AN AD!!" appearance - it's a discreet look which doesn't bother the reader at all.
  • Carbon Ads are target at designers and developers.

Since I run ads to cover my blog expenses I could definitely live with a few bucks less every month. In return I've increased readers experience a lot and ads shown are targeted specifically to the people who read my blog - and I guess that's a fair trade.

Content

One of the biggest challenges I face on my blog is creating proper content. Does anyone care about how create a reading progress bar in React? Is anyone interested in the numbers shown in this post? Does the world need another post about optimizing TypeScript applications?

These questions went constantly through my head - and still do. But for me personally I found an easy answer: as long as I enjoy writing these things and they do fit in the scheme of my blog (which is tech / programming related-stuff) they're totally fine to write.

Some posts, like my post about Dependency Injection in TypeScript was written because I had absolutely no idea what to write that day. And even after I published it I was certain: no one would care about how DI works under the hood. I enjoyed creating it but I didn't think that anyone would care about such a topic. But guess what? That's the 5th most read post on my blog.

On the other hand my post about Selenium testing was the opposite: I was sure that this post is the next big post which generates at least the traffic my Angular posts do. Some days after publishing I realized: well, that's not the case. It's gotten little to no feedback and it's read very rarely until this very day.

But, for me, the point is: it doesn't matter that much. I enjoyed writing them.

I liked to get a better understanding of these things - no matter how "well" the post did. And that's, at least for me, the point of blogging: as long as you enjoy what you do there's nothing bad about it - even if your post might not generate the numbers you expect.

The only rule I try to follow when it comes to content is:

You're writing for your readers, not yourself.

I could probably write a lot about my car, my cat, my most recent holiday, etc. - but that's not the point of this blog. People come here to read about tech - so that's what I want to deliver.

Finding topics

Some time ago I had a hard time to find proper topics to write about.

If you've got an idea to write about the first thing you're likely going to do is to research the topic. Often times I find many results dealing with the same topic that I question myself "is it really worth writing about?". But the answer is quite simple: everyone's got their own style, every programmer knows different things - even though they may partially overlap when it comes to their content. I like to think of this in a pretty simple way: many things out there are unique in the way they're conveyed, not in what they are. Facebook was created after social networks already existed, Fortnite established while PUBG was already the alpha battle royale with insane numbers, Vue was created after React and so on. Often times things that come later aren't worse, they're sometimes even better because you may profit from the earlier acquired knowledge.

Your next post probably won't be the next multi billion dollar thing - but I guess you get the point; just because there's a post about a topic shouldn't prevent you from writing about the same topic. Flavored with your own knowledge and writing style your post will still be unique.

Another thing which helps me a lot is maintaining a content idea list. Everytime my brain has an idea I write it down - this way I come to 2 - 3 ideas per day. Some of them might never become a post - but whenever I want to write a post and have no idea at that moment I can just take a look at my smart list and pick a topic.

Content distribution

Writing is pretty much worthless without being read.

Somehow people need to get informed that you've done a thing. I've settled down with immediately sharing my posts on Twitter.

Some posts (mostly guides) are also shared on Reddit. Sharing on Reddit is a great way of getting readers - but also has to be taken with care. Reddit has tight restrictions on self-promotion - so don't exaggerate or you'll get banned.

If you want to share your posts on Reddit while considering a "good time to share" take a look at Later for Reddit which tells you when posting is more likely to get attention.

Posts I really think are worthy are shared on Hacker News. So far none of my posts have made it to the front page and were lost on page 2+ within a few minutes. It's really hard to make it there - but in case you're able to do it your traffic is likely to explode.

I only crosspost my content on Medium. The main reason for this is that I've been invited to two big publications where I reach more readers for every post. Crossposts are not posted immediately after publishing the initial post and instead are released one or two days later to keep the momentum of the post for at least some days.

Conclusion

If you think about starting a programming blog you need to keep some things in mind:

  • if you mainly post guides to specific problems it's likely that your bounce rates will be pretty high.
  • write what you enjoy and want to write about (while keeping your readers in mind)
  • having a content distribution strategy definitely helps in reaching more people and growing your brand.
  • ads may cover the expenses of your blog - but it's unlikely to get rich just from ads (except you have an insane amount of visitors every day). If you want to make money from your programming blog it might be more financially profitable to create paid courses or offer some kind of software-as-a-service.
  • don't think too much about if something is worthy writing about. There'll be posts which will receive a more positive feedback, while others are barely noticed. Some posts will be better than others. Maybe this one is better - maybe it's not. If you've enjoyed creating them and maybe even learned something everything's fine.

If you've got a (dev) blog yourself I'd be really happy to hear your opinion on this topic in the comments!