SERP locale Monitoraggio con Proxies Geo-Targeted

Scopri come tracciare le classifiche di ricerca locali con precisione utilizzando i proxy residenziali geo-targeted. Copre il targeting di livello della città, i parametri UULE, il monitoraggio del pacchetto locale e il monitoraggio multi-location.

SERP locale Monitoraggio con Proxies Geo-Targeted

Perché i SERP locali sono diversi

Google offre diversi risultati di ricerca in base a dove si trova il ricercatore. Una domanda per "miglior coffee shop" restituisce risultati completamente diversi a New York, Londra e Tokyo. Questa localizzazione si applica non solo alle query aziendali locali, ma anche a molte parole chiave commerciali e informatiche.

Per le aziende che servono specifici mercati geografici, il monitoraggio delle classifiche a livello nazionale è ingannevole. Un sito web potrebbe classificare #1 a Chicago ma #15 a Houston per la stessa parola chiave. Senza tracciamento SERP specifico per la posizione, stai prendendo decisioni SEO basate su dati incompleti.

Questo articolo spiega come implementare un monitoraggio SERP locale accurato utilizzando proxy residenziali geo-targeted. Per una visione più ampia del monitoraggio SERP, vedere il nostro raschiatura completa SERP con guida proxy.

Come Google Localizza i risultati della ricerca

Google utilizza più segnali per determinare quali risultati locali mostrare:

SegnaleCome funzionaImpatto sui risultati
Geolocalizzazione IPGoogle mappa l'IP del ricercatore in una posizione geograficaFattore primario per i pacchetti locali e i risultati organici
Posizione GPS/dispositivoI dispositivi mobili condividono coordinate preciseRisultati locali molto precisi sul mobile
Luogo dell'account GoogleStoria della posizione dagli utenti firmatiPersonalizza i risultati in base alle posizioni passate
Parametri di ricercagl (paese) e uule (ubicazione esatta) parametri URLOverride rilevamento basato su IP
Impostazioni linguistichehl parametro e intestazione Accept-LanguageInfluenza sulle versioni linguistiche

Il pacchetto locale

Per domande con intenti locali, Google visualizza un "pacchetto locale" — una mappa con tre elenchi di business sopra i risultati organici. Questo pacchetto cattura una parte significativa di clic ed è interamente indipendente dalla posizione. Un business a 2 miglia di distanza dal ricercatore può apparire nel pacchetto, mentre uno a 20 miglia di distanza non.

Variazione di Risultato Organico

Anche i risultati organici standard si spostano per posizione. Google promuove contenuti localmente rilevanti, regola le classifiche in base al comportamento di ricerca regionale, e può mostrare diversi frammenti presenti a seconda della città del ricercatore.

Perché i proxy Geo sono essenziali

Per vedere i risultati di ricerca che appaiono agli utenti in una specifica città, è necessario un indirizzo IP da quella città. Qui è dove geo-targeted Prossi residenziali diventare indispensabile.

  • Segnale di posizione autentico: Un IP residenziale da Denver dice a Google che il ricercatore è in realtà a Denver
  • Precisione del pacchetto locale: È possibile vedere solo il pacchetto locale corretto querying dalla posizione giusta
  • Differenze regionali di contenuto: Contenuto che si colloca in una regione non può rango in un'altra
  • Analisi competitiva: Vedi esattamente cosa vedono i tuoi concorrenti locali nel loro mercato

Prossi residenziali ProxyHat supporto geo-targeting di livello città attraverso 190+ sedi in tutto il mondo, rendendoli ideali per il monitoraggio locale SERP.

Attuazione del monitoraggio locale SERP

Ecco una completa implementazione Python che traccia le classifiche delle parole chiave in più città:

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)

Capire il parametro UULE

The uule parametro è il modo più preciso per specificare la posizione negli URL di ricerca di Google. Incoraggia una posizione geografica che Google utilizza invece della geolocalizzazione basata su IP.

Come generare valori UULE

I valori UULE sono stringhe codificate Base64 con un formato specifico. Ecco una funzione di utilità per generarli:

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 London

Combinare UULE con Geo Proxies

Per la massima precisione, utilizzare sia i parametri UULE che i proxy geo-targeted dalla stessa posizione. UULE dice a Google dove localizzare i risultati, mentre il proxy IP conferma il segnale geografico. Questo doppio approccio produce i dati SERP locali più affidabili.

Utilizzare i casi per locali SERP

Aziende multilocali

Franchises, catene di vendita al dettaglio, e le imprese di area di servizio hanno bisogno di tracciare le classifiche in ogni città che servono. Una catena di pizza con 50 posti ha bisogno di conoscere la loro classifica in ogni mercato, non solo a livello nazionale. Il tracciamento SERP locale rivela quali posizioni hanno forte SEO e che hanno bisogno di attenzione.

Agenzie locali di SEO

Le agenzie SEO che gestiscono i clienti in diverse città devono segnalare con precisione le classifiche locali. Mostrare a un cliente la loro classifica nazionale quando servono un mercato locale erode fiducia. Il tracciamento basato su geoproxy fornisce i dati precisi necessari ai clienti.

Monitoraggio dei concorrenti

I concorrenti locali possono classificarsi in modo diverso in diversi quartieri. Seguendo i concorrenti in più posizioni all'interno di una zona della metropolitana, è possibile identificare le lacune geografiche nella loro copertura e indirizzare quelle aree con contenuti ottimizzati.

SEO internazionale

I siti web che mirano a più paesi devono verificare la loro classifica in ogni mercato. La lingua, la valuta e le differenze culturali influenzano tutti i contenuti che Google promuove in ogni locale. Utilizzare i proxy geo-targeted da ogni paese di destinazione per ottenere dati SERP internazionali accurati.

Node.js Attuazione

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');

Migliori pratiche per locali SERP Tracking

Scegli la posizione giusta Granularity

  • Livello di paese: Utilizzare per campagne internazionali. Set gl parametro solo
  • Livello della città: Richiesto per le imprese locali. Utilizzare entrambi gl e uule con proxy di livello città
  • Livello di vicinanza: Per le imprese iper-locali (ristoranti, negozi). Utilizzare coordinate UULE molto precise

Traccia mobile e desktop separatamente

I risultati locali differiscono significativamente tra mobile e desktop. I SERP mobili mostrano pacchetti locali più prominenti e diverse classifiche organiche. Tracciare entrambe le stringhe User-Agent tra configurazioni mobili e desktop.

Monitorare il pacchetto locale separatamente

Il pacchetto locale è una classifica distinta dai risultati organici. Traccia se il tuo business appare nel locale 3-pack per ogni posizione indipendentemente dalla posizione organica. Molte aziende si classificano bene organicamente ma sono assenti dal pacchetto locale, o viceversa.

Pianificare costantemente

Eseguire tracciamento locale contemporaneamente ogni giorno. Risultati di ricerca fluttuano durante tutta la giornata, e la programmazione inconsistente introduce il rumore nei vostri dati. Il monitoraggio del mattino (6-8 AM in ogni fuso orario di destinazione) tende a produrre la linea di base più stabile.

Il tracciamento locale SERP senza proxy geo-targeted è intrinsecamente impreciso. Investire in proxy residenziali con targeting di livello urbano per ottenere dati che riflettono ciò che i vostri clienti reali vedono.

Per maggiori dettagli sul monitoraggio SERP basato su proxy, leggi i nostri articoli su migliori proxy per la raschiatura web e come raschiare senza bloccarsi. Visitare la Documentazione ProxyHat per la configurazione geo-targeting.

Pronto per iniziare?

Accedi a oltre 50M di IP residenziali in oltre 148 paesi con filtraggio AI.

Vedi i prezziProxy residenziali
← Torna al Blog