Hola hace bastantes días venía intentando hacer que mi sitio web creado en Hubspot se redirijera al país correspondiente de manera automática y no por selección del usuario, ya que tenía información pertinente por cada uno de los países, además de ser también una petición especifica.
Aquí el resumen del paso a paso.
1. Creamos variantes de idioma para cada país incluido en la web, es decir, ES - CO, ES-US, ES-MX, etc, por cada uno de estos países.
2. En la herramienta de Marketing > Archivos y plantillas > herramientas de diseño, cree un nuevo archivo .js
3. En este nuevo archivo cree las diferentes variables por países que tenía ya creados anteriormente, y sería esto:
var defaultCountry = 'US';
var defaultSite = 'www.example.com';
var costaRica = 'CR';
var costaRicaWeb = '/es-cr/';
var mexico = 'MX';
var mexicoWeb = '/es-mx/';
var brasil = 'BR';
var brasilWeb = '/pt-br/';
var chile = 'CL';
var chileWeb = '/es-cl/';
var guatemala = 'GT';
var guatemalaWeb = '/es-gt/';
var otherSite = '/en-us/';
fetch('https://ipapi.co/country/')
.then(response => {
if (response.ok) {
return response.text();
} else {
throw new Error('HTTP Error ' + response.status);
}
})
.then(country => {
if (country == defaultCountry) {
console.log('Already on default site');
}
else if (country == costaRica) {
window.location= costaRicaWeb;
}
else if (country == mexico) {
window.location= mexicoWeb;
}
else if (country == brasil) {
window.location= brasilWeb;
}
else if (country == chile) {
window.location= chilelWeb;
}
else if (country == guatemala) {
window.location= guatemalaWeb;
}
})
.catch(function(error) {
/* Error scenarios
- Network connectivity error
- Script blocked by browser extension ( try to disable blockers etc. )
- 429 error ( too many requests )
*/
console.log(error);
});
La API de IPAPI lo que hace es revisar la IP del país que entra a visitar y si la reconoce dentro del listado mostrará la web del país correspondiente o la web por defecto.
4. Despues de crear el archivo se debe copiar su url pública:
5. Cuando tengamos copiada nuestra URL pública, la podremos envolver en una etiqueta <script> de esta manera:
<!-- start Main.js Do Not Remove -->
<script src='{{ get_asset_url('set_your_URL_javascript_before_copied') }}'></script>
<!---End Main.js-->
6. Ahora deberás ir al home de tu página web y en configuración deberás ir hasta HTML del pie de página y copiar allí el script anteriormente creado.
Damos guardar y actualizar página, después de esto las visitas de los países que hayamos configurado se redirigiran autómaticamente al país correspondiente.