Estamos rodando conteúdo geo-direcionado em escala há 5 anos. Eis o que funciona:
Recomendação de provedor:
MaxMind GeoIP2 para a maioria dos casos. Por quê:
- 99,8% de precisão em nível de país
- ~80% de precisão em nível de cidade (varia por região)
- Boa frequência de atualização (semanal, na versão paga)
- API sólida e opções de banco de dados local
Nossa arquitetura:
1. Edge CDN detecta IP -> país/região (Cloudflare Workers)
2. Carregamento inicial da página usa localização por IP
3. Se precisar de localização precisa, pede permissão para Geolocation API
4. Preferência de localização em cookie para visitas futuras
Sobre VPNs:
Você não consegue resolver completamente a detecção de VPN sem ser invasivo. Nossa abordagem:
- Detectar IPs de VPN/proxy óbvios (MaxMind tem flags para isso)
- Exibir uma opção “Confirme sua localização” quando suspeitamos de VPN
- Permitir que o usuário altere manualmente sua localização detectada
Aceite que cerca de 5-10% dos usuários terão detecção de localização incorreta. Prepare seu UX para lidar com isso de forma elegante.