Jörg Reinholz: Zum gleichen Thema eine Frage

Beitrag lesen

ich habe offensichtlich auch "duplicate-content".

Google ist Dir dankbar dafür, dass Du selbst übersetzt.

Bei Aufruf von example.com wird je nach Sprache zu example.com/de/index.html bzw. example.com/fr/index.html verzweigt.

Was meinst mit "verzweigt"?

Man erhält also die deutsche Version über zwei Möglichkeiten:
example.com und example.com/de/index.html

Findet eine Weiterleitung statt oder wird die deutsche Version ohne eine solche geladen?

Wenn ich jetzt example.com/de/index.html - wie empfohlen - umleiten würde (301) zu example.com würde ich doch vermutlich eine Endlosschleife erhalten.

Das kommt darauf an.

Was mache ich in diesem Falle sinnvolligerweise?

Es gibt da viele Varianten.

Variante 1:

Beim Aufruf von http://example.com/ und übermitteln der Information "he, ich deutsches Browser!" wird ein Redirekt, also eine Umleitung zu http://example.com/de/ initiiert.

Dann verbietet sich jede weitere Umleitung zu http://example.com/. Man könnte zwar Maßnahmen ergreifen (Sessions, Cookies...) aber das ist alles Unsinn.

Variante 2:

Keine Umleitung, sondern ein locales rewrite bzw. include.

Variante 2a)
------------
Useragent fordert http://example.com/ und übermittelt die Information "he, ich deutsches Browser!"

Auslieferung von DOCUMENT_ROOT/de/index.html oder DOCUMENT_ROOT/index.html.de. Es wird aber kein Redirekt durchgeführt.

Dann ist eine Umleitung zu http://example.com/ obsolet, denn das ist die URL.

Variante 2b)
------------
Useragent fordert http://example.com/de/ und übermittelt die Information "parlez en francais avec moi!"

Wegen der expliziten Willenserklärung des Benutzers erfolgt Auslieferung von DOCUMENT_ROOT/de/index.html oder DOCUMENT_ROOT/index.html.de. Es wird aber ebenfalls kein Redirekt durchgeführt.

Dann ist eine Umleitung zu http://example.com/ obsolet, denn das ist die URL.

Wenn Du sauber arbeiten willst, dann versehe im Fall der Variante 2 die Webseiten mit den entsprechenden Angaben:

<link rel="alternate" hreflang="de" href="http://example.com/de/" />  
<link rel="alternate" hreflang="fr" href="http://example.com/fr/" />

Dann werden Deine sprachspezifischen Seiten in den Suchmachinen auch passend zur Sprache und/oder Region angezeigt.

Theoretisch könntest Du, wenn diese Seiten abgerufen werden, ein Cookie setzen und zu http://example.com/ zurückschicken, nur wüsste ich keinen triftigen Grund für den Aufwand, halte das sogar für kontraproduktiv.

(W3C dazu)
Zitat:
"If the alternate keyword is used with the hreflang attribute, and that attribute's value differs from the root element's language, it indicates that the referenced document is a translation."

Wenn das "alternate"-Schlüsselwort zusammen mit einem "hreflang"-Attribut benutzt wird, dessen Wert von der Sprachangabe für das Root-Element (der aktuellen Webseite) abweicht, dann zeigt das an, dass das referenzierte Element eine Übersetzung ist.

(http://www.ietf.org/rfc/bcp/bcp47.txt) (Ab Seite 79 mit Beispielen für Sprachen bzw. Sprachen/Regionen)

Jörg Reinholz