Llevamos 5 años gestionando contenido geo-segmentado a escala. Esto es lo que funciona:
Recomendación de proveedor:
MaxMind GeoIP2 para la mayoría de los casos. Por qué:
- 99.8% de precisión a nivel país
- ~80% de precisión a nivel ciudad (varía por región)
- Buena frecuencia de actualización (semanal en pago)
- API sólida y opciones de base de datos local
Nuestra arquitectura:
1. CDN de borde detecta IP -> país/región (Cloudflare Workers)
2. La carga inicial de la página usa ubicación por IP
3. Si se necesita ubicación precisa, solicitar API de Geolocalización
4. Guardar preferencia de ubicación en cookie para visitas futuras
Sobre VPNs:
No puedes resolver completamente la detección de VPN sin ser intrusivo. Nuestro enfoque:
- Detectar IPs de VPN/proxy evidentes (MaxMind tiene banderas para esto)
- Mostrar una opción de “Confirma tu ubicación” cuando sospechamos VPN
- Permitir que el usuario sobrescriba manualmente la ubicación detectada
Acepta que ~5-10% de usuarios tendrán detección de ubicación incorrecta. Diseña tu UX para gestionar eso de forma elegante.