Skip to content

Kategorien & Canonical

Der Kategorien-Tab haelt einen lokalen Cache des Shopware-Kategorienbaums. newmeta nutzt den Cache, um:

  • Das Kategorie-Dropdown in den Widgets sw6ProductListing und sw6CategoryTeaser zu befuellen.
  • Eine Canonical-URL pro Shopware-Produkt zu berechnen — auch wenn das Produkt in mehreren Kategorien liegt.
  • Anzuzeigen, welche Kategorien bereits eine dedizierte CMS-Seite haben (Direkt / Geerbt / Keine).

Tab oeffnen

Klicke VOD / Shop → Shopware 6 → Kategorien.

Kategorienbaum mit Hierarchie, Canonical-Toggle und CMS-Status-Icons
Kategorienbaum: Name links, CMS-Status in der Mitte, Canonical-Toggle rechts.

Kategorienbaum synchronisieren

Klicke Jetzt synchronisieren. Die CMS liest den aktuellen Shopware-Navigationsbaum und schreibt ihn nach sw6_category_cache.

  • Der Sync laeuft automatisch alle 6 Stunden (Scheduled Task sw6_sync_categories.php).
  • Manueller Sync wirkt sofort.
  • Der Zeitpunkt des letzten Syncs steht neben dem Button.

Aufklappen / Zuklappen

  • Alles aufklappen / Alles zuklappen — ganzer Baum.
  • Chevron pro Zeile — einzelner Zweig.

Was jede Zeile zeigt

ElementBedeutung
Ordner-/Datei-IconKategorie mit / ohne Kinder.
KategorienameAus sw6_category_cache.name fuer die aktuelle Sprache.
(N)Anzahl direkter Kinder.
versteckt / inaktiv BadgeKategorie ist in der Navigation versteckt oder in Shopware inaktiv.
CMS-Status-Icon + LabelDirekt, Geerbt oder Keine (siehe unten).
Canonical-ToggleMacht diese Kategorie zur Canonical-Wurzel fuer ihre Produkte.
Kategorie-UUIDDie Shopware-Kategorie-ID.

CMS-Status — Direkt / Geerbt / Keine

Nicht jede Shopware-Kategorie hat eine passende CMS-Seite. Der CMS-Status beantwortet "auf welche CMS-Seite zeigt diese Kategorie?":

StatusBedeutung
DirektEs gibt eine CMS-Seite mit sw6ProductListing- oder sw6CategoryTeaser-Widget, gefiltert auf diese Kategorie.
GeerbtKeine eigene CMS-Seite, aber die Elternkategorie hat eine — das Kind erbt die URL als Basis.
KeineKeine CMS-Seite, auch nicht beim Elternteil. Produkte dieser Kategorie fallen auf eine generische Detail-URL zurueck.

Kategorie-Landingpages bauen

Kategorien mit Keine-Status sind im Frontend unsichtbar, solange kein sw6ProductListing oder sw6CategoryTeaser darauf zeigt. Pro Hauptkategorie eine CMS-Seite bauen, damit keine toten Zweige entstehen.

Canonical-Toggle

Shopware-Produkte koennen zu vielen Kategorien gehoeren. Der Canonical-Toggle sagt newmeta, welche Kategorie fuer die Canonical-URL des Produkts verwendet wird.

  • Canonical (Indigo-Toggle): Produkte nutzen diese Kategorie als Canonical-Wurzel, wenn sie die tiefste canonical-markierte Kategorie ist, zu der das Produkt gehoert.
  • Nicht canonical (graues Toggle): Diese Kategorie zaehlt nicht bei der Canonical-Berechnung.

Ein Klick kippt den Toggle. Die Aenderung:

  1. Schreibt sw6_category_cache.canonical_enabled.
  2. Invalidiert den Produkt-Canonical-Cache fuer betroffene Produkte.
  3. Startet eine asynchrone Neuberechnung (Anzahl betroffener Produkte erscheint als Toast).

Das Badge manuell erscheint, wenn der Wert durch einen Nutzer gesetzt wurde — automatische Defaults zeigen das Badge nicht.

Nur eine Canonical pro Produktfamilie

Zu viele Canonical-Kategorien fuehren zu widerspruechlichen Canonicals. Faustregel: Nur die oberste Navigations-Ebene jeder Produktfamilie markieren. Tiefe Unterkategorien aus lassen.

Baum ist leer

Zeigt der Baum "Keine Kategorien im Cache.", ist eines der folgenden der Fall:

  • Verbindung-Tab ist noch nicht gruen.
  • Root Kategorie ID ist leer oder falsch — der Sync findet unter dieser Wurzel nichts.
  • Der Sync lief noch nie.

Die ersten beiden Punkte fixen, dann Jetzt synchronisieren.

Haeufige Fehler

Dubletten im Baum

Erscheint dieselbe Kategorie zweimal, passt die aktuelle CMS-Admin-Sprache nicht zu einem konfigurierten Sprach-Mapping. Der On-Page-Code filtert den Baum auf eine Sprache (WHERE language_short = 'current'); Admin-UI-Sprache wechseln und Tab neu oeffnen.

Kategoriename in Englisch trotz DE-Admin

Der Baum liest Namen aus sw6_category_cache, gefiltert auf die aktuelle Admin-Sprache. Ist der Name falsch, nach Pruefen des Sprach-Mappings erneut synchronisieren.

Canonical-Toggle zeigt im Frontend keine Wirkung

Die Canonical wird vom Produkt-Canonical-Cache gelesen. Nach dem Umschalten den naechsten Produkt-Cache-Sync abwarten (oder auf Produkt-Cache manuell ausloesen), damit das <link rel="canonical"> im Frontend aktualisiert wird.

Siehe auch