¿Puedo hacer que mi sitio web muestre contenido diferente a los usuarios según la ubicación desde la que navegan?

Hay 2 formas de determinar la ubicación del usuario para mostrarles contenido diferente: del lado del cliente y del servidor.

El lado del cliente significa que el sitio solicita al navegador del usuario que revele la ubicación del usuario. Esta característica ha estado disponible desde HTML 5. En resumen, debe agregar un fragmento de código JavaScript especial a la página de su sitio, algo como esto:

if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition (geoSuccess, geoError);
}

Se llama al controlador geoSuccess cuando el usuario da permiso para usar su ubicación; de lo contrario se llama a geoError . Puede encontrar más información sobre esta característica aquí: Geolocalización – Sumérjase en HTML5

Incluso si el usuario no permite que el navegador comparta su ubicación, puede usar el método del lado del servidor. La idea es simple: cada solicitud HTTP entrante tiene la dirección IP del usuario. Existen servicios especiales que le permiten determinar la ubicación del usuario en función de sus direcciones IP, los llamados servicios GeoIP. Algunos de ellos tienen API abierta; otros proporcionan bases de datos descargables que se pueden usar de forma independiente. Supongo que el servicio más popular que tiene ambas opciones es MaxMind: Базы данных GeoIP2.

Aquí hay un ejemplo de un sitio donde se usan ambos métodos: 5 minutos para trabajar. Su trabajo local está a solo unos pasos de su hogar. El sitio le solicita su ubicación, pero incluso si no la revela, se calcula en función de su dirección IP.

Nunca he hecho esto antes, pero así es como lo intentaría:

Comience con una página de índice inicial que incluya una llamada AJAX a //freegeoip.net/json/, que devolverá un objeto JSON con los detalles de la ubicación del usuario (incluido el país). Una vez que se obtiene el código del país, puede usar una declaración if / then o switch para redirigir el navegador a la URL específica del país correspondiente.

Algo como esto:

$ .ajax ({
url: ‘//freegeoip.net/json/’,
tipo: ‘POST’,
éxito: función (ubicación) {
switch (location.country_code) {
caso ‘EE. UU.’:
window.location.href = ‘[su sitio web] / us’;
descanso;
// agrega casos adicionales para otros países
}
}
});

Debería suceder lo suficientemente rápido como para que sus usuarios no noten la redirección. Un inconveniente de este enfoque es que si solo desea saber si el usuario está en Europa en lugar de un país específico, entonces necesitaría tener un caso de cambio para cada país en Europa.

¡Espero que esto ayude!

Muchos sitios web tienen esto y puede identificar la ubicación geográfica de alguien con algún error y también asumiendo que las personas no están usando proxies en todo el mundo u otros métodos de encriptación de red y redirección de tráfico.
API JSON IP y GeoIP REST

http://ikea.com
http://www.asus.com/entry.htm

Puede, pero para ser honesto, todas las soluciones a continuación involucrarán cierto compromiso y no son 100%, es decir, no todos tienen GPS, no todos los rastros de IP son tan precisos … De hecho, sería mejor mostrar una etiqueta adhesiva en el front-end. notificación, que se recomienda esta región, de esa manera usted tampoco está obligando a sus usuarios, ¡está siendo útil, pero no contundente!

Recientemente hice un sitio web de redes sociales que tenía el mismo requisito.
Primero solicité lo que sugirió Ilya Konyukhov. Si los usuarios se negaron a compartir, he utilizado el método IP del servidor. Leer desde freegeoip.net

Aplicación que he creado basada en GeoLocation
Reuniendo a la comunidad local

Hay métodos diff, pero esos métodos no están seguros, ya que algunas personas usan VPN. Lo mejor es crear sitios web separados en dominios separados y dejar que las personas decidan a dónde quieren ir.

Sí, puede mostrar su sitio web en diferentes contenidos a los usuarios de acuerdo con su ubicación geográfica.

Si seguro. Rastrea la ubicación, algunas cosas de GPS. Según la ubicación, aplique la condición. Si la ubicación es esta, aplique este tipo de cosas.

¡¡La mejor de las suertes!!
Gracias por A2A

Sí tu puedes. Debe obtener la IP del usuario a partir de la solicitud, determinar su país de origen en función de ella y redirigir al contenido correspondiente.

Sí tu puedes. La forma de implementar ya ha sido respondida por otros.