Fred: Google und das hreflang

Moin moin,

ich bin über hreflang gestolpert.

Früher notierte man im head <meta name="Content-language" content="de">, heute <html lang="de">. Aber wofür ist nun diese Angabe: <link rel="alternate" hreflang="es" href="http://es.example.com/" />?

Geht es bei der Angabe einzig darum Google alternative Sprachversionen anzugeben? Dann denke ich mal ich sollte davon gebrauch machen. Die Seite www.barth.de existiert in de und en, die en Version liegt im Verzeichnis "/en". Nun kann man diese Angabe in jeder html Datei oder in der sitemap.xml machen. Ich würde die sitemap.xml bevorzugen.

Z.Z. sehen die Einträge so aus:

<url>
  <loc>http://www.barth.de/footer/agb.html</loc>
  <lastmod>2016-02-09T10:00:00+00:00</lastmod>
</url>
<url>
  <loc>http://www.barth.de/en/footer/agb.html</loc>
  <lastmod>2016-02-09T10:00:00+00:00</lastmod>
</url>

Da ja jede Version auf sich selbst und die andere Sprachversion zeigen soll würde ich die Einträge wie folgt ändern:

<url>
  <loc>http://www.barth.de/footer/agb.html</loc>
  <xhtml:link	rel="alternate"
				hreflang="de"
				href="http://www.barth.de/footer/agb.html" />
  <xhtml:link	rel="alternate"
				hreflang="en"
				href="http://www.barth.de/en/footer/agb.html" />
  <lastmod>2016-02-10T10:00:00+00:00</lastmod>
</url>
<url>
  <loc>http://www.barth.de/en/footer/agb.html</loc>
  <xhtml:link	rel="alternate"
				hreflang="de"
				href="http://www.barth.de/footer/agb.html" />
  <xhtml:link	rel="alternate"
				hreflang="en"
				href="http://www.barth.de/en/footer/agb.html" />
  <lastmod>2016-02-10T10:00:00+00:00</lastmod>
</url>

Ist dann diese Vorgehensweise richtig und sinnvoll?

Gruß

Fred

--
Tag ein, Tag aus, Webseiten-Entwickler beklagt monotone Arbeit.
  1. @@Fred

    Früher notierte man im head <meta name="Content-language" content="de">, heute <html lang="de">.

    Das hat weniger mit früher und heute zu tun denn damit, dass verschiedene Dinge angegeben werden: Sprache des Textes vs. Sprache(n) des Zielpublikums. Die meta-Angabe ist in HTML5 nicht normgerecht und sollte nicht verwendet werden.

    Aber wofür ist nun diese Angabe: <link rel="alternate" hreflang="es" href="http://es.example.com/" />?

    Siehe Spec (unter „Otherwise“).

    Geht es bei der Angabe einzig darum Google alternative Sprachversionen anzugeben?

    Nein. Es geht darum, allen Clients alternative Sprachversionen anzugeben. Ob und was diese mit der Information anfangen, ist deren Sache.

    Wenn du also der Meinung bist, die Angabe könnte für Clients irgendwie nützlich sein, bau sie ein.

    Die Seite www.barth.de existiert in de und en

    Nur dass der Nutzer davon leider nichts mitbekommt. Nutzer mit Englisch im Browser als bevorzugte Sprache eingestellt bekommen die deutsche Seite zu sehen, obwohl doch eine englische verfügbar wäre. Schlecht. Es ist immer angebracht, Sprachvereinbarung (language negotiation) einzusetzen.

    die en Version liegt im Verzeichnis "/en".

    Damit fällt MultiViews-Sprachvereinbarung als einfache Variante aus. Das macht aber Sprachvereinbarung nicht unmöglich; var-Dateien könnten Mittel der Wahl sein. Oder PHP.

    LLAP 🖖

    --
    „Wir haben deinen numidischen Schreiber aufgegriffen, o Syndicus.“
    „Hat auf dem Forum herumgelungert …“
    (Wachen in Asterix 36: Der Papyrus des Cäsar)