Live Demo: Teste dieses und weitere Plugins live — ohne Installation, ohne Risiko: demo.markus-michalski.net
Es gibt drei Wege, Sitemaps zu erzeugen. Alle drei nutzen denselben Generator und schreiben in dieselben Dateien.
| Admin-Button | Scheduled Task | Console Command | |
|---|---|---|---|
| Sales Channels | der in der Konfiguration gewählte | alle aktiven Storefront-Sales-Channels, für die die geplante Generierung aktiv ist | alle aktiven Storefront-Sales-Channels oder einer per -s |
| Inhaltstypen | alle aktivierten | alle aktivierten | alle aktivierten, einschränkbar per -t |
| Alte Dateien löschen | immer | immer | nur mit -c / --clear |
In der Plugin-Konfiguration (Erweiterungen > Meine Erweiterungen > Erweiterte XML Sitemap) zeigt die Karte Manuelle Generierung für den oben gewählten Sales Channel die Anzahl der URLs insgesamt und je Typ (Produkte, Kategorien, CMS-Seiten, Hersteller).
Die angezeigten Zahlen sind Näherungswerte aus der Datenbank: Sie berücksichtigen weder den Filter Leere Kategorien ausschließen noch die Trennung von Kategorien und CMS-Seiten noch fehlende SEO-URLs. Die tatsächliche Zahl steht nach der Generierung im Ergebnis.
Der Button nutzt die Admin-API, siehe Admin-API.
Der Task mmd.sitemap.generation läuft im eingestellten Intervall (Standard: täglich) und erzeugt für jeden aktiven Storefront-Sales-Channel alle aktivierten Typen. Bestehende sitemap*.xml-Dateien im Zielverzeichnis des jeweiligen Sales Channels werden vorher gelöscht. Schlägt ein Sales Channel fehl, schreibt der Task einen Fehler ins Log und macht mit dem nächsten weiter.
Einstellungen und Voraussetzungen stehen unter Konfiguration und Installation.
bin/console mmd:sitemap:generate
| Option | Beschreibung |
|---|---|
-s, --sales-channel |
Nur fĂĽr diese Sales-Channel-ID generieren. Ohne Angabe werden alle aktiven Storefront-Sales-Channels verarbeitet |
-t, --type |
Nur diese Typen generieren: products, categories, cms, manufacturers. Mehrfach angebbar |
-c, --clear |
Bestehende sitemap*.xml-Dateien im Zielverzeichnis vor der Generierung löschen |
--dry-run |
Nichts schreiben, nur die URL-Anzahl je aktiviertem Typ anzeigen |
Typen, die in der Konfiguration des Sales Channels ausgeschaltet sind, werden auch mit -t nicht erzeugt. Unbekannte Werte bei -t werden ignoriert. Bleibt kein Typ ĂĽbrig, meldet der Befehl, dass fĂĽr den Sales Channel kein Sitemap-Typ aktiviert ist.
Mit --dry-run listet der Befehl die URL-Anzahlen aller aktivierten Typen des Sales Channels, unabhängig von -t. Es sind dieselben Näherungswerte wie im Admin.
# Nur Produkte-Sitemap generieren
bin/console mmd:sitemap:generate -t products
# Alte Sitemaps löschen und neu generieren
bin/console mmd:sitemap:generate --clear
# Mehrere Typen
bin/console mmd:sitemap:generate -t products -t categories
# Nur fĂĽr einen bestimmten Sales Channel
bin/console mmd:sitemap:generate -s 019b7dfcab75700fada02799328e8440
# Nur zählen, nichts schreiben
bin/console mmd:sitemap:generate --dry-run
Der Befehl gibt je Sales Channel die wirksame Konfiguration, den Ausgabepfad und die geschriebenen Dateien aus. Er endet nur dann mit einem Fehlercode, wenn kein aktiver Sales Channel gefunden wurde. Der Schalter fĂĽr die geplante Generierung hat auf den Befehl keinen Einfluss.
Wenn du den Shopware-Scheduler nicht nutzen möchtest, schalte Automatische Generierung aktivieren aus und erzeuge die Sitemaps per Cronjob:
# Täglich um 3 Uhr
0 3 * * * cd /var/www/shopware && bin/console mmd:sitemap:generate --clear
Laufen Task und Cronjob gleichzeitig, wird die Sitemap doppelt erzeugt. Nutze nur einen der beiden Wege.