navegando por la web me encontre con una funcion en php para detectar el pais del visitante por medio de la IP, te lo he adaptado para los fines que quieres:
Código PHP:
<?php
//Obtener IP:
$_SERVER["HTTP_CLIENT_IP"]!=""?$ip=$_SERVER["HTTP_CLIENT_IP"]:$ip=$_SERVER["REMOTE_ADDR"];
//Función de obtención de IP (basado en la web de webhosting.info)
function getCountry($ip_address){
//By Marc Palau (http://www.nbsp.es)
$url = "http://ip-to-country.webhosting.info/node/view/36";
$inici = "src=/flag/?type=2&cc2=";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST,"POST");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, "ip_address=$ip_address");
ob_start();
curl_exec($ch);
curl_close($ch);
$cache = ob_get_contents();
ob_end_clean();
$resto = strstr($cache,$inici);
$pais = substr($resto,strlen($inici),2);
return $pais;
}
//obtención de código de país:
$pais = strtolower(getCountry($ip));
if ($pais == 'us'){ ?>
...CODIGO HTML DE LA PAGINA...
<?php
}else{ echo 'This site is only for United States'; }
?>
En el else puedes poner lo que quieras, cualquier adevertencia o incluso un redireccionamiento a google o algun otra pagina, ya que no podran ver el sitio.
Este codigo lo tendras que poner en todas las paginas para que funcione, donde pone "CODIGO HTML DE LA PAGINA" ahi pondras todo el codigo de la pagina.
Espero te sirva
Nota: en $pais == 'us', no estoy del todo seguro si asi es como se define estados unidos como pais, pero es lo mas probable, a mi mexico me sale como mx. Tendrias que probar el codigo con alguien que resida en estados unidos para ver si le funciona.