Suivi SERP local avec des proxies géo-ciblés

Découvrez comment suivre les classements de recherche locaux avec précision en utilisant des procurations résidentielles géo-cible. Couvre le ciblage au niveau de la ville, les paramètres UULE, la surveillance des paquets locaux et le suivi multi-emplacements.

Suivi SERP local avec des proxies géo-ciblés

Pourquoi les PEEE locaux sont différents

Google fournit différents résultats de recherche en fonction de l'endroit où le chercheur est situé. Une requête pour "meilleur café" retourne des résultats complètement différents à New York, Londres et Tokyo. Cette localisation s'applique non seulement aux requêtes d'affaires locales, mais aussi à de nombreux mots clés commerciaux et informatifs.

Pour les entreprises qui servent des marchés géographiques spécifiques, le suivi des classements nationaux est trompeur. Un site Web pourrait être classé #1 à Chicago mais #15 à Houston pour le même mot-clé. Sans suivi SERP spécifique à la localisation, vous prenez des décisions SEO basées sur des données incomplètes.

Cet article explique comment mettre en œuvre un suivi précis du PRSE local en utilisant des procurations résidentielles géo-cible. Pour un aperçu plus large de la surveillance du SERP, voir notre grattage SERP complet avec guide proxies.

Comment Google localise les résultats de recherche

Google utilise plusieurs signaux pour déterminer quels résultats locaux montrer:

Comment Google localise les résultats de recherche
SignalComment ça marcheImpact sur les résultats
Géolocalisation IPGoogle cartographie l'IP du chercheur vers un emplacement géographiqueFacteur principal pour les résultats locaux et biologiques
Emplacement GPS/dispositifLes appareils mobiles partagent des coordonnées précisesRésultats locaux très précis sur mobile
Emplacement du compte GoogleHistorique de localisation des utilisateurs connectésPersonnalise les résultats en fonction des emplacements passés
Paramètres de recherchegl (pays) et uule (emplacement exact) Paramètres d'URLDépassement de la détection par IP
Paramètres linguistiqueshl paramètre et en-tête Accept-LangueInfluences sur les versions linguistiques

Le paquet local

Pour les requêtes avec intention locale, Google affiche un « pack local » — une carte avec trois listes d'entreprises au-dessus des résultats organiques. Ce pack capture une part importante de clics et dépend entièrement de l'emplacement. Une entreprise à 2 milles du chercheur peut apparaître dans le pack, alors qu'une à 20 milles ne le sera pas.

Variation des résultats biologiques

Même les résultats biologiques standard changent par emplacement. Google fait la promotion de contenus pertinents localement, ajuste les classements en fonction du comportement de recherche régionale, et peut montrer différents extraits proposés selon la ville du chercheur.

Pourquoi les géoproxies sont essentielles

Pour voir les résultats de recherche tels qu'ils apparaissent aux utilisateurs dans une ville donnée, vous avez besoin d'une adresse IP de cette ville. C'est là que la géo-cible Proxies résidentielles devenir indispensable.

  • Signal de localisation authentique: Une IP résidentielle de Denver dit à Google que le chercheur est en fait à Denver
  • Précision du conditionnement local: Vous pouvez seulement voir le paquet local correct en interrogeant depuis le bon emplacement
  • Différences régionales de contenu: Un contenu qui se classe dans une région peut ne pas se classer dans une autre
  • Analyse concurrentielle: Voyez exactement ce que vos concurrents locaux voient sur leur marché

ProxyHat proxies résidentielles soutenir la géo-ciblage au niveau de la ville 190 sites et plus dans le monde entier, les rendant idéales pour la surveillance locale du SERP.

Mise en œuvre du suivi local du programme SERP

Voici une implémentation complète de Python qui suit les classements de mots clés dans plusieurs villes :

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)

Comprendre le paramètre UULE

Les uule paramètre est la façon la plus précise de spécifier l'emplacement dans les URL de recherche Google. Il code un emplacement géographique que Google utilise au lieu de géolocalisation IP.

Comment générer des valeurs UULE

Les valeurs UULE sont des chaînes codées Base64 avec un format spécifique. Voici une fonction d'utilité pour les générer:

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

Combiner UULE et Geo Proxies

Pour une précision maximale, utilisez à la fois les paramètres UULE et les proxies géo-cibles du même emplacement. L'ULE indique à Google où localiser les résultats, tandis que l'IP proxy confirme le signal géographique. Cette double approche produit les données SERP locales les plus fiables.

Cas d'utilisation pour le suivi local SERP

Entreprises multilocalisées

Les franchises, les chaînes de détail et les entreprises de la zone de service doivent suivre les classements dans chaque ville qu'elles servent. Une chaîne de pizzas avec 50 emplacements doit connaître leur classement dans chaque marché, pas seulement à l'échelle nationale. Le suivi du SERP local révèle quels emplacements ont un référencement important et qui nécessitent une attention particulière.

Organismes locaux de référencement

Les agences SEO qui gèrent des clients dans différentes villes doivent rendre compte avec exactitude des classements locaux. Le fait de montrer à un client son rang national lorsqu'il sert un marché local érode la confiance. Le suivi géoproxy fournit les données précises dont les clients ont besoin.

Surveillance des concurrents

Les concurrents locaux peuvent se classer différemment dans différents quartiers. En suivant les concurrents à travers plusieurs endroits dans une zone de métro, vous pouvez identifier les lacunes géographiques dans leur couverture et cibler ces zones avec un contenu optimisé.

SEO international

Les sites Web ciblant plusieurs pays doivent vérifier leur classement dans chaque marché. Les différences linguistiques, monétaires et culturelles affectent toutes le contenu que Google promeut dans chaque localité. Utiliser des proxies géo-cibles de chaque pays cible pour obtenir des données précises sur le SERP international.

Mise en œuvre de 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');

Meilleures pratiques pour le suivi local du PES

Choisissez le bon emplacement Granularité

  • Au niveau des pays: Utilisation pour de vastes campagnes internationales. Jeu gl paramètre seulement
  • Niveau ville: Requis pour les entreprises locales. Utiliser les deux gl et uule avec proxy au niveau de la ville
  • Niveau de voisinage: Pour les entreprises hyperlocales (restaurants, magasins). Utiliser des coordonnées UULE très précises

Suivi mobile et bureau séparé

Les résultats locaux diffèrent considérablement entre le mobile et le bureau. Les SERP mobiles montrent des packs locaux plus importants et différents classements biologiques. Suivre à la fois en commutant les chaînes User-Agent entre les configurations mobiles et de bureau.

Surveiller le paquet local séparément

Le pack local est un classement distinct des résultats biologiques. Vérifiez si votre entreprise apparaît dans le 3-pack local pour chaque emplacement indépendamment de la position organique. Beaucoup d'entreprises se classent bien organiquement mais sont absentes du pack local, ou vice versa.

Calendrier cohérent

Exécutez le suivi local à la même heure chaque jour. Les résultats de recherche fluctuent tout au long de la journée, et l'incohérence de la programmation introduit du bruit dans vos données. Le suivi matinal (6-8 AM dans chaque fuseau horaire cible) a tendance à produire le niveau de référence le plus stable.

Le suivi local SERP sans proxies géo-cible est intrinsèquement inexact. Investissez dans les procurations résidentielles avec le ciblage au niveau de la ville pour obtenir des données qui reflètent ce que vos clients réels voient.

Pour plus de détails sur la surveillance du SERP par proxy, lisez nos articles sur meilleurs proxies pour le grattage de toile et Comment gratter sans être bloqué. Visitez le Documentation ProxyHat pour la configuration géo-cible.

Prêt à commencer ?

Accédez à plus de 50M d'IPs résidentielles dans plus de 148 pays avec filtrage IA.

Voir les tarifsProxies résidentiels
← Retour au Blog