Wie eine Webseite für Google in mehreren Sprachen anbieten?
Ich habe es zurzeit mit JSON gemacht. Das bedeutet, die Seite lädt je nach Browser des Nutzers die passende Übersetzung, nur die englische Version ist im HTML-Code. Das ist die Standardversion.
Jetzt habe ich eine Zeit lang überlegt und ich denke, hreflang ist sinnvoll und ich sollte die Webseite statisch übersetzen, weil Google glaube keine Möglichkeit hat, automatisch die JSON-Datei zu crawlen bzw. traue ich Google nicht zu, dass es das kann.
Dafür kann man JSON viel einfacher übersetzen.
Hat jemand Ahnung von Webentwicklung und eine Idee?
3 Antworten
Die JSON kannst du ja genau so beibehalten. Und statt per JavaScript am Frontend, gibst du die richtige Übersetzung einfach direkt serverseitig schon aus und lieferst sie im HTML mit. Dort hast du ebenfalls die Info über die vom Benutzer im Browser eingestellte Sprache.
Am besten gibst du dazu auch jeder Sprache eine eigene URL oder einen URL-Parameter. Das macht es Google leichter und erlaubt es dir die entsprechenden alternate-Tags zu setzen (also z.B.: <link rel="alternate" hreflang="de" href="https://example.com/de">).
Mehr dazu: https://developers.google.com/search/docs/specialty/international/localized-versions?hl=de
Falls du genauere Hilfe brauchst, sag gerne Bescheid und sag uns auch, welche Sprache/Tools du fürs Backend verwendest.
Ich habe dass bisher immer so gemacht das die Seiten auf dem Server gerendert werden. Im HTML Code ist quasi ein Platzhalter, der ersetzt wird. Die Sprache wird dabei anhand von entweder dem Accept-Language Header oder einem Cookie entschieden.
Wie du das am besten bei dir umsetzen kannst hängt davon ab was du als Backend verwendest.
Inwiefern der Crawler von Google mit diesem Header arbeitet weiß ichn ich. Eine kurze Recherche ergab, dass Google eher auf Urls achtet, also sollte die Sprache eher anhand von der URL abhängig sein wie /de oder /en
LG Suiram1
(...) ich denke hreflang ist sinnvoll (...)
Wenn du Seiten mit gleichen Inhalt, aber in jeweils anderer Sprache hast, solltest du definitiv hreflang-Tags setzen. Anhand dessen kann Google entscheiden, auf welche Version deiner Seite sie Nutzer leitet und ebenso, welche Inhalte sie im Suchergebnis ausspielen soll.
Allerdings spielen für die korrekte Sprachzuordnung noch weitere Faktoren eine Rolle. Achte darauf, das lang-Attribut (für den html-Tag) korrekt zu setzen und für Sprache X auch wirklich Inhalt in Sprache X auszuliefern.
Des Weiteren sollte die URL-/Domainstruktur passend sein. Angenommen, du hast die Sprachen DE und EN, könntest du entweder zwei Domains (example.de, example.com) nutzen oder eine Sprachinformation im URL-Pfad einbauen (example.com/de/, example.com/en/).
(...) weil Google glaube keine Möglichkeit hat automatisch die json Datei zu crawln bzw traue ich Google nicht zu dass es das kann (...)
Der Google Crawler kann mit JavaScript umgehen. Wenn man davon ausgeht, dass das Skript, welches die Übersetzungen in das DOM einfügt, schnell und zuverlässig funktioniert, ist es also nicht abwegig davon auszugehen, dass auch diese Daten erfasst werden. Voraussetzung ist natürlich, dass das Skript nicht nur bei Klick die richtigen Übersetzungen lädt, sondern ebenso beim Aufruf der entsprechenden Seite.
Nichtsdestotrotz wäre eine serverseitige Lösung definitiv besser und zuverlässiger. Zum einen kannst du doch bereits mit der ersten Anfrage (anhand der URL/des User-Agent) bestimmen, welche Sprache du brauchst, zum anderen können die Inhalte schneller geladen und auch von Crawlern ohne JavaScript-Support gelesen werden.
Wie eine konkrete Implementation dafür aussehen könnte, ist unter anderem davon abhängig, worauf deine Webanwendung aufbaut und was der Webhoster / der genutzte Webserver unterstützt. In der Logik könntest du deine JSON-Datei weiter nutzen oder stattdessen auf bewährte Formate wie .po/.mo-Dateien wechseln. Es gibt für solche Fälle oft bereits passende Implementationen (siehe bspw. gettext in PHP oder i18n für Node.js). Solltest du ein Webframework oder CMS nutzen, solltest du zunächst in dessen Dokumentation nach passenden Funktionen schauen.