Markus Michalski FAQ

XML Sitemap Generator: Sitemap Contents

What the XML Sitemap Generator writes into its files: files and splitting, selection rules per content type, URL fields, hreflang alternates, product images and the separation of categories and CMS pages.

Deutsche Version

Back to overview

XML Sitemap Generator: Sitemap Contents

Live Demo: Try this and other plugins live β€” no installation, no risk: demo.markus-michalski.net

Generated files

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
    └── ...

Splitting large sitemaps

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
└── ...

Which URLs are included

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).

Separation of categories and CMS pages

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.

Fields per URL

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.

Hreflang

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.

Product images

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.

Languages

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.