Reindirizzare il visitatore di un link in base alla sua provenienza geografica

In questo breve post ti illustro alcuni servizi utili per geo-targettizzare le visite di una tua risorsa e dirottarle verso un determinato link o pagina.

Ho approfondito l’argomento quando mi sono trovato dinanzi l’esigenza di reindirizzare del traffico internazionale misto verso specifici link di affiliazione nazionali. ¹

Le soluzioni a cui pensare sono essenzialmente tre:

Io ho optato con soddisfazione per la seconda.

Considera però che se sei un markettaro seriale, con un alto volume di affiliazioni da gestire (magari integrate in un CMS come Wodpress), conviene senza dubbio affidarsi a servizi offerti da terzi.

link geo-targeting

Servizi di URL shortner / Link redirection e cloaking

I maggiori servizi di URL shortner e link redirection permettono canalizzare il proprio traffico in base geografia e dispositivo di utilizzo.

Da una veloce ricerca i più accreditati e funzionali sono:

  • Rebrandly
    Ho riscontrato un ottimo gradimento online verso Rebrandly.
    Nel momento in cui scrivo ha un prezzo di entrata molto competitivo (29$) e offre, nella sua versione gratuita, un numero abbastanza alto di visite tracciate (5’000) su dominio personalizzato.
  • Bitly
    Storico servizio di accorciamento URL.
    Tra le features c’è pure la geolocalizzazione.
  • SmartURL
    Mi ha colpito per l’ottima interfaccia.
    Permette anche redirect in base al dispositivo di navigazione.
  • Easyazon
    Se lavori su WordPress questo plug-in fa al caso tuo.
    Me lo ha consigliato Daniele Besana di WP-OK (e ne ho letto molto bene in giro per il web).

Script PHP self-hosted di geo-targeting

Se stai continuando a leggere, probabilmente, come me:

  1. non hai paura di sporcarti le mani con un po’ di codice
  2. ami costruire soluzioni su misura da ospitare sui tuoi server

Vediamo quindi come realizzare uno script di atterraggio in PHP, che sarà in grado di instradare l’utente in base l’IP di navigazione.

Allo scopo utilizzeremo una classe di geolocalizzazione che sfrutta le API del servizio Geoplugin.

Molto semplicemente:


<?php
require_once('geoplugin.class.php');
$geoplugin = new geoPlugin();
$geoplugin->locate();
// create a variable for the country code
$var_country_code = $geoplugin->countryCode;
// redirect based on country code:
if ($var_country_code == "FR") {
header('Location: http://fr.wikipedia.org/');
}
else if ($var_country_code == "IT") {
header('Location: http://it.wikipedia.org/');
}
else {
header('Location: http://en.wikipedia.org/');
}
?>

Il codice parla da solo:
ogni paese sarà identificato con una variabile var_country_code (qui i codici di riferimento, basati sulla tabella Iso3166) collegata alla classe.
Nell’esempio le visite provenienti dall’Italia vengono indirizzate verso la pagina Wikipedia italiana, quelle provenienti dalla Francia verso la pagina francese, tutte le altre verso la pagina inglese.

Per estendere i paesi non resta che aggiungere altre condizioni else if.

Puoi scaricare la classe del geoPlugin a questo link.

Redirect a livello di htaccess

Se hai pieno controllo sul tuo webserver (Apache), oltre che ha un elevato traffico da smistare su un unico sito, la soluzione ideale è invece la modifica del file htaccess.

Per approfondire ti consiglio di dare una lettura alla seconda risposta in questa discussione di Stackoverflow che mi ha ispirato nella scrittura del post.

Per il funzionamento occorre installare sul server il modulo Apache mod_geoip.


¹ Se utilizzi l’affiliazione Amazon e hai bisogno di indirizzare i tuoi utenti verso i vari store Amazon internazionali, a seconda del paese di provenienza, dai uno sguardo alla soluzione recentemente implementate e offerta da Bezos e soci: Amazon One Link.

 

Posted in Sviluppo Web.

2 Comments

    • È un piacere Daniele, grazie a te per avermi indicato il plugin.
      Lo sto testando su uno dei miei siti.
      Complimenti per il video, è molto chiaro.
      A presto,
      Eugenio

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *