Sie öffnen eine Seite über einen Exit in Deutschland und sehen Englisch. Ein Kollege öffnet dieselbe Adresse und bekommt den US-Shop. Beide haben den richtigen Proxy benutzt, was ist also passiert? Websites entscheiden selten anhand eines einzigen Signals über Ihr Land. Sie kombinieren mehrere, und die Reihenfolge ist auf jeder Seite anders. Wenn Sie Lokalisierungs-QA durchführen oder lokale Seiten überwachen, erspart das Wissen um diese Signale viel Verwirrung.
Dieser Leitfaden behandelt die vier Signale, die Websites verwenden, ein getestetes Beispiel dafür, wie echte Seiten sie kombinieren, und wie Sie eine Seite prüfen, die Sie interessiert.
Die vier Signale
| Signal | Was es normalerweise bestimmt | Wie Sie es steuern |
|---|---|---|
| IP-Adresse | Das Land, manchmal auch die Sprache | Das Exit-Land Ihres Proxys |
| Accept-Language-Header | Die Sprache innerhalb eines Landes | Ihre Browser- oder Client-Einstellungen |
| Die URL | Was auch immer sie benennt, setzt sich gegen den Rest durch | Die Adresse, die Sie anfragen |
| Ein Cookie oder eine gespeicherte Auswahl | Was auch immer Sie letztes Mal gewählt haben | Cookies löschen oder eine neue Sitzung |
Manche Seiten nutzen serverseitig keines davon und zeigen stattdessen eine Seite, auf der Sie selbst wählen können.
Was echte Seiten tun
Wir haben einige bekannte Seiten über Residential Proxy-Exits in verschiedenen Ländern mit unterschiedlichen Browser-Sprachen am 6. November 2026 geladen und jedes Exit-Land einzeln bestätigt. Das Skript ist kurz und benötigt nur requests. Die Zugangsdaten stammen aus Umgebungsvariablen.
from __future__ import annotations
import os
import re
import requests
GATEWAY = "p.shifter.io:443"
USER, PASSWORD = os.environ["PROXY_USER"], os.environ["PROXY_PASS"]
BROWSER = ("Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 "
"(KHTML, like Gecko) Chrome/130.0 Safari/537.36")
def visit(url, country, language):
"""Load a URL from an exit in one country with one browser language."""
proxy = f"http://{USER}-country-{country}:{PASSWORD}@{GATEWAY}"
s = requests.Session()
s.proxies = {"http": proxy, "https": proxy}
s.headers.update({"User-Agent": BROWSER, "Accept-Language": language})
r = s.get(url, timeout=40)
lang = re.search(r'<html[^>]*\blang=["\']?([\w-]+)', r.text, re.I)
return r.url, lang.group(1) if lang else None
CASES = [
# url, exit country, Accept-Language
("https://www.netflix.com/", "us", "en-US"),
("https://www.netflix.com/", "de", "en-US"),
("https://www.netflix.com/", "de", "de-DE"),
("https://www.netflix.com/", "br", "en-US"),
("https://www.google.com/", "us", "en-US"),
("https://www.google.com/", "de", "en-US"),
("https://www.google.com/?hl=en", "de", "en-US"),
("https://www.apple.com/de/", "us", "en-US"),
("https://www.ikea.com/", "de", "de-DE"),
]
if __name__ == "__main__":
for url, country, language in CASES:
for attempt in range(3):
try:
final, lang = visit(url, country, language)
break
except requests.RequestException:
final, lang = "error", None
asked = url.replace("https://www.", "")
got = final.replace("https://www.", "")
print(f"{asked:22} exit {country.upper()} {language:6} -> {got:22} lang={lang}")
Die Ausgabe zeigt die angefragte Adresse, Exit und Browser-Sprache, die erreichte Seite und die Sprache dieser Seite:
netflix.com/ exit US en-US -> netflix.com/ lang=en
netflix.com/ exit DE en-US -> netflix.com/de-en/ lang=en
netflix.com/ exit DE de-DE -> netflix.com/de/ lang=de
netflix.com/ exit BR en-US -> netflix.com/br-en/ lang=en
google.com/ exit US en-US -> google.com/ lang=en
google.com/ exit DE en-US -> google.com/ lang=de
google.com/?hl=en exit DE en-US -> google.com/?hl=en lang=en-DE
apple.com/de/ exit US en-US -> apple.com/de/ lang=de-DE
ikea.com/ exit DE de-DE -> ikea.com/ lang=en
Vier Seiten, vier Verhaltensweisen.
Netflix nutzt sowohl IP als auch Sprache. Der Exit bestimmte den Länderpfad, und die Browser-Sprache bestimmte die Variante: Ein deutscher Exit mit einem englischen Browser ergab /de-en/, und mit einem deutschen Browser /de/. Ein brasilianischer Exit mit einem englischen Browser ergab /br-en/.
Google behält eine URL bei und folgt der IP für die Sprache. Ein deutscher Exit ergab eine deutsche Seite, selbst mit einem englischen Browser. Das Hinzufügen von ?hl=en zur URL wechselte zu Englisch, die URL setzte sich also gegen die IP durch.
Apple lässt die URL entscheiden. Ein US-Exit, der /de/ anfragte, bekam die deutsche Seite. Die IP leitete nirgendwohin um.
IKEA leitete überhaupt nicht um. Ein deutscher Exit mit einem deutschen Browser bekam trotzdem die internationale Seite auf Englisch, was die Wahl dem Besucher überlässt.
Was das für Ihre Prüfungen bedeutet
- Setzen Sie Exit und Sprache gemeinsam. Das Testen eines deutschen Marktes mit einem englischen Browser kann Ihnen eine Mischung geben, die kein echter Besucher sieht, wie die Netflix-Zeile zeigt. Stimmen Sie auch die Zeitzone ab, da manche Seiten diese prüfen.
- Notieren Sie die endgültige URL. Die angefragte Adresse und die erreichte Seite unterscheiden sich oft. Speichern Sie beide, damit eine Weiterleitung nicht unbemerkt bleibt.
- Beginnen Sie jeden Markt frisch. Ein Cookie aus einem früheren Besuch kann sich gegen die IP durchsetzen. Verwenden Sie für jedes Land eine neue Sitzung.
- Vertrauen Sie nicht allein der URL. Auf Seiten wie Google liefert dieselbe URL je nach IP unterschiedliche Inhalte. Auf Seiten wie Apple entscheidet die URL, und die IP spielt keine Rolle. Testen Sie, welche Art bei Ihnen vorliegt.
- Wählen Sie den Exit nach dem Besucher, der Sie sein wollen. Unser Beitrag zur Wahl eines Exit-Landes behandelt, wann der Standort eine Rolle spielt und wann nicht.
Wenn Sie die Seite betreiben
Geo-Weiterleitungen können sich gegen Sie richten. Googles Empfehlung lautet, Nutzer nicht automatisch von einer Sprachversion zu einer anderen weiterzuleiten, basierend darauf, welche Sprache Sie vermuten, da dies verhindern kann, dass sowohl Besucher als auch Suchmaschinen jede Version erreichen. Zudem wird darauf hingewiesen, dass Googlebot in der Regel von US-IP-Adressen crawlt und keinen Accept-Language-Header sendet, sodass eine Seite, die Inhalte nach Standort anpasst, möglicherweise nicht jede Version indexiert bekommt.
Das sicherere Muster ist das, was die meisten der oben genannten Seiten in irgendeiner Form tun: separate URLs pro Land oder Sprache, ein auf den Signalen des Besuchers basierender Vorschlag und eine einfache Möglichkeit zum Wechseln.
Fazit
Die Vorstellung einer Website davon, wo Sie sich befinden, ist eine Mischung aus IP, Browser-Sprache, URL und Gedächtnis, auf jeder Seite anders kombiniert. Wenn eine Seite das falsche Land zeigt, prüfen Sie alle vier, bevor Sie dem Proxy die Schuld geben, und ändern Sie beim Testen jeweils nur ein Signal, damit Sie wissen, welchem die Seite folgt.
Quellen und Referenzen
- Google Search Central, Managing multi-regional and multilingual sites: developers.google.com
- Google Search Central, How Google crawls locale-adaptive pages: developers.google.com