If you've looked at your visitor map recently and thought "wait, why is China crushing every other country by a mile?" you weren't imagining it, and you weren't alone. It's one of the most common questions we've gotten from site owners lately, and a few of you have even asked whether we should just block China traffic outright.

We don't need that. Here's what was actually going on, and the fix we just shipped.

The mystery

Ghost's built-in analytics is genuinely great at showing you what people are reading and where they came from, but figuring out which country a visitor is in turns out to be trickier than it sounds. Instead of asking "who's really visiting, and from where?", it took a shortcut: it peeked at the visitor's browser clock and guessed the country from the timezone it was set to. And it's privacy friendly as well. You are able to give an insight about visitor country, without storing visitor IP address.

The problem is, a timezone setting tells you what time someone prefers to see on their clock, not where they're standing. A few ways that falls apart:

None of these visitors are lying to you, exactly. The browser is just being asked a question ("what timezone are you in?") and treating the answer as if it were "what country are you in?", which was never a safe assumption to begin with.

The fix

Rather than guessing a visitor's country from their clock, we now use the location our content delivery network already determines the moment it serves your page: the same infrastructure that gets your site loading fast for readers everywhere. It's a far more reliable, IP-based signal, and it's something we get "for free" as part of how every request already reaches your site.

One important thing this fix does not do: it doesn't filter, block, or remove any traffic, bot or otherwise. All it changes is which country label gets attached to each visit. If a bot or crawler was hitting your site before, it still shows up in your stats today, just like it did yesterday. It'll simply be tagged with its real origin instead of being lumped into "China" by default.

This fix will reduce the "Unknown" country numbers as well. Because almost always an HTTP request is bound to a country.

The early numbers

Here are the effect of the corrections we do from the moment we started to fix them:

In total, around 11% of the country labels were missing or wrong, according to our IP-based geolocation data, and now they are fixed. But you may now see Singapore on top of your list instead of China. Singapore makes more sense because it's the leading country for datacenters in eastern Asia. Most of those traffic is done by bots, probably. But it doesn't necessarily mean "bad bots". It may be coming from SEO engines, performance or optimization tools, monitoring tools etc. We'll continue to monitor this and act if we see possibilities to improve your experience.

What you need to do

Nothing. This is already live across all sites. Your historical data isn't rewritten, but everything going forward should be dramatically more accurate. Traffic volume and bot filtering are unaffected. This change is scoped entirely to fixing the country label, not deciding what counts as a visit.

And no, you still don't need to block China. It was never really about China in the first place, it was about a clock setting nobody thought to question.