Por que os SERPs locais são diferentes
O Google oferece resultados de pesquisa diferentes com base no local onde o pesquisador está localizado. Uma consulta para o "melhor café" retorna resultados completamente diferentes em Nova York, Londres e Tóquio. Esta localização não se aplica apenas a consultas de negócios locais, mas também a muitas palavras-chave comerciais e informacionais.
Para empresas que servem mercados geográficos específicos, rastrear rankings de nível nacional é enganoso. Um site pode classificar #1 em Chicago, mas #15 em Houston para a mesma palavra-chave. Sem localização específica de rastreamento SERP, você está tomando decisões de SEO com base em dados incompletos.
Este artigo explica como implementar o rastreamento SERP local preciso usando proxies residenciais geo-alvo. Para uma visão mais ampla do monitoramento SERP, consulte raspagem SERP completa com guia proxies.
Como o Google Localiza Resultados da Pesquisa
O Google usa vários sinais para determinar quais resultados locais mostrar:
| Sinal | Como Funciona | Impacto nos resultados |
|---|---|---|
| Geolocalização IP | Google mapeia o IP do pesquisador para uma localização geográfica | Fator primário para embalagem local e resultados orgânicos |
| Localização GPS/dispositivo | Dispositivos móveis partilham coordenadas precisas | Resultados locais muito precisos no celular |
| Localização da conta Google | Histórico de localização dos usuários conectados | Personaliza resultados com base em locais passados |
| Parâmetros de pesquisa | gl (país) e uule (localização exata) parâmetros URL | Substituir a detecção baseada em IP |
| Configuração da língua | hl parâmetro e cabeçalho Aceitar-Língua | Influências que aparecem nas versões linguísticas |
O Pacote Local
Para consultas com intenção local, o Google exibe um "pack local" — um mapa com três listas de negócios acima dos resultados orgânicos. Este pacote captura uma parte significativa de cliques e é totalmente dependente da localização. Um negócio a 2 milhas de distância do pesquisador pode aparecer na matilha, enquanto um a 32 km de distância não aparecerá.
Variação de resultados orgânicos
Até os resultados orgânicos normais mudam por localização. Google promove conteúdo localmente relevante, ajusta rankings com base no comportamento de busca regional, e pode mostrar diferentes trechos em destaque, dependendo da cidade do pesquisador.
Por que os geoproxies são essenciais
Para ver os resultados da pesquisa como eles aparecem para usuários em uma cidade específica, você precisa de um endereço IP daquela cidade. Foi aqui que o geo-alvo foi proxies residenciais tornar-se indispensável.
- Sinal de localização autêntico: Um IP residencial de Denver diz ao Google que o pesquisador está em Denver
- Precisão do pacote local: Você só pode ver o pacote local correto consultando a partir do local certo
- Diferenças regionais de conteúdo: Conteúdo que classifica em uma região não pode classificar em outra
- Análise competitiva: Veja exatamente o que seus concorrentes locais veem em seu mercado
ProxyHat proxies residenciais apoiar geo-alvo a nível da cidade 190+ locais em todo o mundo, tornando-os ideais para monitoramento SERP local.
Implementando o rastreamento local do SERP
Aqui está uma implementação completa do Python que rastreia rankings de palavras-chave em várias cidades:
import requests
from bs4 import BeautifulSoup
import json
import time
import random
from datetime import date
# ProxyHat proxy with geo-targeting
# Append city/country to your session for geo-targeted requests
# See docs.proxyhat.com for geo-targeting syntax
PROXY_BASE = "http://USERNAME:PASSWORD@gate.proxyhat.com:8080"
LOCATIONS = [
{"city": "New York", "gl": "us", "hl": "en", "uule": "w+CAIQICIITmV3IFlvcms"},
{"city": "Los Angeles", "gl": "us", "hl": "en", "uule": "w+CAIQICILTG9zIEFuZ2VsZXM"},
{"city": "Chicago", "gl": "us", "hl": "en", "uule": "w+CAIQICIHQ2hpY2Fnbw"},
{"city": "London", "gl": "uk", "hl": "en", "uule": "w+CAIQICIGTG9uZG9u"},
{"city": "Berlin", "gl": "de", "hl": "de", "uule": "w+CAIQICIGQmVybGlu"},
]
def track_local_ranking(keyword, domain, location):
"""Track keyword ranking from a specific location."""
proxies = {"http": PROXY_BASE, "https": PROXY_BASE}
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36",
"Accept-Language": f"{location['hl']};q=0.9,en;q=0.8",
}
params = {
"q": keyword,
"num": 20,
"hl": location["hl"],
"gl": location["gl"],
"pws": 0,
}
# Add UULE parameter for precise city targeting
if "uule" in location:
params["uule"] = location["uule"]
response = requests.get(
"https://www.google.com/search",
params=params,
headers=headers,
proxies=proxies,
timeout=15,
)
response.raise_for_status()
soup = BeautifulSoup(response.text, "html.parser")
# Find organic position
position = None
for i, g in enumerate(soup.select("div#search .g"), 1):
link = g.select_one("a")
if link and domain in link.get("href", ""):
position = i
break
# Check local pack presence
in_local_pack = False
local_pack = soup.select("div.VkpGBb")
for item in local_pack:
if domain in item.get_text().lower():
in_local_pack = True
break
return {
"keyword": keyword,
"city": location["city"],
"position": position,
"in_local_pack": in_local_pack,
"date": str(date.today()),
}
# Track across all locations
keywords = ["best proxy service", "web scraping tools", "seo software"]
all_results = []
for kw in keywords:
for loc in LOCATIONS:
result = track_local_ranking(kw, "proxyhat.com", loc)
all_results.append(result)
city = result["city"]
pos = result["position"] or "Not ranked"
local = " (in local pack)" if result["in_local_pack"] else ""
print(f" {city}: #{pos}{local}")
time.sleep(random.uniform(3, 6))
# Save results
with open(f"local_rankings_{date.today()}.json", "w") as f:
json.dump(all_results, f, indent=2)Compreender o parâmetro UULE
A uule parâmetro é a maneira mais precisa de especificar localização em URLs de pesquisa do Google. Ele codifica uma localização geográfica que o Google usa em vez de geolocalização baseada em IP.
Como Gerar Valores de UULE
Os valores de UULE são strings codificadas com base64 com um formato específico. Aqui está uma função de utilitário para gere-los:
import base64
def generate_uule(location_name):
"""Generate a UULE parameter for Google geo-targeting."""
# UULE format: w+CAIQICI{length_char}{base64_location}
encoded = base64.b64encode(location_name.encode()).decode()
# Length character mapping (A=1, B=2, ... Z=26, a=27, etc.)
length = len(location_name)
if length <= 26:
length_char = chr(64 + length) # A=1, B=2, ...
else:
length_char = chr(70 + length) # Adjusted for longer names
return f"w+CAIQICI{length_char}{encoded}"
# Examples
print(generate_uule("New York")) # For New York City
print(generate_uule("Los Angeles")) # For Los Angeles
print(generate_uule("London")) # For LondonCombinando UULE com Geo Proxies
Para máxima precisão, use parâmetros UULE e proxies geo-alvos do mesmo local. O UULE diz ao Google onde localizar os resultados, enquanto o IP proxy confirma o sinal geográfico. Esta abordagem dupla produz os dados SERP locais mais confiáveis.
Casos de uso para rastreamento SERP local
Empresas Multi-Localização
Franquias, cadeias de varejo e empresas de área de serviço precisam rastrear rankings em todas as cidades que servem. Uma cadeia de pizzas com 50 locais precisa saber sua classificação em cada mercado, não apenas nacional. Local SERP rastreamento revela quais locais têm forte SEO e que precisam de atenção.
Agências locais de SEO
As agências de SEO que gerenciam clientes em diferentes cidades devem relatar com precisão os rankings locais. Mostrar a um cliente o seu ranking nacional quando eles servem um mercado local erode confiança. O rastreamento baseado em geo-proxy fornece os dados precisos que os clientes precisam.
Monitorização dos concorrentes
Competidores locais podem classificar de forma diferente em diferentes bairros. Ao rastrear concorrentes em vários locais dentro de uma área metropolitana, você pode identificar lacunas geográficas em sua cobertura e direcionar essas áreas com conteúdo otimizado.
SEO internacional
Os sites que visam vários países precisam verificar seus rankings em cada mercado. Diferenças linguísticas, monetárias e culturais afetam o conteúdo que o Google promove em cada localidade. Use proxies geo-alvo de cada país-alvo para obter dados SERP internacionais precisos.
Implementação Node.js
const axios = require('axios');
const cheerio = require('cheerio');
const { HttpsProxyAgent } = require('https-proxy-agent');
const agent = new HttpsProxyAgent('http://USERNAME:PASSWORD@gate.proxyhat.com:8080');
const LOCATIONS = [
{ city: 'New York', gl: 'us', hl: 'en', uule: 'w+CAIQICIITmV3IFlvcms' },
{ city: 'London', gl: 'uk', hl: 'en', uule: 'w+CAIQICIGTG9uZG9u' },
{ city: 'Berlin', gl: 'de', hl: 'de', uule: 'w+CAIQICIGQmVybGlu' },
];
async function trackLocal(keyword, domain, location) {
const params = {
q: keyword,
num: 20,
hl: location.hl,
gl: location.gl,
pws: 0,
};
if (location.uule) params.uule = location.uule;
const { data } = await axios.get('https://www.google.com/search', {
params,
headers: {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36',
'Accept-Language': `${location.hl};q=0.9,en;q=0.8`,
},
httpsAgent: agent,
timeout: 15000,
});
const $ = cheerio.load(data);
let position = null;
$('div#search .g').each((i, el) => {
const href = $(el).find('a').attr('href') || '';
if (href.includes(domain) && !position) {
position = i + 1;
}
});
return { keyword, city: location.city, position };
}
// Track keyword across all locations
async function trackAcrossLocations(keyword, domain) {
const results = [];
for (const loc of LOCATIONS) {
const result = await trackLocal(keyword, domain, loc);
results.push(result);
console.log(`${loc.city}: #${result.position || 'not found'}`);
await new Promise(r => setTimeout(r, 3000 + Math.random() * 3000));
}
return results;
}
trackAcrossLocations('best residential proxies', 'proxyhat.com');Melhores Práticas para Rastreamento SERP Local
Escolha a localização correta Granularidade
- Nível do país: Uso para amplas campanhas internacionais. Definir
glapenas parâmetro - Nível da cidade: Necessário para empresas locais. Usar ambos
gleuulecom proxy de nível municipal - Nível de vizinhança: Para empresas hiperlocais (restaurantes, lojas). Usar coordenadas UULE muito precisas
Rastreie Mobile e Desktop separadamente
Os resultados locais diferem significativamente entre móvel e desktop. Os SERPs móveis mostram pacotes locais mais proeminentes e diferentes rankings orgânicos. Rastreie ambos comutando strings do User-Agent entre configurações móveis e de desktop.
Monitorar o pacote local separadamente
O pacote local é uma classificação distinta dos resultados orgânicos. Acompanhe se o seu negócio aparece na embalagem local 3 para cada local independentemente da posição orgânica. Muitas empresas são bem organicamente, mas estão ausentes do pacote local, ou vice-versa.
Agendar Consistentemente
Executar rastreamento local à mesma hora todos os dias. Resultados da pesquisa flutuam ao longo do dia, e agendamento inconsistente introduz ruído em seus dados. Monitoramento matutino (6-8 AM em cada fuso horário alvo) tende a produzir a linha de base mais estável.
O rastreamento SERP local sem proxies geo-alvo é inerentemente impreciso. Investir em proxies residenciais com metas de nível municipal para obter dados que refletem o que seus clientes reais vêem.
Para mais detalhes sobre o monitoramento SERP baseado em proxy, leia nossos artigos sobre melhores proxies para raspagem web e como raspar sem ficar bloqueado. Visitar Documentação do ProxyHat para a configuração geo-alvo.





