Google: Fehlerhafte hreflang-Tags

Ein CMSimple Support Forum für deutsch sprechende Nutzer und Entwickler
Post Reply
Ralf H.
Posts: 495
Joined: Sun Feb 16, 2014 1:45 pm
Location: Münsterland
Contact:

Google: Fehlerhafte hreflang-Tags

Post by Ralf H. » Wed Oct 26, 2016 6:14 pm

Hallo zusammen,

habe von Google Search Console eine Mail bekommen:
Fehlerhafte hreflang-Tags auf http://www.badminton-tips.de/

Code: Select all

Fehler,Anzahl der Fehler
"""x-default"" – keine Rücklinks",11
"""en"" – keine Rücklinks",11
"""de"" – keine Rücklinks",11
Die Deatails sehen so aus:

Code: Select all

URL mit dem Fehler,Crawling-Datum,Alternative URL
http://www.badminton-tips.de/?Badminton_Basteleien:Gebrochene_Rackets:Anleitung_gebr._Rackets_03&next=20,14.06.16,http://www.badminton-tips.de/?Badminton_Basteleien:Gebrochene_Rackets:Anleitung_gebr._Rackets_03
http://www.badminton-tips.de/?Fotos&page=6,20.09.16,http://www.badminton-tips.de/?Fotos
http://www.badminton-tips.de/?Fotos&pic=1&page=0,07.06.16,http://www.badminton-tips.de/?Fotos
http://www.badminton-tips.de/?Fotos&pic=3&page=0,21.06.16,http://www.badminton-tips.de/?Fotos
http://www.badminton-tips.de/?Fotos&pic=4&page=0,06.07.16,http://www.badminton-tips.de/?Fotos
http://www.badminton-tips.de/?Fotos&pic=47&page=2,28.07.16,http://www.badminton-tips.de/?Fotos
http://www.badminton-tips.de/?Fotos&pic=5&page=0,25.07.16,http://www.badminton-tips.de/?Fotos
http://www.badminton-tips.de/?Fotos&pic=51&page=2,04.08.16,http://www.badminton-tips.de/?Fotos
http://www.badminton-tips.de/?Fotos&pic=61&page=3,22.08.16,http://www.badminton-tips.de/?Fotos
http://www.badminton-tips.de/?Fotos&pic=64&page=3,14.10.16,http://www.badminton-tips.de/?Fotos
http://www.badminton-tips.de/en/?Photo_Album&pic=20&page=0,19.09.16,http://www.badminton-tips.de/?Fotos
Wenn ich mir aber z.B. den betreffenden html-Code von einer gelisteten Seite:
http://www.badminton-tips.de/?Badminton ... Rackets_03

Code: Select all

<<link rel="alternate" hreflang="x-default" href="http://www.badminton-tips.de/?Badminton_Basteleien:Gebrochene_Rackets:Anleitung_gebr._Rackets_03">
<link rel="alternate" hreflang="de" href="http://www.badminton-tips.de/?Badminton_Basteleien:Gebrochene_Rackets:Anleitung_gebr._Rackets_03">
<link rel="alternate" hreflang="en" href="http://www.badminton-tips.de/en/?Badminton_Handicrafts:Broken_Rackets:Guide_br._Rackets_03">
ansehe, dann sieht dieser Code für mich nicht anders aus, als bei einer -un-gelisteten Seite:
http://www.badminton-tips.de/?Badminton ... Rackets_02

Code: Select all

<link rel="alternate" hreflang="x-default" href="http://www.badminton-tips.de/?Badminton_Basteleien:Gebrochene_Rackets:Anleitung_gebr._Rackets_02">
<link rel="alternate" hreflang="de" href="http://www.badminton-tips.de/?Badminton_Basteleien:Gebrochene_Rackets:Anleitung_gebr._Rackets_02">
<link rel="alternate" hreflang="en" href="http://www.badminton-tips.de/en/?Badminton_Handicrafts:Broken_Rackets:Guide_br._Rackets_02">
Die Mehrsprachigkeit setze ich mit Polyglott_XH 1.0beta2 um.

Beim Fotoalbum (lb_Gallery 1.7beta1) gibt es mehrsprachig scheinbar tatsächlich ein Problem:
Die Unterseiten verweisen bei Wechsel von Deutsch auf Englisch immer auf die Start-Gallerie-Seite:
Deutsche Fotoübersicht Seite 3
Bei Wechsel auf Englisch:
Englische Fotoübersicht Seite 1

lg,
Ralf
Badminton Individual-/Gruppentraining im Münsterland:
http://www.badminton-tips.de (deutsch)

cmb
Posts: 14225
Joined: Tue Jun 21, 2011 11:04 am
Location: Bingen, RLP, DE
Contact:

Re: Google: Fehlerhafte hreflang-Tags

Post by cmb » Thu Oct 27, 2016 1:04 pm

Ralf H. wrote:Fehlerhafte hreflang-Tags auf http://www.badminton-tips.de/
Ich glaube zu diesem Thema gab es bereits vor eine Weile eine Diskussion hier im Forum. Mir ist nicht wirklich klar, was Google (und andere Suchmaschinen) genau erwarten. Da müsste ich noch mal nachforschen – hat aber derzeit leider geringe Priorität für mich.
Ralf H. wrote:Beim Fotoalbum (lb_Gallery 1.7beta1) gibt es mehrsprachig scheinbar tatsächlich ein Problem:
Die Unterseiten verweisen bei Wechsel von Deutsch auf Englisch immer auf die Start-Gallerie-Seite:
Finde ich jetzt nicht so problematisch, aber vermutlich sollte Polyglott_XH die zusätzlichen Query-Parameter nicht einfach schlucken. Das könnte dann aber Probleme mit den hreflang Links geben (DC Problem, weil nicht jeder Parameter wirklich relevant ist, aber ohne Weiteres kann ein Plugin nicht wissen, was andere Plugins mit solchen Parametern anstellen).
Christoph M. Becker – Plugins for CMSimple_XH

meltemi
Posts: 177
Joined: Sat Feb 22, 2014 10:11 pm
Location: Franken (Deutschland)
Contact:

Re: Google: Fehlerhafte hreflang-Tags

Post by meltemi » Fri Oct 28, 2016 9:19 pm

Hallo Ralf,

habe mir nur die ersten beiden Fälle angeschaut:

1. ...ung_gebr._Rackets_03&next=20 und ...ung_gebr._Rackets_03

1.1
Der einleitende html-tag fehlt: <html lang="de">
1.2
Für die Adresse ...ung_gebr._Rackets_03&next=20 müßte die deutsche Sprachanmerkung lauten:
<link rel="alternate" hreflang="de" href="http://www.badminton-tips.de/?Badminton_Basteleien:Gebrochene_Rackets:Anleitung_gebr._Rackets_03&next=20">
(wenn gegenüber der Browser-Adreßzeile was weggelassen wird, ist das falsch)
1.3
Unter beiden Adressen ist der gleiche Inhalt zu sehen (das ist DC).

2. /?Fotos&page=6 und /?Fotos

2.1
Der einleitende html-tag fehlt: <html lang="de">
2.2
Für die Adresse /?Fotos&page=6 müßte die deutsche Sprachanmerkung lauten:
<link rel="alternate" hreflang="de" href="http://www.badminton-tips.de/?Fotos&page=6">
2.3
Für die Adresse /?Fotos&page=6 müßte die englische Sprachanmerkung lauten:
<link rel="alternate" hreflang="en" href="http://www.badminton-tips.de/en/?Photo_Album&page=6">

3. Zur entsprechenden Seite /?Photo_Album&page=6

3.1
Der einleitende html-tag fehlt: <html lang="en">
3.2
Die englische Sprachanmerkung müßte lauten:
<link rel="alternate" hreflang="en" href="http://www.badminton-tips.de/en/?Photo_Album&page=6">
3.3
Die deutsche Sprachanmerkung müßte lauten:
<link rel="alternate" hreflang="de" href="http://www.badminton-tips.de/?Fotos&page=6">

Bei so vielen Fehlern blickt Google wohl nicht mehr durch.

edit: Listen-Nummerierung berichtigt

Ralf H.
Posts: 495
Joined: Sun Feb 16, 2014 1:45 pm
Location: Münsterland
Contact:

Re: Google: Fehlerhafte hreflang-Tags

Post by Ralf H. » Wed Nov 02, 2016 10:02 am

Hallo meltemi,

vielen Dank für deine Hinweise. Habe ich leider erst heute gesehen.
meltemi wrote:
1. ...ung_gebr._Rackets_03&next=20 und ...ung_gebr._Rackets_03

1.1
Der einleitende html-tag fehlt: <html lang="de">
Ist aber nicht anders bei den von Google -nicht- reklamierten Seiten wie z.B. Rackets_02.
Mich wundert einfach, dass manches beanstandet wird, und eigentlich identisches dann wieder nicht.
1.2
Für die Adresse ...ung_gebr._Rackets_03&next=20 müßte die deutsche Sprachanmerkung lauten:
<link rel="alternate" hreflang="de" href="http://www.badminton-tips.de/?Badminton_Basteleien:Gebrochene_Rackets:Anleitung_gebr._Rackets_03&next=20">
(wenn gegenüber der Browser-Adreßzeile was weggelassen wird, ist das falsch)
Bei mir in FF lautet die Adresse: http://www.badminton-tips.de/?Badminton ... Rackets_03
1.3
Unter beiden Adressen ist der gleiche Inhalt zu sehen (das ist DC).
Stimmt, aber wie kommt man auf den Link + &next=20?
2.1
Der einleitende html-tag fehlt: <html lang="de">
Scheint bei mir wohl überall zu sein. Wo also eintragen? Wahrscheinlich ins Template?!
2.2
Für die Adresse /?Fotos&page=6 müßte die deutsche Sprachanmerkung lauten:
<link rel="alternate" hreflang="de" href="http://www.badminton-tips.de/?Fotos&page=6">
Da dies scheinbar vom Plugin nicht unterstützt wird, muss die Eintragungen wohl händisch vornehmen.

lg,
Ralf
Badminton Individual-/Gruppentraining im Münsterland:
http://www.badminton-tips.de (deutsch)

cmb
Posts: 14225
Joined: Tue Jun 21, 2011 11:04 am
Location: Bingen, RLP, DE
Contact:

Re: Google: Fehlerhafte hreflang-Tags

Post by cmb » Wed Nov 02, 2016 12:00 pm

Ralf H. wrote:Stimmt, aber wie kommt man auf den Link + &next=20?
Das ist die Paginierung von Comments. Eigentlich sollte das aber kein DC sein, denn dann würden ja alle Paginierungen von Teilinhalten DC erzeugen. Bin aber kein SEO-Experte.
Ralf H. wrote:Scheint bei mir wohl überall zu sein. Wo also eintragen? Wahrscheinlich ins Template?!
Ja, das sollte im Template eingetragen werden. Damit es sowohl für Deutsch und Englisch funktioniert:

Code: Select all

<html lang="<?php echo $sl?>">
Ralf H. wrote:Da dies scheinbar vom Plugin nicht unterstützt wird, muss die Eintragungen wohl händisch vornehmen.
Das geht nicht manuell, weil man ja nicht weiß, welche Query-Parameter angegeben wurden. Aber ich bin mir auch nicht sicher, ob wirklich alle Parameter im hreflang Attribut (unverändert) angeführt werden sollten. Und auf jeden Fall müssten dann die von Polyglott_XH automatisch erzeugten hreflang links unterdrückt werden. Im Zweifel besser Polyglott_XH anpassen, und zwar function languageURL ersetzen durch:

Code: Select all

    public function languageURL($language, $tag)
    {
        $res = $this->getInstallationUrl();
        if ($language != $this->defaultLanguage) {
            $res .= $language . '/';
        }
        if (isset($this->tags[$tag][$language])) {
            $res .= '?' . $this->tags[$tag][$language];
        }
        $additionalParams = preg_replace('/^[^&]*(&|$)/', '', $_SERVER['QUERY_STRING']);
        if ($additionalParams != '') {
            if (isset($this->tags[$tag][$language])) {
                $res .= '&';
            } else {
                $res .= '?';
            }
            $res .= $additionalParams;
        }
        return $res;
    }
Ist aber ungetestet!
Last edited by cmb on Mon Dec 25, 2017 12:27 pm, edited 1 time in total.
Reason: Fix typo
Christoph M. Becker – Plugins for CMSimple_XH

Ralf H.
Posts: 495
Joined: Sun Feb 16, 2014 1:45 pm
Location: Münsterland
Contact:

Re: Google: Fehlerhafte hreflang-Tags

Post by Ralf H. » Wed Nov 02, 2016 6:38 pm

Hallo Christoph,
cmb wrote:Ja, das sollte im Template eingetragen werden. Damit es sowohl für Deutsch und Englisch funktioniert:

Code: Select all

<html lang="<?php echo $sl?>">
Habe ich jetzt in alle 5 von mir angepassten Templates eingetragen. Eigenartig, dass im Original-Template der Code nicht drin ist?!
Wie dem auch sei. Der jeweilige html-tag wird jetzt richtig erzeugt.
cmb wrote:Im Zweifel besser Polyglott_XH anpassen, und zwar function languageURL ersetzen durch:

Code: Select all

    public function languageURL($language, $tag)
    {
        $res = $this->getInstallationUrl();
        if ($language != $this->defaultLanguage) {
            $res .= $language . '/';
        }
        if (isset($this->tags[$tag][$language])) {
            $res .= '?' . $this->tags[$tag][$language];
        }
        $addtionalParams = preg_replace('/^[^&]*(&|$)/', '', $_SERVER['QUERY_STRING']);
        if ($additionalParams != '') {
            if (isset($this->tags[$tag][$language])) {
                $res .= '&';
            } else {
                $res .= '?';
            }
            $res .= $additionalParams;
        }
        return $res;
    } 
Habe ich ersetzt. Springt aber weiterhin bei Sprachwechsel zur Anfangsposition im Fotoalbum.
Stört mich nicht, aber scheinbar Google. ;)

lg,
Ralf
Badminton Individual-/Gruppentraining im Münsterland:
http://www.badminton-tips.de (deutsch)

meltemi
Posts: 177
Joined: Sat Feb 22, 2014 10:11 pm
Location: Franken (Deutschland)
Contact:

Re: Google: Fehlerhafte hreflang-Tags

Post by meltemi » Wed Nov 02, 2016 11:32 pm

Hallo,
cmb wrote:ich bin mir auch nicht sicher, ob wirklich alle Parameter im hreflang Attribut (unverändert) angeführt werden sollten.
In der Google Search Console (vormals Webmaster tools) gibt es unter Crawling den Punkt URL-Parameter, wo man verschiedene Einstellungen vornehmen kann.

Passende Hilfetexte dazu gibt es bei Google auch: https://www.google.com/support/webmaste ... er/1235687 (und weitere dort verlinkte Seiten).

Vielleicht wäre es sinnvoll, vor Einsatz von Sprachanmerkungen erst mal die Parameterbehandlung bei Google festzulegen (und Polyglott-Kunden darauf hinzuweisen, wie sie vorgehen sollen).
Ralf H. wrote:Stört mich nicht, aber scheinbar Google.
Google stört's auch nicht, sondern weist nur darauf hin.

Post Reply