Seite 1 von 1

hreflang

Verfasst: 10.10.2016, 16:40
von Lothar1951
Hallo,

mir gelingt es nicht hreflang einzubinden. Brauche Hilfe!!! Meine index.html sieht so aus:

<html>

<head><link rel="SHORTCUT ICON" href="../images/wohnwagen.ico">
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-3166-1 Alpha-2">
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-693-1">
<link rel="alternate" hreflang="x-default" href="https://www.eurocamping.camp/de/" />
<link rel="alternate" hreflang="de-DE" href="https://www.eurocamping.camp/de/" />
<link rel="alternate" hreflang="fr-FR“ href="https://www.eurocamping.camp/fr/" />
<link rel="alternate" hreflang="es-ES" href="https://www.eurocamping.camp/es/" />
u.s.w.

mein de-Verzeichnis sieht so aus:

<html>

<head>
<link rel="SHORTCUT ICON" href="../images/wohnwagen.ico">
<meta http-equiv="Content-Language" content="de">

<title>Eurocamping, Camping</title>
<head><link rel="SHORTCUT ICON" href="../images/wohnwagen.ico">
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-3166-1 Alpha-2">
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-693-1">

<link rel="alternate" hreflang="de-DE" href="https://www.eurocamping.camp/" />
</head>

Mit freundlichen Grüßen
L.Rappsilber

Verfasst:
von

Re: hreflang

Verfasst: 11.10.2016, 04:04
von nerd
Lothar1951 hat geschrieben: mir gelingt es nicht hreflang einzubinden. Brauche Hilfe!!! Meine index.html sieht so aus:


<link rel="alternate" hreflang="x-default" href="https://www.eurocamping.camp/de/" />
<link rel="alternate" hreflang="de-DE" href="https://www.eurocamping.camp/de/" />
<link rel="alternate" hreflang="fr-FR“ href="https://www.eurocamping.camp/fr/" />
<link rel="alternate" hreflang="es-ES" href="https://www.eurocamping.camp/es/" />
Da hast du doch hreflang...?!

google empfiehlt auf https://support.google.com/webmasters/a ... 9077?hl=en allerdings, statt "en-EN" nur die einfachen kuerzel wie "en" zu verwenden.
Lothar1951 hat geschrieben: <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-3166-1 Alpha-2">
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-693-1">
Ist falsch- META HTTP-EQUIV="Content-Type" darf nur einmal vorkommen, und wenn du zwischen verschiedenen sprachen wechselst dann sollte es am besten ueberall utf-8 sein. Allerdings muessen deine DB-tables und DB-verbindung dafuer auch entsprechend eingestellt sein.

Btl wie hreflang links sollten nicht zur startseite deines englischen angebotes verlinken, sondern auf die entsprechend uebersetzte seite der derzeitigen(!) seite.

Also wenn du z.b. auf https://www.eurocamping.camp/de/campsites-deutschland bist, dann waere hreflang ein link auf die uebersetzte seite, also wahrscheinlich https://www.eurocamping.camp/en/campsites-germany .

Verfasst: 11.10.2016, 10:38
von Lothar1951
Danke für die Antwort^!!!

Welche iso sollte ich benutzen? 3166 oder 693?

Die Seite www.eurocamping.camp/de wird nicht angesprungen.

Verfasst: 11.10.2016, 11:12
von nerd
Wie kommst du denn auf 3166 oder 693?

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> gehoert da hin (wenn der rest deines CMS ebenfalls auf utf-8 setzt!), oder <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/> wenn du explizit deutsch (und keine anderen zeichensaetze) haben willst.

Verfasst: 11.10.2016, 11:18
von Lothar1951
Man sollte ja lt. google 3166 oder 693 benutzen. Ich weis nur nicht, welche ich bei de-DE (Sprache-Land) benutzen sollte. Außerdem wird nicht zu www.eurocamping.camp/de verlinkt.

Verfasst:
von

Verfasst: 11.10.2016, 11:36
von Lothar1951
Zum Verständnis:

Es geht, weil ich mit asp arbeite!!!

<%
Code = Request.ServerVariables ("HTTP_ACCEPT_LANGUAGE")

Select Case lcase(right(Code,2))
case "de","lu","li"
Response.Redirect("https://www.eurocamping.camp/de")
case "at"
Response.Redirect("https://www.eurocamping.camp/at")

usw.

Verfasst: 11.10.2016, 11:37
von Lothar1951
Ich möchte aber mit hreflang arbeiten!!!

Verfasst: 12.10.2016, 00:11
von nerd
Lothar1951 hat geschrieben:Zum Verständnis:

Es geht, weil ich mit asp arbeite!!!
Oh gott - ASP! :o

Ich verstehe durchaus was du machen willst, aber bitte vergiss zuerst mal alles, was bisher gemacht und gelernt hast. Du verwechselst hier Laendercodes (ISO 3166, 639) mit den Zeichensatz codierungen deiner webseite (UTF-8, iso-8859-1).

Auf deiner webseite schreibst du NICHT den iso code fuer die laendertabellen selbst rein, sondern nur den WERT den du verwenden willst - also meineswegen "de-DE":
<link rel="alternate" hreflang="de-DE" href=" https://www.eurocamping.camp/de" />

Die angaben fuer den zeichensatz deiner webseite gehoeren ZUSAETZLICH mit in den header, und sorgen dafuer das sonderzeichen wie umlaute und sz auch auf englischen, chinesischen, russischen usw. computern korrekt angezeigt werden, die normalerweise einen voellig anderen zeichensatz verwenden:

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

Beide angaben sind 2 voellig verschiedene dinge, und zumindeste der content type sollte immer vorhanden sein! Content type bezieht sich immer auf die aktuelle seite die derzeit im browser angezeigt wird, und hat nicht mit den anderen hreflang seiten zu tun!

Lothar1951 hat geschrieben: <%
Code = Request.ServerVariables ("HTTP_ACCEPT_LANGUAGE")

Select Case lcase(right(Code,2))
case "de","lu","li"
Response.Redirect("https://www.eurocamping.camp/de")
case "at"
Response.Redirect("https://www.eurocamping.camp/at")

usw.
Den user einfach ungefragt auf andere seiten umzuleiten ist aber schlecht.

HTTP_ACCEPT_LANGUAGE gibt nur an, welche sprachen der user grundsaetzlich versteht, sobald es unter chrome://settings/languages eingestellt wurde. Da koennen auch durchaus mehr als nur 2 zeichen drinnenstehen, z.b. "de,en,es,fr".
Theoretisch sollte die sprache die am weitesten links steht die muttersprache sein, und die, die rechts steht die am wenigsten bevorzugte sprache sein, aber ich wuerde micht nicht unbedingt darauf verlassen das das alles vom benutzer richtig (oder ueberhaupt!) eingestellt ist. Meistens steht da nur auf welche sprache das OS des benutzers eingestellt ist.

Wenn der user bei dir auf einen /en/ link klickt, wird er immer wieder auf die deutsche seite umgeleitet, selbst wenn er unbedingt die englische seite sehen will. Was der user explizit ausweahlt sollte aber immer eine hoehere prioritaet haben als deine voreinstellung, oder was du als standardwert annimmst.

In der praxis habe ich bisher wenig verwenung fuer HTTP_ACCEPT_LANGUAGE gehabt, eben weil das, was der user will teilweise absolut nichts mit dem zu tun haben muss was der user im browser eingestellt hat, oder auch nicht.
Damit kannst du bestenfalls seine bevorzugte sprache ganz oben in einer auswahlliste anzeigen um es dem user ein bischen leichter zu machen, aber sonst haelt sich der praktische wert in grenzen.

Verfasst: 12.10.2016, 10:57
von Lothar1951
Danke, hat sehr geholfen. Jetzt geht es!!!