XML Sitemap Generator: Inhalte der Sitemap
Was der XML Sitemap Generator in die Dateien schreibt: Dateien und Aufteilung, Auswahlregeln je Inhaltstyp, URL-Felder, Hreflang-Alternativen, Produktbilder und Trennung von Kategorien und CMS-Seiten.
XML Sitemap Generator: Inhalte der Sitemap
Live Demo: Teste dieses und weitere Plugins live — ohne Installation, ohne Risiko: demo.markus-michalski.net
Generierte Dateien
Pro Sales Channel entsteht ein eigenes Verzeichnis (siehe Konfiguration):
public/sitemap/
├── main/ # Sales Channel 1 (Slug: "main")
│ ├── sitemap.xml # Sitemap-Index
│ ├── sitemap-products.xml # Produkte
│ ├── sitemap-categories.xml # Kategorien
│ ├── sitemap-cms.xml # Landing Pages, Service- und Footer-Seiten
│ └── sitemap-manufacturers.xml # Hersteller
└── b2b/ # Sales Channel 2 (Slug: "b2b")
├── sitemap.xml
└── ...
- Die Dateien sind immer unkomprimierte
.xml-Dateien, es gibt keine.gz-Variante. - Eine Typ-Datei entsteht nur, wenn der Typ aktiviert ist und mindestens eine URL liefert.
sitemap.xmlist der Index und führt alle erzeugten Typ-Dateien mit ihrer vollständigen URL und dem Datum der Generierung alslastmod. Er wird nur geschrieben, wenn mindestens eine Typ-Datei entstanden ist.- Der Host in den Index-Einträgen stammt von der Domain des Sales Channels in dessen Standardsprache; ein Pfadanteil der Domain wird abgeschnitten, weil die Dateien im Document-Root liegen.
Aufteilung großer Sitemaps
Pro Datei stehen höchstens so viele URLs, wie Max. URLs pro Sitemap-Datei erlaubt (höchstens 50.000). Sobald ein Typ dieses Limit erreicht, wird die Datei geschrieben und nummeriert, auch wenn der Typ genau so viele URLs hat wie das Limit. Weitere URLs landen in der nächsten nummerierten Datei:
public/sitemap/main/
├── sitemap.xml
├── sitemap-products-1.xml
├── sitemap-products-2.xml
└── ...
Welche URLs aufgenommen werden
Eine URL gelangt nur dann in die Sitemap, wenn für den Eintrag eine kanonische SEO-URL für den Sales Channel in dessen Standardsprache existiert. Einträge ohne SEO-URL werden übersprungen.
| Typ | Aufgenommen werden |
|---|---|
| Produkte | aktive Produkte, die im Sales Channel sichtbar sind. Varianten nur mit Produktvarianten einbeziehen, nur Produkte mit Lagerbestand über 0 mit Ausverkaufte Produkte ausschließen |
| Kategorien | aktive, sichtbare Kategorien vom Typ Seite ab der zweiten Ebene, die nicht unter der Service- oder Footer-Navigation liegen. Mit Leere Kategorien ausschließen nur Kategorien, denen mindestens ein aktives Produkt direkt zugewiesen ist |
| CMS-Seiten | aktive Landing Pages, die dem Sales Channel zugewiesen sind, sowie aktive, sichtbare Seiten-Kategorien unterhalb der Service- und der Footer-Navigation des Sales Channels |
| Hersteller | alle Hersteller mit SEO-URL, gegebenenfalls mit Logo |
Bei Kategorien gibt es keinen Filter auf die Navigations-Wurzel des Sales Channels. Die Zuordnung zum Sales Channel ergibt sich allein daraus, dass für die Kategorie eine kanonische SEO-URL für diesen Sales Channel (oder ohne Sales-Channel-Zuordnung) existiert.
Trennung von Kategorien und CMS-Seiten
Seiten wie Impressum, AGB oder Datenschutz liegen in Shopware als Kategorien unter der Service- oder Footer-Navigation. Das Plugin führt sie in sitemap-cms.xml und lässt sie in sitemap-categories.xml weg. So bleiben Produktkategorien und redaktionelle Seiten in getrennten Dateien.
Felder je URL
| Feld | Inhalt |
|---|---|
loc |
absolute URL aus Domain und SEO-Pfad |
lastmod |
letzte Änderung des Eintrags (aktualisiert am, sonst erstellt am), Format JJJJ-MM-TT |
changefreq |
Produkte und Kategorien weekly, CMS-Seiten und Hersteller monthly |
priority |
Produkte 0.8, Kategorien 0.7, Hersteller 0.6, CMS-Seiten 0.5 |
changefreq und priority sind fest vorgegeben und nicht konfigurierbar. Google wertet beide Angaben laut der Dokumentation zu Sitemaps nicht aus. Wichtig ist ein korrektes lastmod, und das stammt direkt aus den Shopware-Daten.
Hreflang
Mit Hreflang-Tags generieren ergänzt das Plugin pro URL xhtml:link-Einträge mit rel="alternate". Für jede Sprache, in der der Eintrag eine kanonische SEO-URL hat, entsteht ein Eintrag mit dem Locale-Code der Sprache (zum Beispiel de-DE), zusätzlich ein x-default, das auf die URL selbst zeigt.
Die alternativen URLs setzen sich aus der Domain des Sales Channels (in dessen Standardsprache) und dem SEO-Pfad der jeweiligen Sprache zusammen.
Hreflang funktioniert damit zuverlässig, wenn die Sprachen eines Sales Channels unter derselben Domain liegen, etwa über Pfad-Präfixe wie
/en/. Hat jede Sprache eine eigene Domain, zeigen die alternativen URLs auf die Domain der Standardsprache.
Produktbilder
Mit Produktbilder einbeziehen enthält jeder Produkt-Eintrag image:image-Tags: das Cover-Bild und weitere Produktbilder, insgesamt höchstens fünf. Als image:title dient der Alt-Text des Bildes, sonst der Produktname. Bei Herstellern wird das Logo als Bild eingetragen. Kategorien und CMS-Seiten enthalten keine Bilder.
Sprachen
Pro Sales Channel entsteht ein Satz Sitemaps in der Standardsprache des Sales Channels. Weitere Sprachen erscheinen nur als Hreflang-Alternativen. Betreibst du Sprachen als eigene Sales Channels, erhält jeder Sales Channel seine eigene Sitemap.