Hi everyone,
On my self-hosted Ghost site, the country shown for new member signups is always incorrect. Users from Türkiye, the US, or Asia show up as being in random countries or different continents.
This has been happening for years—first on Ghost(Pro), and now on self-hosted—so it seems like a deeper issue in how Ghost resolves location from IP. All our other tools (InfoIP, FingerprintJS, FullStory, Tinybird) detect the correct country.
We even tested this ourselves using a static IP in Türkiye, with no VPN, no DNS change, no proxy. Ghost said we were in Croatia. On another site, it said we were in Italy.
So the flaw appears to be inside Ghost’s own IP → country mapping or how it reads proxy headers.
Has anyone figured out how Ghost determines member location or how to correct this?
Thanks