Google indexiert domain.de/startseite statt domain.de

Hallo zusammen!

Hat jemand eine Idee warum unsere Webshop Homepage (Oxid CE 4.10) für kulmine.de/startseite statt für kulmine.de bei google rankt?

Backlinks laufen alle auf kulmine.de oder www.kulmine.de.

VG, Amitab

Das liegt wohl an den hreflang-Tags. Eine Sofortmaßnahme wäre den hreflang-Block in base.tpl auszukommentieren. Anders lässt sich das nicht so ohne weiteres ändern. Ich sehe das als Bug, der Demoshop wird auch mit /index.php?cl=start gelistet.

Ja, das habe ich auch schon vermutet, da unser Shop aber zweisprachig angelegt ist, ist das vermutlich auch nicht die beste Lösung.

Wenn du sagtst “nicht so ohne weiteres”, hast du da Ideen, was man probieren könnte?

Was mir aufgefallen ist: Wenn ich kulmine.de abrufe und rendern lasse, dann zeigt mir google unter “wie der Bot es sieht” die Homepage wie sie sein soll aber unter “wie ein Besucher es gesehen hätte”, da wird die englische Seite angezeigt.

Die Seiten werden auch ohne hreflang indexiert, hreflang ist ja m.E. hauptsächlich dafür da wenn die Sprachen sehr ähnlich sind so dass G nicht weiß ob es jetzt lieber die deutsche oder die österreichische Seite ausliefern soll. Ich hab einen Bug dazu erstellt der ist erstmal direkt wieder geschlossen worden: https://bugs.oxid-esales.com/view.php?id=6798

Was man sonst probieren könnte, abwarten ob G irgendwann doch das canonical tag verwendet, oder ein Modul programmieren.

Dass “wie ein Besucher es gesehen hätte” in englisch ist wird daran liegen dass Oxid auf der Startseite versucht die richtige Sprache zu erraten, aber nur wenn der Besucher kein Searchengine ist.

Ich denke ich konnte es lösen, mit Hilfe dieses Beitrages von Rafiq.

Ich haben den hreflang Block ergänzt.

vorher:

            [{if $_lng->id == $oConfig->getConfigParam('sDefaultLang')}]
                <link rel="alternate" hreflang="x-default" href="[{$_lng->link}]"/>
            [{/if}]
            <link rel="alternate" hreflang="[{$_lng->abbr}]" href="[{$_lng->link|oxaddparams:$oView->getDynUrlParams()}]"/>

nachher:

            [{if $_lng->id == $oConfig->getConfigParam('sDefaultLang')}]
                <link rel="alternate" hreflang="x-default" href="[{$_lng->link|replace:'startseite/':''}]"/>
            [{/if}]
            <link rel="alternate" hreflang="[{$_lng->abbr}]" href="[{$_lng->link|oxaddparams:$oView->getDynUrlParams()|replace:'startseite/':''}]"/>

domain.de/ sieht jetzt so aus:

 <link rel="alternate" hreflang="x-default" href="https://kulmine.de/">
 <link rel="alternate" hreflang="de" href="https://kulmine.de/">
 <link rel="alternate" hreflang="en" href="https://kulmine.de/en/home/">

statt wie vorher:

 <link rel="alternate" hreflang="x-default" href="https://kulmine.de/STARTSEITE/">
 <link rel="alternate" hreflang="de" href="https://kulmine.de/STARTSEITE">
 <link rel="alternate" hreflang="en" href="https://kulmine.de/en/home/">

Grüß!

p.S.:

Additionally, OXID does not even use “startseite” and “en/home” on the start page anymore, instead oxid uses “index.php?cl=start” (since V6)

Ich habe die V6 nicht im Einsatz. Hast du geguckt ob man wie in der V4.10 die für “index.php?cl=start” statische URLs vergeben kann (siehe Screenshot)? (Erst dachte ich man könnte dort vielleicht auch “/” statt “/startseite/” angeben, aber das ging nicht. Deswegen jetzt die Lösung oben.)

Ja kann man und die sind auch vergeben, es erscheint aber dennoch die Standard-Url. Also falls du mal auf die V6 umsteigst musst du das entsprechend anpassen.