Shopware SEO: was das Shopsystem für Dich erledigt – und was nicht

Warum ein sauber konfiguriertes Shopware 6 die halbe SEO-Arbeit spart – und an welchen fünf Stellen Du trotzdem selbst eingreifen musst.

„Shopware ist doch SEO-freundlich" – der Satz fällt in fast jedem Erstgespräch. Er ist nicht falsch. Shopware 6 bringt sprechende URLs, Canonical-Tags, Meta-Felder und eine automatisch erzeugte Sitemap mit, ohne dass Du eine Zeile Code anfasst. Verglichen mit dem, was man vor zehn Jahren nachbauen musste, ist das viel.

Nur führt genau dieser Satz oft zu der falschen Schlussfolgerung: dass damit das Thema erledigt sei. Ist es nicht. Ein Shopsystem kann Dir die technische Grundlage geben – welche Seiten es überhaupt gibt, wie sie heißen und was davon in den Index gehört, entscheidet die Konfiguration. Und die ist im Standard auf „funktioniert für die meisten" eingestellt, nicht auf „optimal für Deinen Katalog".

Wir gehen die fünf Stellen durch, an denen wir bei Shopware-Projekten regelmäßig eingreifen. Für jede: was das System von sich aus tut, wo die Grenze liegt und was Du konkret machen kannst.

Stelle 1

SEO-URLs: mächtig, aber mit Gedächtnis

Shopware führt für jede Seite zwei Adressen: die technische Route wie /detail/0189abcd… und den sprechenden SEO-Pfad wie /blaues-hemd/SW10001. Die Zuordnung liegt in der Tabelle seo_url, die Bauvorschrift in seo_url_template.

Diese Vorschrift kannst Du unter Einstellungen → Shop → SEO selbst schreiben – als Twig-Ausdruck, entweder global oder je Verkaufskanal. Es gibt Templates für Produktdetailseiten, Kategorieseiten und Landingpages. Das ist der eigentliche Hebel: Ob Deine Produkt-URLs die Kategorie enthalten, ob die Artikelnummer angehängt wird, ob Herstellernamen vorkommen – das legst Du hier fest, nicht der Entwickler im Template.

Zwei Dinge, die dabei regelmäßig übersehen werden:

  • Eine Änderung am Template wirkt nicht sofort. Die URLs werden von einem Indexer erzeugt. Nach einer Änderung muss er laufen (bin/console dal:refresh:index), sonst zeigt der Shop weiter die alten Adressen.
  • Alte URLs verschwinden nicht. Wird eine Adresse ersetzt, bleibt die alte Zeile als „nicht kanonisch" stehen. Das ist gut – daraus entstehen die Weiterleitungen – hat aber zwei Folgen: Die Tabelle wächst mit jeder Umbenennung, und ohne die Einstellung, bei geänderten URLs einen 301 auszugeben, verschenkst Du die Weiterleitung.

Praktische Konsequenz: Baue keine Variablen ins Template ein, die sich häufig ändern. Ein Produktname wandert im Sortiment schon mal, eine Artikelnummer nicht. Jede Änderung erzeugt eine neue Adresse und wirft die Historie der alten mit.

Stelle 2

Varianten: der Klassiker für Duplicate Content

Ein Hemd in vier Farben und fünf Größen ist in Shopware ein Produkt mit zwanzig Varianten – und zwanzig eigenen URLs. Der Inhalt dieser Seiten unterscheidet sich in einem Wort. Für Google sind das zwanzig sehr ähnliche Seiten, die sich gegenseitig Relevanz wegnehmen.

Shopware setzt das Canonical-Tag standardmäßig auf den eigenen SEO-Pfad – also jede Variante auf sich selbst. Es gibt die Option, für alle Varianten dieselbe kanonische Adresse zu verwenden. Der Haken: Du wählst dabei eine bestimmte Variante als Ziel. Automatisch auf das übergeordnete Hauptprodukt zeigen lässt sich der Canonical im Standard nicht – dafür braucht es eine Erweiterung, und für genau diesen Fall gibt es fertige Plugins.

Bevor Du das technisch löst, lohnt die inhaltliche Frage: Welche Varianten sollen überhaupt eigene Einstiegsseiten sein? Bei Farben sucht kaum jemand nach „Hemd in Petrol" – da gehört alles auf eine Seite. Bei Größen im Reifen- oder Werkzeughandel ist es umgekehrt: „205/55 R16" ist eine echte Suchanfrage mit Kaufabsicht. Die Antwort ist bei jedem Sortiment anders, und sie entscheidet, ob Du Canonicals setzt oder Varianten bewusst einzeln optimierst.

Stelle 3

Filter und Eigenschaften: wo Crawl-Budget verbrennt

Die Filternavigation ist das Feature, das SEO in großen Shops am zuverlässigsten sabotiert. Jede Kombination aus Farbe, Größe, Hersteller und Preisbereich erzeugt eine eigene, verlinkte URL. Bei sechs Filtern mit je fünf Werten sind das rechnerisch mehr Adressen, als Dein Sortiment Produkte hat – und jede davon zeigt eine Teilmenge derselben Kategorie.

Ein Canonical-Tag löst das nur halb. Es sagt Google, welche Seite zählt, aber die Filter-URLs werden trotzdem gecrawlt. Bei einem großen Katalog geht dabei Crawl-Budget verloren, das für neue Produkte gebraucht würde. Wirksamer ist, das Crawling dieser Parameter von vorn zu unterbinden – über Regeln in der robots.txt oder serverseitig.

Wichtig ist die Unterscheidung, die dabei oft untergeht: Nicht crawlen und nicht indexieren sind zwei verschiedene Dinge. Wer eine URL per robots.txt sperrt, verhindert, dass Google sie liest – auch ein noindex auf der Seite wird dann nicht gesehen. Beides gleichzeitig auf dieselbe URL anzuwenden, funktioniert nicht. Erst entscheiden, was das Ziel ist, dann das passende Mittel wählen.

Umgekehrt gilt: Einzelne Filterseiten können wertvoll sein. „Wanderschuhe wasserdicht Damen" hat Suchvolumen. Solche Kombinationen gehören dann nicht in die Sperrliste, sondern als eigene Kategorie oder Landingpage angelegt – mit eigenem Text, eigener Adresse und eigenem Canonical.

Stelle 4

Kategorieseiten sind Deine wichtigsten Landingpages

Die meisten Shops optimieren Produktdetailseiten und behandeln Kategorien als Durchgangsstation. Aus SEO-Sicht ist das verkehrt herum. Wer „Arbeitshandschuhe kaufen" sucht, will eine Auswahl, kein einzelnes Produkt – und genau diese generischen Suchbegriffe haben das Volumen.

Shopware gibt Dir dafür alles Nötige: Kategorien haben eigene Meta-Felder, eigene SEO-URL-Templates und lassen sich über Erlebniswelten mit echtem Inhalt füllen. Genutzt wird das selten. Eine typische Kategorieseite besteht aus einer Überschrift und einem Produktraster – zu wenig, um gegen einen Wettbewerber zu bestehen, der dort erklärt, worauf es bei der Auswahl ankommt.

Was hilft, ist unspektakulär: ein einleitender Absatz, der die Kaufentscheidung wirklich unterstützt, sinnvolle Unterkategorien statt einer Filterorgie, und interne Verlinkung zwischen verwandten Kategorien. Dazu die Breadcrumb-Variable im URL-Template, damit die Struktur des Sortiments in den Adressen sichtbar wird.

Stelle 5

Ladezeit: Shopware kann schnell, wenn man es lässt

Shopware ist an den entscheidenden Stellen erstaunlich sorgfältig gebaut. Ein Beispiel, das man selten sieht: Statt für jeden Link im Template die Datenbank nach der SEO-URL zu fragen, setzt Shopware einen Platzhalter und ersetzt alle Platzhalter nach dem Rendern in einer einzigen Abfrage. Bei einer Kategorieseite mit sechzig Produkten ist das der Unterschied zwischen einer und einundsechzig Abfragen.

Trotzdem sind langsame Shopware-Shops die Regel, nicht die Ausnahme. Die Ursachen liegen fast nie im Kern, sondern im Drumherum: ein Theme, das jede Bibliothek mitlädt; Bilder, die in Originalgröße ausgeliefert werden, statt in den passenden Formaten; ein Dutzend Plugins, von denen drei in jeden Seitenaufbau eingreifen; und ein deaktivierter oder falsch konfigurierter HTTP-Cache.

Die Reihenfolge beim Aufräumen ist immer dieselbe: erst messen, welche Seitentypen langsam sind, dann Bilder und Caching, dann das Theme, zuletzt die Plugins. Wer mit den Plugins anfängt, sucht lange.

Kurzcheck für Deinen Shop: Enthält Dein URL-Template Variablen, die sich ändern können? Ist die 301-Weiterleitung bei geänderten URLs aktiv? Zeigen Varianten-Canonicals auf eine sinnvolle Zielseite? Werden Filterparameter gecrawlt, die niemandem nützen? Haben Deine wichtigsten Kategorien mehr als eine Überschrift? Wenn Du bei einer Frage zögerst, liegt dort der erste Hebel.

Was an diesen fünf Punkten auffällt: Keiner davon ist eine Frage von Textmenge oder Keyword-Dichte. Es sind Struktur- und Konfigurationsentscheidungen, die früh getroffen werden und später teuer zu ändern sind – weil jede Änderung an URLs Weiterleitungen, Historie und Rankings berührt.

Deshalb lohnt es sich, sie beim Aufsetzen oder beim Relaunch bewusst zu treffen, statt sie dem Standard zu überlassen. Der Standard ist ein guter Ausgangspunkt. Eine Entscheidung ist er nicht.

Häufig gestellte Fragen

Ja, die Grundlagen sind solide: sprechende URLs mit konfigurierbaren Templates, Canonical-Tags, Meta-Felder auf Produkten und Kategorien, automatische Sitemap. Was Shopware nicht mitbringt, sind die Entscheidungen: welche Varianten eigene Seiten sein sollen, welche Filter-URLs in den Index gehören, wie Deine Kategoriestruktur aussieht. Genau daran entscheiden sich die Rankings.

Weil die URLs von einem Indexer erzeugt und gespeichert werden, nicht bei jedem Seitenaufruf berechnet. Nach einer Änderung am Template muss der Indexer laufen – auf der Konsole per bin/console dal:refresh:index, danach muss die Queue abgearbeitet werden. Vorher zeigt der Shop weiter die alten Adressen.

Erst entscheiden, ob die Varianten eigene Suchanfragen bedienen. Bei Farben meist nicht – dann alle Varianten auf eine kanonische Adresse zeigen lassen. Shopware kann im Standard eine bestimmte Variante als Ziel setzen, aber nicht automatisch das Hauptprodukt; dafür gibt es Plugins. Bei Größen, die tatsächlich gesucht werden, ist der umgekehrte Weg richtig: eigene, unterschiedlich getextete Seiten.

Nicht beides gleichzeitig – das schließt sich aus. Wer per robots.txt sperrt, verhindert das Crawling; ein noindex auf der Seite wird dann nie gelesen. Geht es um Crawl-Budget in einem großen Katalog, ist das Sperren richtig. Sollen bereits indexierte URLs aus dem Index verschwinden, brauchen sie noindex und müssen dafür crawlbar bleiben.

Technische Korrekturen wie Weiterleitungen oder Canonicals greifen, sobald Google die Seiten neu gecrawlt hat – das sind Tage bis Wochen. Strukturelle Arbeit an Kategorien und Inhalten braucht länger, realistisch drei bis sechs Monate, bis sich das in Positionen zeigt. Bei einem großen Katalog dauert schon das erneute Crawlen aller Seiten mehrere Wochen.