GeoIP Redirection – kako klikom na isti link redirektovati korisnike iz različitih država na različite sajtove

GeoIP redirekcijom moguće je poslati korisnike iz različitih geografskih oblasti (različitih država) na različite sajtove, a sve sa samo jednim linkom. To se postiže php skriptom koja čita IP korisnika. Skripta se služi besplatnom MaxMind bazom podataka koja joj govori koji IP je vezan za koju državu.

 

maxmind logo geo ip redirect

 

Ovo može biti vrlo korisno. Na primer već sam rezervisao domen http://igortomic.com na kome ću da pišem tekstove na engleskom jeziku. Pomoću GeoIP redirekcije mogu sve korisnike koji nisu iz Srbije, Hrvatske, Crne Gore, Slovenije, Bosne i Hercegovine ili Makedonije, a koji posećuju http://igortomic.net automatski preusmeriti na http://igortomic.com

Naravno ovo ne bih uradio zato što bih tim putem sve korisnike koji ne pristupaju mom sajtu sa prostora država bivše Jugoslavije preusmerio na sajt na engleskom jeziku. To bi značilo i da ljudi koji su rođeni na našim prosotrima i žele da čitaju blog na srpskom ne bi imali tu mogućnost, jer bi samo na osnovu geografkse lokacije bili preusmereni na englesku verziju bloga.
 
Drugi primer može biti korišćenje GeoIP redirekcije u svrhe affiliate marketiga, tj. konkretno CPA ponuda. Pošto su one često ograničene na prihavatanje korisnika isključivo iz SAD to znači da svi klikovi na link od ljudi koji nisu iz SAD “propadaju”, tj. od njih nema nikakve koristi. Pomoću GeoIP redirekcije moguće je korisnike koji nisu iz SAD poslati na, na primer prvo na adf.ly link čime ćemo ipak ostvariti minimalnu zaradu.
 
 
Takođe je moguće naći slične CPA ponude za druge države, pa recimo korisnike iz Kanade poslati na sličnu ponudu koja prihvata korisnike iz te zemlje, a tako uraditi i za korisnike koji internetu pristupaju iz Velike Britanije. Sve korisnike koji nisu iz SAD, Kanade ili Velike Britanije tada bi preusmerili na adf.ly link.
 
 

Kako se podešava GeoIP redirekt?

 
GeoIP redirekt omogućiće nam besplatna MaxMind baza. Ona je odlična baza koja se osvežava jednom mesečno i u sebi sadrži podatke o tome koji opseg IP brojeva pripada kojoj državi. Negativno za ovu bazu je što mora “ručno” da se osvežava. Nova baza podataka dostupna je obično krajem prve nedelje u mesecu.

 
Opisaću konkretne korake kako sam postigao da klikom na link http://igortomic.net/geoip/demo.php korisnike iz Srbije šaljem na google.rs, korisnike iz Hrvatske na google.hr, korisnike iz Bosne i Hercegovine na google.ba, korisnike iz Crne Gore na google.me, korisnike iz Makedonije na google.mk, korisnike iz Slovenije na google.si, a sve ostale korisnike na google.com

 

  1. Za početak neophodno je preuzimanje baze podataka sa MaxMind sajta. Bazu podataka preuzmite sa adrese http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/ ili http://dev.maxmind.com/geoip/geolite. Fajl koji treba preuzeti jeste GeoIP.dat.gz.
  2. Zatim je taj fajl neophodno otpakovati programom kao što je WinRAR ili 7Zip.
  3. Potom preuzmite geoip.zip sa mog sajta na adresi http://igortomic.net/geoip/geoip.zip, a fajl je kreirao korisnik mointernet sa BlackHatWorld foruma.
  4. I ovaj fajl neophodno je otpakovati.
  5. Poslednji korak je kreiranje PHP koda sa kojime kontrolišemo na koje web adrese ćemo slati korisnike koji dolaze iz različitih država. Ovaj kod prepišite i spasite ga sa ekstenzijom *.php (dakle spasite fajl kao .php a ne kao npr. .txt ili .doc fajl) pod kojim god imenom želite.Ja sam ga spasio pod imenom demo.php, ali da sam ga spasio pod imenom igor.php onda bi putanja umesto http://igortomic.net/geoip/demo.php bila http://igortomic.net/geoip/igor.php

 

<?php

include(“geoip.inc”);
$ip=$_SERVER[‘REMOTE_ADDR’];
$gi = geoip_open(“GeoIP.dat”,GEOIP_STANDARD);

$country_code = geoip_country_code_by_addr($gi, “$ip”);

// Country name is not used so commented
// Get Country Name based on source IP
// $country = geoip_country_name_by_addr($gi, “$ip”);

geoip_close($gi);

switch($country_code)

{
case “RS” : header(“Location: http://google.rs”); break; // Srbija
case “HR” : header(“Location: http://google.hr”); break; // Hrvatska
case “BA” : header(“Location: http://google.ba”); break; // Bosna i Hercegovina
case “MK” : header(“Location: http://google.mk”); break; // Makedonija
case “SI” : header(“Location: http://google.si”); break; // Slovenija
case “ME” : header(“Location: http://google.me”); break; // Crna Gora
default : header(“Location: http://google.com”); // sve ostale zemlje
}

?>

Identičan *.php fajl ovome koji sam ja koristio u svrhe demonstracije teme obrađene u tekstu možete preuzeti sa adrese http://igortomic.net/geoip/demo.rar
 
Blodovani su delovi linije koda koje je potrebno menjati po želji (obratite pažnju na razmake (space) u PHP kodu):
case “RS” : header(“Location: http://google.rs“); break; // Srbija
case “HR” : header(“Location: http://google.hr“); break; // Hrvatska

 

U liniji koda default : header(“Location: http://google.com”); // reč default označava sve zemlje koje niste specifično naveli. Dakle default će u primeru http://igortomic.net/geoip/demo.php sve korisnike koji nisu iz Ex-Yu zemalja poslati na adresu google.com.

Svaka država ima svoju oznaku. Kao što vidite za Srbiju kod je RS, za Hrvatsku HR itd. Za Ameriku je kod US, a za Veliku Britanju GB.

  • Pod navodnicima “RS”, “HR” i drugim oznakama za države stavljate oznaku za državu čije korisnike internet želite da šaljete na određeni link.
  • Pod “Location: stavljate link sajta na koji želite da pošaljete korisnika iz države koju ste naveli pod case”.
  • Posle oznake // možete da napišete šta god želite, taj deo je samo podsetnik za vas i ne pravi nikakvu razliku za PHP kod.

Oznake za države možete naći ovde: http://www.maxmind.com/app/iso3166
 
Na kraju imamo raspakovane fajlove GeoIP.dat, geoip.inc, kao i PHP kod koji smo upravo napisali. Ova tri fajla uploadovaćemo u pod-direktorijum po želji na našem sajtu. Ja sam izabrao da fajlove stavim u pod-direktorijum (subdirectory) “geoip” i stoga je putanja ovog demo fajla http://igortomic.net/geoip/demo.php

 

Da sam fajl spasio u direktorijum “internet” putanja bi bila http://igortomic.net/internet/demo.php

Dakle sva tri fajla uvek stavljamo u pod-direktorijum po želji koji napravimo na rootu domena.

 

Obratite pažnju na to da fajl GeoIP.dat.gz koji preuzimate sa adrese http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/ ili http://dev.maxmind.com/geoip/geolite osvežavate jednom mesečno, jer će inače da vam zastari baza podataka IP brojeva i zemalja kojima oni pripadaju, a time će PHP skripta pogrešno prepoznati iz koje države dolazi koji korisnik. Nova verzija dostupna je svakog prvog utorka u mesecu i potrebno je da je uploadujete na vaš server

 
 
 

Nadam se da vam je tekst pomogao. U tom slučaju svakako ga podelite sa prijateljima preko društvenih mreža.
 
 
Lep pozdrav, sretni praznici i sve najlepše vam želim u 2013. godini,
Igor

ADD YOUR COMMENT