Tenho feito alguns testes para monitorar o posicionamento do meu site usando o navegador Tor para mascarar a localização de meu IP e ter uma noção do posicionamento site por meio de pesquisas à partir de outras localizações.
O curioso é que, quando uso o Tor, como se estivesse em outros países, meu site aparece quase sempre nas primeiras posições, porém nas pesquisas locais, dentro do país, o posicionamento cai bastante. Alguém saberia explicar por quê? Qual seria o parâmetro usado pelo Google nesse caso?
Achei que fazendo isso teria uma noção melhor da qualidade do SEO do meu site, mas os relatórios do Google search não me posicionam tão bem.
Estou tentando criar log de acessos em Banco de Dados com base em IP e Geolocalização. Para tanto estou usando um script disponibilizado por GeoIP-DB. Quando faço o teste local, dá tudo certo. Me dá a minha cidade, cep, latitude longitude... Porém, quando subo para a nuvem, ele mostra esses dados do servidor, e não os meus.
Meu código php está assim:
date_default_timezone_set('America/Sao_Paulo');
$json = file_get_contents('https://geoip-db.com/json');
$data = json_decode($json);
$cidade = $data->city;
$cep = $data->postal;
$lat = $data->latitude;
$long = $data->longitude;
$PDO = new PDO( 'mysql:host=' . HOST . ';dbname=' . DB, USER, PASS );
$sql = "INSERT INTO `stat` (`id_stat`, `cidade`, `cep`, `latitude`, `longitude`) VALUES (NULL, $cidade, $cep, $lat, $long)";
$compile = $PDO->prepare($sql);
Boa noite pessoal, estou tentando fazer um código, para mostrar um banner em meu site, quando o usuário entrar, baseado na localização dele. É basicamente o seguinte: a API de geolocalização retorna o nome da cidade, e, se for a cidade, então mostre o banner. Se não for, mostre outro. O código JavaScript que estou usando é esse:
<script type="application/javascript">
function geoip(json){
var city = document.getElementById("user_city");
city.textContent = json.city;
}
</script>
<script async src="https://get.geojs.io/v1/ip/geo.js"></script>
A cidade é: <span id="user_city"></span>
Esse código retorna o nome da cidade no <span id>.
Porém eu preciso fazer um IF, ELSE no próprio JavaScript, para mostrar o banner ou não. Seria basicamente assim:
<script type="application/javascript">
function geoip(json){
var city = document.getElementById("user_city");
city.textContent = json.city;
}
if (city == "nomedacidade") {
document.write ("<img src='banner1.jpg'></img>");
}
else {
document.write ("<img src='banner2.jpg'></img>");
}
</script>
<script async src="https://get.geojs.io/v1/ip/geo.js"></script>
O problema é que a variável city não fica setada dentro do if, não retorna o nome da cidade, eu só queria comparar no if o nome da cidade com o que a API retorna. Alguém tem alguma ideia?