Live Demo: Try this and other plugins live β no installation, no risk: demo.markus-michalski.net
Each Sales Channel gets its own directory (see Configuration):
public/sitemap/
βββ main/ # Sales Channel 1 (slug: "main")
β βββ sitemap.xml # Sitemap index
β βββ sitemap-products.xml # Products
β βββ sitemap-categories.xml # Categories
β βββ sitemap-cms.xml # Landing pages, service and footer pages
β βββ sitemap-manufacturers.xml # Manufacturers
βββ b2b/ # Sales Channel 2 (slug: "b2b")
βββ sitemap.xml
βββ ...
.xml files, there is no .gz variant.sitemap.xml is the index and lists all generated type files with their full URL and the generation date as lastmod. It is written only if at least one type file was created.Each file holds at most as many URLs as Max URLs per Sitemap File allows (at most 50,000). As soon as a type reaches this limit, the file is written and numbered, even if the type has exactly as many URLs as the limit. Further URLs go into the next numbered file:
public/sitemap/main/
βββ sitemap.xml
βββ sitemap-products-1.xml
βββ sitemap-products-2.xml
βββ ...
A URL ends up in the sitemap only if the entry has a canonical SEO URL for the Sales Channel in its default language. Entries without an SEO URL are skipped.
| Type | Included |
|---|---|
| Products | active products that are visible in the Sales Channel. Variants only with Include product variants, only products with stock above 0 with Exclude out of stock products |
| Categories | active, visible categories of type page from the second level on that are not under the service or footer navigation. With Exclude empty categories only categories with at least one active product assigned directly |
| CMS pages | active landing pages assigned to the Sales Channel, plus active, visible page categories below the Sales Channel's service and footer navigation |
| Manufacturers | all manufacturers with an SEO URL, with logo where available |
For categories there is no filter on the Sales Channel's navigation root. The assignment to the Sales Channel results solely from the category having a canonical SEO URL for that Sales Channel (or one without a Sales Channel assignment).
Pages such as imprint, terms or privacy policy are categories under the service or footer navigation in Shopware. The plugin puts them into sitemap-cms.xml and leaves them out of sitemap-categories.xml. This keeps product categories and editorial pages in separate files.
| Field | Content |
|---|---|
loc |
absolute URL from domain and SEO path |
lastmod |
last change of the entry (updated at, otherwise created at), format YYYY-MM-DD |
changefreq |
products and categories weekly, CMS pages and manufacturers monthly |
priority |
products 0.8, categories 0.7, manufacturers 0.6, CMS pages 0.5 |
changefreq and priority are fixed and not configurable. According to Google's sitemap documentation Google does not evaluate either of them. What matters is a correct lastmod, and that comes directly from the Shopware data.
With Generate Hreflang Tags the plugin adds xhtml:link entries with rel="alternate" to each URL. For every language in which the entry has a canonical SEO URL, an entry with the language's locale code (for example de-DE) is created, plus an x-default that points to the URL itself.
The alternate URLs are composed of the Sales Channel's domain (in its default language) and the SEO path of the respective language.
Hreflang therefore works reliably when the languages of a Sales Channel share the same domain, for example via path prefixes such as
/en/. If each language has its own domain, the alternate URLs point to the domain of the default language.
With Include Product Images each product entry contains image:image tags: the cover image and further product images, at most five in total. The image's alt text serves as image:title, otherwise the product name. For manufacturers the logo is added as the image. Categories and CMS pages contain no images.
Per Sales Channel one set of sitemaps is created, in the Sales Channel's default language. Other languages appear only as hreflang alternates. If you run languages as separate Sales Channels, each Sales Channel gets its own sitemap.