geolocalization oder ip2country

eno_gib

X user
ID: 307979
L
27 Juli 2006
221
3
hi,

ich versuche grad für meine Webseite ein geolocaliztions Tool zu basteln,
dammit ich gleich beim ersten besuch eines Benuters auf meiner Webseite,
die richtige Sprache benutzen kann.
Dafür brauche ich eine Datenbank in der die IP Strecken richtig zugeordnet werden.
Alle IP2country Datenbanken die ich bissher probiert habe, waren sehr ungenau, und haben mir gesagt ich sei aus denn USA.
Kann mir einer eine IPzuländer Datenbank nennen die, besonnders wichtig, für Deutschland funktioniert?
Eigentlich muss ich nämlich nur entscheiden ob der User die deutsche oder die englische Fassung kriegt.


Vielen Dank im Voraus
MfG
eno_gib
 
schon mal drüber nachgedacht auf die Spracheinstellung des Browsers zurückzugreifen?
Jupp, das ist wesentlich kleverer :yes:
Mach ich bei einer Entwicklung von mir auch grade so.

Die benötigten Sachen liefert dir der User im Request mit: der Accept-Language-Header enthält alle nötigen Sachen, die du brauchst.

Wenn ein Engländer hier in Deutschland lebt, will er evtl. trotz "deutscher IP" doch lieber englische Inhalte haben. Er stellt im Browser Englisch ein und ärgert sich dann, weil du ihm wegen der IP deutschen Content lieferst, obwohl du Englisch im Angebot hättest.
 
Alle IP2country Datenbanken die ich bissher probiert habe, waren sehr ungenau, und haben mir gesagt ich sei aus denn USA.
Das könnte daran gelegen haben, dass du es per localhost getestet hast. Diese IP wird den USA zugeordnet, auch wenn es jeder Rechner weltweit hat. Ich glaube, dass auch allgemein alle IPs innerhalb von 192.168 zu den USA gehören.

Die benötigten Sachen liefert dir der User im Request mit: der Accept-Language-Header enthält alle nötigen Sachen, die du brauchst.
Das ist auch nicht viel besser als eine Zuordnung via IP. Wer sagt denn, dass man als deutschsprachiger User, der Texte auch lieber auf Deutsch liest, einen UA hat, der als Sprache Deutsch aufweist?

Weitere Probleme treten auf, wenn Crawler der Suchmaschinen auf deine Seite treffen. Die bekommt dann ja nur eine Sprache zur Auswahl bzw. vorgsetzt. Ist auch ein wenig dämlich, wenn man in den SERPs gefunden werden will. Und nein, Crawler sind nicht immer zu erkennen.

Wenn ein Engländer hier in Deutschland lebt, will er evtl. trotz "deutscher IP" doch lieber englische Inhalte haben. Er stellt im Browser Englisch ein und ärgert sich dann, weil du ihm wegen der IP deutschen Content lieferst, obwohl du Englisch im Angebot hättest.
Wenn ein Engländer hier in Deutschland lebt, will er evtl. trotz "deutscher IP" und deutschem Browser doch lieber englische Inhalte haben. Er weiß aber gar nicht wie er den Browser auf Englisch umstellt. Er ärgert sich dann, weil du ihm wegen der Überprüfung deutschen Content lieferst, obwohl du Englisch im Angebot hättest.

Also bitte überlasst es dem Surfer, welche Sprache er wählen möchte

Macht es doch einfach wie die Wikipedia. Jede Sprache hat eine Subdomain. Beim Aufruf der Hauptdomain mittels der Subdomain www wird das Sprachmenü angezeigt, welches dann auf die entsprechenden Subdomains linkt. Man kann dann noch zusätzlich die Domain mit der lokalen TLD besorgen, die dann auf die entsprechende Subdomain weiterleitet.
 
  • Like
Reaktionen: ABC
Das ist auch nicht viel besser als eine Zuordnung via IP. Wer sagt denn, dass man als deutschsprachiger User, der Texte auch lieber auf Deutsch liest, einen UA hat, der als Sprache Deutsch aufweist?
Seine Sprache muss er wohl selber einstellen :roll:
Wenn ein Engländer hier in Deutschland lebt, will er evtl. trotz "deutscher IP" und deutschem Browser doch lieber englische Inhalte haben. Er weiß aber gar nicht wie er den Browser auf Englisch umstellt. Er ärgert sich dann, weil du ihm wegen der Überprüfung deutschen Content lieferst, obwohl du Englisch im Angebot hättest.
Dann kann er ja immer noch auf die UK-Flagge klicken und die Sprache umstellen.
Ich will ja niemanden aufzwingen, eine bestimmte Sprache zu lesen, sondern lediglich wissen, wie ich mich einem neuen Besucher gegenüber verhalten soll und was ich ihm zu Beginn zeige.
 
Seine Sprache muss er wohl selber einstellen :roll:
Dazu ist auch jeder Surfer immer in der Lage :roll:

Dann kann er ja immer noch auf die UK-Flagge klicken und die Sprache umstellen.
Ich will ja niemanden aufzwingen, eine bestimmte Sprache zu lesen, sondern lediglich wissen, wie ich mich einem neuen Besucher gegenüber verhalten soll und was ich ihm zu Beginn zeige.
Diese Argumentation kann auf deinen Fall ebenfalls anwenden. :roll:

Und du hast immer noch das Problem mit den Crawlern.
 
Dazu ist auch jeder Surfer immer in der Lage :roll:
Ok, jetzt wirds Kinderkram. Dann komm ich mit "Und wenn er nicht in der Lage is, auf den richtigen Link zu klicken".
Diese Argumentation kann auf deinen Fall ebenfalls anwenden. :roll:
Ich tipp mal, da fehlt ein "ich" irgendwo, aber ich blicks auch so ned, auf was du jetzt hinaus willst.

Wir unterscheiden uns doch bloß, dass du ne extra Eingangsseite zur Länderwahl machen willst und ich eben quasi schon automatisch auf die "richtige" Seite umleite.

Und du hast immer noch das Problem mit den Crawlern.
Gut, ich bin kein SEO-Experte. Ich denke mir, wie ein User die Sprache per Flaggen-Icon umschalten kann, so kann das auch ein Crawler.
Inweit ich da mit dieser Überlegung recht hab, keine Ahnung. Ich bin da gerne offen, mehr drüber zu erfahren.

Auch hier wieder: Irgendeine Eingangsseite muss der Crawler haben - meinst kommen die ja eh über irgendeinen Link irgendwo auf die Seite und nicht unbedingt auf die index-Seite. Und ob diese Seite jetzt eine Sprachwahlseite is und sich das Teil dann per rekursiv-alle-Sprachlinks-durchklick durcharbeitet oder eben auf einer Sprache reinkommt und die anderen Seite erfasst, weil er irgendwo auf eine Flagge klickt, müsste doch aufsselbe rauskommen, oder?
 
Ok, jetzt wirds Kinderkram. Dann komm ich mit "Und wenn er nicht in der Lage is, auf den richtigen Link zu klicken".
Was hat das bitte mit Kinderkram zu tun? Wie viele Surfer haben den Ahnung von ihrem Arbeitsgerät? Der Anteil wird einfach sehr klein sein. Sie nutzen es einfach nur. Das hast du aber überall. Frag die Leute mal, wo Strom her kommt. Die Antwort wird in den meisten Fällen "Aus der Steckdose" sein. :LOL:

Und ja, es gibt Leute, die wissen nicht mal was ein Link ist. Zitat: "Was ist das Browserfenster?" :ugly:

Ich möchte aber behaupten, dass der Anteil derjenigen, die nicht wissen, wie man im Browser die bevorzugte Sprache ändert, bedeutend größer ist, als der Anteil derjenigen, die nicht wissen, was ein Link ist.

Ich tipp mal, da fehlt ein "ich" irgendwo, aber ich blicks auch so ned, auf was du jetzt hinaus willst.
Wie war das noch mal mit dem Kinderkram :LOL:
Worauf ich hinaus will? Das deine Argumente gegen eine IP-Überprüfung auch gegen eine Überprüfung durch die Browsersprache eingesetzt werden kann. Sie ist demnach weder besser noch schlechter.

Wir unterscheiden uns doch bloß, dass du ne extra Eingangsseite zur Länderwahl machen willst und ich eben quasi schon automatisch auf die "richtige" Seite umleite.
Nicht unbedingt.
Das ist auch sehr abhängig, wie "danach" die Sprachaufteilung gewählt wurde.
Deine erste Aussage klang mit dem Engländer so, dass nach der Vorauswahl der Sprache keine Änderungsmöglichkeit ausser durch die Spracheauswahl des Browsers gebe.
Er stellt im Browser Englisch ein und ärgert sich dann, weil du ihm wegen der IP deutschen Content lieferst, obwohl du Englisch im Angebot hättest.

Dann hast jetzt aber folgende Ergänzung gemacht:
Gut, ich bin kein SEO-Experte. Ich denke mir, wie ein User die Sprache per Flaggen-Icon umschalten kann, so kann das auch ein Crawler.
Inweit ich da mit dieser Überlegung recht hab, keine Ahnung. Ich bin da gerne offen, mehr drüber zu erfahren.
Hier geht auf einmal ein Sprachwechsel über die Seite selber. Dies ist auch eindeutig zu bevorzugen gegenüber dem Sprachwechsel durch den Browser (siehe oben).

Auch hier wieder: Irgendeine Eingangsseite muss der Crawler haben - meinst kommen die ja eh über irgendeinen Link irgendwo auf die Seite und nicht unbedingt auf die index-Seite. Und ob diese Seite jetzt eine Sprachwahlseite is und sich das Teil dann per rekursiv-alle-Sprachlinks-durchklick durcharbeitet oder eben auf einer Sprache reinkommt und die anderen Seite erfasst, weil er irgendwo auf eine Flagge klickt, müsste doch aufsselbe rauskommen, oder?
Nein, nicht zwangsweise. Es kommt darauf an, wie die Spracheauswahl gespeichert wurde.
Ist der deutsche Artikel unter domain.tld/foo.bar erreichbar und der englische auch unter domain.tld/foo.bar, weil die Sprachauswahl in der Session liegt, dann wirst du Probleme mit dem Crawler bekommen. Sie können dann die Datei foo.bar nicht wirklich einer Sprache zu ordnen. Zu dem sollte der Crawler ohnehin keine Session zu Gesicht bekommen. Also hat er defakto nur noch eine Sprache zur Auswahl. Diese Form der Speicherung hat natürlich noch andere Nachteile.
Regelst du Sprache über Ordner oder Subdomain ist es relativ egal. Subdomain hat aber den Vorteil, dass du trotzdem physikalisch auf die gleiche Datei zu greifen kannst. Geht bei Ordnern glaube ich nicht (ausser man verwendet mod_rewrite).
Es muss aber eine Sprachauswahl zur Verfügung stehen.
 
Ich möchte aber behaupten, dass der Anteil derjenigen, die nicht wissen, wie man im Browser die bevorzugte Sprache ändert, bedeutend größer ist, als der Anteil derjenigen, die nicht wissen, was ein Link ist.
Das is sicher richtig, aber irgendwo muss der Punkt sein, was ich vom Browser-Benutzer erwarten kann. Und wenn er das nicht kann, muss er eben mit seiner Unwissenheit zurecht kommen.

Nehmen wir nochmal meinen Fall:
Er kann im Browser die Sprache nicht einstellen. Gut, dann muss er eben bei mir damit leben, dass er ne Seite in einer Sprache gezeigt kriegt, die er nicht versteht und muss erstmal auf die Flagge oben klicken.
Deine erste Aussage klang mit dem Engländer so, dass nach der Vorauswahl der Sprache keine Änderungsmöglichkeit ausser durch die Spracheauswahl des Browsers gebe.
Ok, das scheint dann völlig falsch rübergekommen zu sein.
Natürlich sollte jeder Besucher jederzeit die Sprache umschalten können und nicht eine Sprache zwangs-verordnet kriegen.

Knackpunkt ist nur, wie die Sprache gewählt wird, wenn der Besucher noch keine Auswahl getroffen hat.
Ist der deutsche Artikel unter domain.tld/foo.bar erreichbar und der englische auch unter domain.tld/foo.bar, weil die Sprachauswahl in der Session liegt, dann wirst du Probleme mit dem Crawler bekommen. Sie können dann die Datei foo.bar nicht wirklich einer Sprache zu ordnen.
Ok, das ist mir klar. Unter einer URL kann ich auch nur einen Inhalt in einer Sprache ablegen.
Regelst du Sprache über Ordner oder Subdomain ist es relativ egal. Subdomain hat aber den Vorteil, dass du trotzdem physikalisch auf die gleiche Datei zu greifen kannst. Geht bei Ordnern glaube ich nicht (ausser man verwendet mod_rewrite).
Es muss aber eine Sprachauswahl zur Verfügung stehen.
Das ist mir auch klar.
(Evtl. geht das mit Ordnern mit symbolischen Links auf einem Unix-System - nur so als Vermutung, kp, ob das wirklich geht und/oder empfehlenswert is)
 
Naja das Problem mit den Crawlern ist ja das geringste...
Du brauchst doch nur die Länderflaggen verlinken (Ok musste sowieso) und den Rest finden die Crawler auch ;)
Alternativ kannst du auch unter die Flagge die Sprache selber verlinken.
Die Crawler gehen dann ganz normal dem Link hinterher solange du :follow gesetzt hat...
 
Wieviele Browser werden denn eine falsch eingestellte Language haben?
Das ist doch von Haus aus schon immer korrekt, weil es auf Betriebssystem-Ebene schon Informationen bekommen kann, welche Sprache es wählen muss.

Und meiner Meinung ist die beste Methode um die Standardsprache einer Seite festzlegen imemrnoch die TLD. Habe ich ein Projekt mit 3 Sprachen gibt es 3 TLDs. So können sich Nutzer aus dem jeweiligen Land die Seite besser merken und ein Engländer wird bestimmt nicht auf eine .de Domain gehen wenn es zu der Seite eine .com gibt, es seidenn durch Verlinkungen. In Suma-Ergebnissen wird er schon die richtige TLD bekommen.
Und sollte er doch auf der falschen Seite sein, was bei TLDs doch seltener der Fall ist (es seidenn es wird nur die englische wirkliche im Web verlinkt) dann gibts immernoch die Flaggensymbole die nun jeder versteht.

Also ich sehe das so:
TLDs > Browser Language-Kennung > IP