Year One Recap
How my first year of blogging went and where I'm headed in Year Two.
One year ago yesterday, I published my first ever blog post. It’s been quite a ride since then!
Today, I’m going to go over the good, the bad, and the numbers of this blog so far. Welcome to the Year One Recap.
In my First 50 Days of Blogging post, I laid out three goals for Year One:
- Publish 50 blog posts.
- Get a million pageviews.
- Grow my newsletter to 10,000 subscribers.
Here’s where I ended Year One:
- Published 31 blog posts and 3 guest posts. ❌
- Got 642k pageviews. ❌
- Grew my newsletter to 3,000 subscribers. ❌
All in all, I didn’t hit any of the (pretty ambitious) goals I set for myself this year, but I made good progress towards them.
I got busy.
for ppl who follow me for ML content: it’s been a while, but I’ve got a pretty cool new ML post (collab with @flippnflops!) dropping next week to kick off the new year. Stay tuned!— Victor Zhou (@victorczhou) January 1, 2020
it's been almost 2 months since my last post (life got b u s y) but I've finally got one coming out tomorrow morning! Subscribers should see it in their email inboxes :)— Victor Zhou (@victorczhou) November 8, 2019
If you're not already subscribed to my newsletter, https://t.co/eRIaBVH8eq
In August 2019, I started my full time job as a Software Engineer at Facebook. You can see a noticeable drop in my production on this blog after that:
In hindsight, it was a bit naive to assume I’d be able to dedicate as much time to this blog after starting full time work… next year I’ll be more realistic.
First, let’s dive into some numbers from the past year, which will help motivate the new goals I’ll set for Year Two. If this isn’t really your thing, you can skip straight to Goals for Year Two.
Here’s a graph of my blog’s pageviews during Year One:
Pretty much all the spikes are from getting posts featured on Hacker News or Reddit.
My top 5 posts by pageviews haven’t changed too much since 6 months ago:
What’s more interesting, though, is looking at my top 5 posts by pageviews in the past 30 days:
All of these posts are well over 30 days old, meaning they’re the ones consistently driving traffic to my blog right now. On the other hand, most of my top posts from the past year were “spiky” - they got tons of views to start but didn’t drive much recurring traffic.
Historically, I’ve focused on writing meatier posts that have a better chance of doing well on link-sharing sites. I thought that optimizing for “hit posts” was the best way to increase pageviews because:
- Initial pageviews from a hit post make a huge difference.
- Getting backlinks from high-quality sites to hit posts helps their SEO.
While these points are still true, recurring traffic is a more sustainable way to keep my blog growing, especially now that I’m busier. It turns out what they say is true: SEO isn’t just about getting backlinks. Just look at posts like my Gini Impurity one or my Information Gain one - those never gained any traction on link-sharing sites but are two of my top recurring performers.
Unsurprisingly, the overall users graph looks just like the pageviews graph:
A total of 310k unique users visited my blog over the past year. Of them, 1/3 were mobile and 2/3 were desktop:
If you look at the last few months of this graph, you’ll notice that mobile users are significantly below 1/3 of all users during this time. This is in large part because most of my organic traffic comes on desktop, which suggests that my mobile SEO can be improved. I’ll break this down more later in the Organic Traffic section.
The top 3 browsers my users used were:
|Browser||% of Users||Global Market Share|
These numbers roughly align with global browser market shares except for Firefox. This isn’t too surprising given tech readers (who tend to be more privacy-conscious on average) disproportionately use Firefox. Seeing these numbers makes me realize I should be testing on Firefox more.
Organic Traffic has mostly leveled off since 6 months ago:
Averaged over a 7 day period, my blog gets around 500 daily organic clicks from Google Search.
My top posts in search results are similar to the top posts by pageviews (last 30 days) we looked at earlier, which is expected:
What’s a little surprising / concerning is performance by device:
|Device||Search Clicks||Search Impressions|
Mobile SEO has become very important in recent years, especially with Google rolling out mobile-first indexing. My blog’s weak search performance on mobile is something I’ll definitely need to investigate more.
One interesting metric I like to look at is Subscribers per Pageview, which for my blog is 3k subscribers / 642k pageviews = 0.0047. In other words, I average a new subscriber every 642k / 3k = 214 pageviews.
Let’s see where subscribers are signing up from:
- 48% came from the Post Subscribe Popup, which appears after scrolling far enough on a post.
- 28% came from the Post Subscribe Form, which is included at the end of every post.
- 13% came from the Sidebar, which is included on my homepage and more.
- 11% came from the Subscribe Page, which is linked to from various posts and other places.
This reaffirms my reasoning for using the Post Subscribe Popup. Yes, I know it can be kind of annoying, but it also works - it’s the largest driver of subscribers for my newsletter. Sorry, ”firstname.lastname@example.org“.
Someone reaaaally hated my newsletter popup 😂 pic.twitter.com/iJEPTdZxrb— Victor Zhou (@victorczhou) August 27, 2019
Going forward, the data suggest that investing in iterating on the Post Subscribe Popup and Form may be worthwhile. For example, I could:
- Experiment with different text or UI
- Customize text based on the post
- Expose the Popup earlier
This blog’s revenue isn’t very important to me, but I might as well mention it because I’m sure some of you are curious. I use Carbon Ads because their ads look good and are tailored for tech audiences.
I made $674.80 in ad revenue over the past year:
My click-through rate (CTR) is on the low side, but this isn’t a priority for me right now. I’m making back more than enough to cover costs!
Maybe in a few years I’ll focus on revenue more, but for now I’m not.
- Grow Organic Traffic from 500 to 1000 clicks / day, averaged over 7 days.
- Increase pageviews compared to last year and raise Subscribers per Pageview from 0.0047 to 0.0075.
- Write a post with each of 3 different co-authors.
I tried to set more reasonable and actionable goals for Year Two (read: I’m trying to avoid missing every goal again). The motivation for these goals should be pretty clear if you’ve read all of this post so far, but I’ll also explain each goal below.
I expect to still have a full-time job for the entirety of Year Two, so I won’t be any less busy. I’m obviously still going to blog, but I want to become less reliant on new content to drive pageviews. There’s a lot I can improve here, so I’m aiming to double my Organic Traffic this next year, be it through improving the SEO of old content or producing SEO-friendly new content.
This goal is primarily about raising Subscribers per Pageview. The “increase pageviews from last year” stipulation is to keep me honest: it’d be easy to increase Subscribers per Pageview simply by spamming readers, but that’s not what I want. This goal is about increasing subscriber conversions without degrading reader experience.
Writing my first co-authored post was one of my favorite things I did this year. Working with other people is important to me, so I’d like to do more of that this next year. If you’re interested, get in touch!
Readers like you are the reason I’m building this blog. Thanks for all your support this past year!
Yesterday marked 1 year of https://t.co/jLmrCx0lr8 🎉 I wrote a recap on how it went + goals for next year.— Victor Zhou (@victorczhou) February 5, 2020
To celebrate, I’m also giving away a $100 Amazon gift card! To enter:
1. Follow me
Thank you to everyone who helped me this year 🙏https://t.co/XhxXhAHpUe