Internationalisierung

hreflang in Shopware einrichten

Shopware erzeugt hreflang aus den Domains eines Verkaufskanals — nicht aus Sprachen, nicht aus Übersetzungen. Wer das verwechselt, sucht den Fehler an der falschen Stelle.

Pixup MediaVeröffentlicht am Aktualisiert am 8 Min. Lesezeit

Mehrsprachige Shopware-Shops haben ein wiederkehrendes Muster: Alles ist übersetzt, die Sprachumschaltung funktioniert, und trotzdem tauchen im Quelltext keine hreflang-Angaben auf. Der Grund ist fast immer derselbe — und er liegt nicht bei den Übersetzungen.

Woher Shopware die Angaben nimmt

Der HreflangLoader im Kern liest die Domains eines Verkaufskanals. Die Abfrage holt je Domain drei Dinge:

FeldWoher
urldie Domain selbst
localeüber die zugeordnete Sprache aus der Locale-Tabelle
hreflang_use_only_localeeine Einstellung an der Domain

Daraus baut er die Verweise. Nicht aus der Sprachliste, nicht aus dem Vorhandensein von Übersetzungen, nicht aus dem Sprachumschalter.

Das erklärt den häufigsten Fall: Eine zweite Sprache ist angelegt, alle Inhalte sind übersetzt, aber es gibt keine zweite Domain-Zeile im Verkaufskanal. Dann gibt es auch keinen hreflang-Eintrag — vollkommen konsequent, aber überraschend, wenn man von der Übersetzung her denkt.

Die Einstellung „nur Locale"

Das Feld hreflang_use_only_locale entscheidet über die Ausgabeform:

EinstellungAusgabe
ausde-DE, en-GB — Sprache und Land
einde, en — nur die Sprache

Wann was richtig ist: Wenn eine Sprachfassung an ein Land gebunden ist — etwa unterschiedliche Preise oder Versandbedingungen für Deutschland und Österreich —, gehört das Land dazu. Wenn eine englische Fassung für alle englischsprachigen Märkte gilt, ist en präziser als ein willkürliches en-GB.

Die Entscheidung fällt je Domain, nicht global. Ein Shop kann de-DE, de-AT und en gleichzeitig führen.

Was in der Sitemap fehlt

Das Sitemap-Protokoll erlaubt, Sprachverknüpfungen als xhtml:link-Einträge in der Sitemap zu hinterlegen. Shopwares Sitemap-Erzeugung kennt sie nicht.

Für die Wirkung ist das meist unerheblich — Google wertet die Angaben in der Storefront aus. Relevant wird es bei sehr grossen mehrsprachigen Katalogen, wo gebündelte Angaben ohne Seitenabruf ein Vorteil wären. Wer das braucht, kommt um eine Erweiterung nicht herum — unsere eigene schreibt die Angaben als xhtml:link mit (Sitemap Generator). Was der Kern in die Sitemap schreibt und was nicht, steht in Die Sitemap in Shopware: was drinsteht und was fehlt.

Der Schalter, der vor allem anderen kommt

Nachtrag vom 18. September 2026. Diese Prüfliste begann ursprünglich bei den Domains. Eine spätere Messung hat gezeigt, dass davor noch ein Schalter sitzt — und dass er ab Werk aus ist.

In beiden gemessenen Installationen steht hreflang_active auf jedem Verkaufskanal auf 0:

6.6.10.66.7.13.1
Verkaufskanäle mit aktivem hreflang0 von 20 von 2
Domains im Kanal23, davon zwei mit unterschiedlicher Sprache
ausgegebene rel="alternate"-Verweise00

Die 6.7-Installation erfüllt also alle Voraussetzungen der Liste unten — mehrere Domains, verschiedene Sprachen, derselbe Kanal — und gibt trotzdem null Verweise aus. Das Kern-Template gibt hreflang nur aus, wenn die Variable hrefLang gefüllt ist, und die bleibt leer, solange der Schalter je Kanal aus ist.

Das ist die häufigste Ursache überhaupt, und sie steht in keiner Fehlermeldung. Wer alles richtig eingerichtet hat und trotzdem nichts sieht, sucht in aller Regel hier.

Zu finden ist die Einstellung in den Einstellungen des Verkaufskanals, nicht bei den Sprachen und nicht bei den Domains — also genau dort, wo man sie nicht vermutet.

Prüfliste, wenn hreflang fehlt

In dieser Reihenfolge, weil sie von der häufigsten zur seltensten Ursache geht:

  1. Ist hreflang am Verkaufskanal überhaupt eingeschaltet? Ab Werk ist es das nicht. Siehe oben.
  2. Hat der Verkaufskanal mehr als eine Domain-Zeile? Wenn nein, ist das die Antwort.
  3. Ist jeder Domain eine eigene Sprache zugeordnet? Zwei Domains mit derselben Sprache ergeben keine sinnvolle Verknüpfung.
  4. Gehören alle Sprachfassungen zum selben Verkaufskanal? Verweise entstehen innerhalb eines Kanals. Zwei getrennte Kanäle verknüpfen sich nicht von selbst.
  5. Stimmt die Locale-Zuordnung der Sprache? Der Code kommt von dort, nicht vom Sprachnamen.
  6. Ist die Domain aktiv und erreichbar? Ein Verweis auf eine nicht erreichbare Adresse ist schlechter als keiner.

Erst wenn diese sechs Punkte stimmen, lohnt der Blick in Template-Anpassungen.

Zwei Fehler, die teuer werden

Verweise, die nicht zurückverweisen. hreflang muss beidseitig sein. Wenn die deutsche Seite auf die englische zeigt, die englische aber nicht zurück, ignoriert Google beide Angaben. Bei getrennten Verkaufskanälen entsteht das schnell, ohne dass jemand es merkt.

Sprachfassungen ohne eigene URL. Wenn die Sprachumschaltung nur ein Cookie setzt und die URL gleich bleibt, gibt es nichts, worauf hreflang zeigen könnte. Jede Sprachfassung braucht eine eigene, dauerhaft erreichbare Adresse.

Was hreflang nicht leistet

Es ist kein Ranking-Signal. Es sagt einer Suchmaschine, welche Fassung für welche Sprache gedacht ist — nicht, dass eine davon wichtiger wäre. Wer von hreflang bessere Positionen erwartet, wird enttäuscht; wer erwartet, dass Nutzer in der richtigen Sprache landen, meist nicht.

Und es ersetzt keine Übersetzung. Eine als englisch ausgezeichnete Seite mit deutschem Inhalt schadet mehr, als sie nützt. Worauf beim automatisierten Übersetzen zu achten ist — besonders bei Feldern, die Shopware selbst berechnet —, steht in Produktdaten übersetzen, ohne Daten zu verlieren.

Wenn Sie damit anfangen

Der schnellste Weg zu einer belastbaren Aussage: eine Produktseite je Sprache aufrufen und im Quelltext nach hreflang suchen. Was dort steht, ist der tatsächliche Zustand — unabhängig davon, was die Konfiguration vermuten lässt.

Wie wir mehrsprachige Shops aufsetzen und übersetzen, steht auf Pixup AI Translator.

Häufige Fragen

Brauche ich für jede Sprache eine eigene Domain?
Für hreflang in Shopware ja — ein Eintrag entsteht je Verkaufskanal-Domain. Ein Verzeichnis wie /en/ zählt dabei als eigene Domain-Zeile, es muss keine eigene Top-Level-Domain sein.
Was bewirkt „nur Locale“?
Ohne die Option gibt Shopware den vollständigen Code aus, etwa de-DE. Mit der Option nur den Sprachteil, also de. Sinnvoll, wenn eine Sprachfassung nicht an ein Land gebunden ist.
Warum steht hreflang nicht in meiner Sitemap?
Weil der Kern es dort nicht erzeugt. Die Sitemap-Erzeugung kennt keine xhtml:link-Einträge; hreflang kommt ausschliesslich aus der Storefront.
Brauche ich x-default?
Nicht zwingend. Sinnvoll ist es, wenn es eine Fassung gibt, die für alle nicht abgedeckten Sprachen die richtige ist — etwa eine englische Fassung als Auffanglösung.
WeiterführendPixup AI Translator