This blog turned one month old this week. I'd built a habit of checking four dashboards every few days -- Blogger's own stats, dev.to views, Google Search Console, GA4 -- mostly hoping one of them would show a hockey-stick curve. None of them did. But something did move, and it wasn't the metric I expected.
The metric that stayed at zero
Search Console clicks: zero. Not "low" -- zero, for the entire month. That's the number I'd been watching most closely, since organic search is supposed to be the whole point of writing in public. Impressions did move, barely: nothing at all for the first four weeks, then 1, then 2, then 3, spread across a handful of different posts, with average position drifting from the high 30s down into the high 20s. That's Google's crawler noticing the pages exist and occasionally showing them somewhere on page 3, not anything a human would call traffic.
The metric that actually moved
GA4 visitors went from roughly 1-2 a week in the first two weeks to 9-10 a week more recently. That's still a small number in absolute terms, but the shape of the change is the interesting part: it didn't track with anything I did to the site. It tracked with a comment thread. A dev.to reader left detailed technical feedback on the OAuth-token post, I replied, and the back-and-forth pulled in referral views to that post and the Search Console post next to it -- not from a search engine at all, from dev.to's own recommendation surface and whatever the commenter's own audience clicked through from. The single biggest jump in real visitors this month came from one person reading carefully and replying, not from three weeks of SEO housekeeping.
| Metric | Week 1 | Week 4 (now) |
|---|---|---|
| Search Console impressions (28-day) | 0 | 3 |
| Search Console clicks (28-day) | 0 | 0 |
| Search Console avg. position | -- | 26.7 |
| GA4 visitors (7-day) | 1-2 | 9-10 |
| dev.to views, best post | 4 | 34 |
Why zero clicks a month in isn't actually alarming
Before this project started, I'd looked into how long a backlink-free new site typically takes to get real organic search traction, and the honest answer researchers and SEO practitioners give is somewhere in the 3-6 month range for a domain Google has no history with -- this blog is one month into that window, not failing at the end of it. I'm noting that here mainly so I don't quietly panic about it in month two: zero clicks in month one is inside the range I already told myself to expect, not a sign the approach is broken.
What I'm actually changing because of this
Nothing drastic, but one real adjustment: I've stopped treating Search Console as the primary signal of whether this is "working" and started paying more attention to dev.to and any inbound reader engagement instead, since that's the channel that's actually produced a real human response so far. The automation -- scheduled publishing, cross-posting, internal linking -- keeps running the same way regardless. What changed is where I look first when I check in on this project.
Top comments (9)
This is basically my month too. Search Console flat, and the thing that actually brought people in was one technical thread on Bluesky that turned into a proper back and forth. One thing I learned the hard way this week though: once I filtered out my own visits from different devices and Facebook's crawler, a big chunk of my "visitors" disappeared. At 9 or 10 a week it's worth checking how many are you.
Good tip, thanks. I hadn't set up an internal traffic filter at all -- just checked, and GA4 doesn't exclude your own visits by default, only known bots/crawlers. Given the numbers here are already tiny, I'm now not fully sure how much of my "9-10 visitors a week" is actually me. Going to set up the IP-based rule and see what's left.
The IP rule will catch most of it but not all. Mine changes at home and does nothing when I'm on mobile, which is how half my own visits slipped through. What worked better was adding a query parameter to the URL when I test, so the whole session gets tagged from the first pageview no matter what device or network I'm on. GA4 can filter on that the same way.
Good point -- IP breaks the moment I'm not on the same network, which is most of the time. A query param solves that regardless of device. I'll tag my own links with something like ?src=self and set up a GA4 filter on that instead of maintaining an IP list.
One thing that caught me out: the parameter only tags the session if it's on the first URL you land on. If you open the site normally and then add it, the earlier pageviews are already recorded without it. Worth starting every test session from the tagged link.
Makes sense -- I'll bookmark the tagged link itself rather than typing the bare domain and appending the param after the fact, so every test session starts from it by default.
That's the right habit. One more thing I learned the hard way: in my setup the tag gets saved as a super property, so it sticks to that browser after the first tagged visit. That's convenient, but it means private windows, a fresh browser profile or cleared cookies start untagged again. Before launch I ran my end-to-end tests in fresh windows, and the only reason they didn't show up as "real users" was that I opened each one from the bookmark. So the bookmark matters more than it looks.
How did you separate dev.to recommendation traffic from clicks coming from the commenter's own audience in GA4?
Honestly, I couldn't -- I just checked, and GA4 logged all of that traffic as (direct)/(none), meaning it couldn't attribute a referrer at all. So the "probably dev.to's recommendation surface" line in the post was an assumption, not something I'd actually verified. Good catch -- I should have said that more honestly the first time.