SEO

Geogerichte SEO-monitoring met proxyrotatie

3 min read Published Updated 591 words

Google toont verschillende organische resultaten voor dezelfde zoekopdracht, afhankelijk van de geografische herkomst van het verzoek — zelfs als personalisatie is uitgeschakeld. Een zoekopdracht naar "best coffee beans" vanaf een datacenter-IP in New York levert een andere SERP op dan dezelfde zoekopdracht vanaf een residentieel IP in Berlijn. Het verschil is niet cosmetisch. Het wordt afgedwongen door Google's regionale ranking-algoritmen, contentlokalisatie en het samenspel van de parameters gl (land), hl (taal) en cr (landbeperking). Het uitvoeren van geografisch gerichte SEO-monitoring zonder deze mechanismen te begrijpen, garandeert misleidende data. Dit artikel legt uit waarom SERP's uiteenlopen, hoe proxyrotatie detectie beperkt, en de operationele workflow voor het volgen van rankings in 30+ markten.

Waarom SERP per regio verschilt — ccTLD, gl, hl en personalisatie

Google bepaalt de "lokale" SERP via een combinatie van signalen. De eenvoudigste is de TLD van het zoekdomein — google.de versus google.co.jp. Maar alleen een ccTLD gebruiken is onvoldoende. Google leest ook de parameter gl om het aangenomen land te overschrijven. Bijvoorbeeld: google.com?gl=DE forceert Duitse resultaten, zelfs op het globale domein. De parameter hl stelt de interfacetaal in, wat de taal van de resultaten beïnvloedt, maar niet de geografische weging. Een verzoek met hl=en&gl=JP retourneert Japanse resultaten in het Engels — een veelvoorkomende bron van verwarring.

Naast parameters past Google IP-gebaseerde geolocatie toe. Als u een verzoek vanaf een Amerikaans IP naar google.de stuurt, kan Google nog steeds een mix van Engelse en Duitse resultaten tonen omdat het de IP-herkomst detecteert. Dit is het kernprobleem voor SEO-monitoring: het IP-adres lekt de locatie van de gebruiker. Het uitschakelen van personalisatie via pws=0 verwijdert de gebruikersgeschiedenis, maar schakelt locatieafleiding niet uit. De enige betrouwbare manier om een lokale gebruiker te simuleren, is door verkeer te routeren via een IP dat tot de doelmarkt behoort — idealiter een residentieel IP.

Residentiële versus datacenter-IP's — detectie en captcha-vermijding

Google classificeert actief IP-reeksen. Datacenter-IP's — AWS, GCP, DigitalOcean — worden binnen enkele seconden als niet-menselijk gemarkeerd. Onze interne tests tonen een faalpercentage van 60–80% voor datacenter-IP's bij het opvragen van Google met gl-parameters; veel verzoeken resulteren in een captcha of een uitgeklede SERP. Residentiële IP's daarentegen vallen niet op in normaal verkeer. Maar residentiële proxypools hebben hun eigen problemen: hoge latentie, beperkte bandbreedte en variabele geolocatienauwkeurigheid. Een "residentieel" IP van een proxyleverancier kan in werkelijkheid een mobiele carrier-NAT zijn die Google aan een andere regio toewijst.

Captcha-vermijding draait niet om "verbergen" — het gaat om het nabootsen van een echte browser. Stuur de juiste User-Agent, Accept-Language die overeenkomt met hl, en een verse Cookie-jar per sessie. Google's botdetectie kijkt ook naar de timing van verzoeken. Een uitbarsting van 100 queries in 2 seconden vanaf hetzelfde IP activeert een captcha. Beperk tot 1–2 verzoeken per minuut per IP. Gebruik een pool van ten minste 50 IP's per markt om de doorvoer te behouden. De afweging: hogere latentie en kosten versus een lager captcha-percentage. Wij accepteren 5–10% captcha-percentage als normaal en proberen het opnieuw met een ander IP.

Workflow voor rank tracking in 30+ landen

Het operationele patroon is eenvoudig: één IP per markt, één verse sessie per query. Hergebruik geen cookies tussen markten. Het volgende shell-fragment toont een minimale curl-gebaseerde probe voor een Duitse SERP via een residentiële proxy:

#!/bin/bash
# Query Google for "SEO tools" with German gl and English hl, via a residential proxy
PROXY="http://user:pass@residential-proxy-pool:8080"
curl -s --proxy "$PROXY" \
  -H "User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36" \
  -H "Accept-Language: en-US,en;q=0.9,de;q=0.8" \
  -H "Cookie: NID=...; CONSENT=..." \
  "https://www.google.com/search?q=SEO+tools&gl=DE&hl=en&pws=0&num=10" \
  | grep -oP '(?<=&url=)[^&]+' | head -10

Dit haalt de top 10 organische URL's op. Voor een productiesysteem vervangt u de statische proxy door een roterend endpoint dat per verzoek een vers IP retourneert. Tools zoals proxy-chain of aangepaste Python-scripts met requests en een sessie per IP werken goed. Sla de proxylijst van elke markt op in een apart bestand en roteer ze cyclisch.

Voor 30+ landen hebt u 30+ proxypools nodig — elke pool moet ten minste 20–50 IP's bevatten om snelheidslimieten te voorkomen. Een enkele pool van globale IP's is onvoldoende omdat Google's geolocatie verkeerd zal routeren. Wij gebruiken een configuratiebestand dat landcodes aan proxy-eindpunten koppelt:

{
  "DE": "http://user:pass@de-residential.zone:8080",
  "JP": "http://user:pass@jp-residential.zone:8080",
  "BR": "http://user:pass@br-residential.zone:8080"
}

Elke marktquery wordt uitgevoerd in een aparte thread of asynchrone taak, met een cooldown van 60 seconden per IP na elke 10 verzoeken. Dit tempo houdt het captcha-percentage in de meeste markten onder de 3%. Het lastige is niet de code — het is het verkrijgen van betrouwbare residentiële proxy's met geverifieerde geolocatie. Veel aanbieders claimen "DE" maar routeren via datacenters in Frankfurt. Valideer door het ASN van het IP te controleren en te vergelijken met Google's locatieafleiding (bijv. via de header X-Robots-Tag of een bekend lokaal resultaat).

De afweging: versheid versus kosten

Het elke uur draaien van 30 markten met residentiële proxy's kost ruwweg $200–$500 per maand aan alleen proxykosten, afhankelijk van de aanbieder en het datavolume. U kunt de kosten verlagen door datacenter-IP's te gebruiken voor markten waar Google minder agressief is — doorgaans kleinere landen. Maar de data zal ruiziger zijn. Het alternatief is een vernieuwingscyclus van 24 uur te accepteren en queries 's nachts te batchverwerken, wanneer het captcha-percentage daalt. Er is geen gratis lunch. Als u dagelijkse rank tracking in 30 landen nodig hebt, begroot dan voor residentiële proxy's en een robuust herhalingsmechanisme. Alles minder levert resultaten op die er precies uitzien maar fundamenteel fout zijn — en dat is erger dan helemaal geen data.