Professional XML Sitemap Generator for Shopware 6.7 following Google standards.
Live Demo: Try all OXID eShop and Shopware plugins by Markus Michalski live β no installation, no risk. demo.markus-michalski.net
1. Add Private Repository
{
"repositories": [
{
"type": "composer",
"url": "https://packeton.markus-michalski.net"
}
]
}
Note: Repository credentials will be provided upon license purchase.
2. Install Plugin
composer require mmd/shopware6-sitemap
3. Activate Plugin
bin/console plugin:refresh
bin/console plugin:install --activate MmdSitemap
bin/console cache:clear
Recommendation: Prefer Shopware Store or Composer installation for easy updates.
Update to the latest version:
composer update mmd/shopware6-sitemap
bin/console cache:clear
Generate all sitemaps:
bin/console mmd:sitemap:generate
| Option | Description |
|---|---|
-c, --clear |
Clear existing sitemaps before generation |
-t, --type |
Generate only specific types (products, categories, cms, manufacturers) |
-s, --sales-channel |
Generate only for specific Sales Channel |
# Generate only products sitemap
bin/console mmd:sitemap:generate -t products
# Clear old sitemaps and regenerate
bin/console mmd:sitemap:generate --clear
# Multiple types
bin/console mmd:sitemap:generate -t products -t categories
# Only for specific Sales Channel
bin/console mmd:sitemap:generate -s 019b7dfcab75700fada02799328e8440
Access the Sitemap Dashboard in Shopware Admin:
Settings > Extensions > Advanced XML Sitemap
Features:
Plugin configuration in Shopware Admin:
Settings > Extensions > Advanced XML Sitemap
| Setting | Default | Description |
|---|---|---|
| Enable automatic generation | On | Activates the Scheduled Task |
| Generation interval | Daily | Hourly, Every 6 hours, Every 12 hours, Daily, Weekly |
Enable/disable which content types to include:
| Setting | Default | Description |
|---|---|---|
| Include Products | On | Include product URLs in sitemap |
| Include Categories | On | Include category URLs in sitemap |
| Include CMS Pages / Landing Pages | On | Landing Pages and Service Navigation (Imprint, Terms, etc.) |
| Include Manufacturers | Off | Note: Shopware 6 does not provide SEO URLs for manufacturers by default. A third-party plugin is required. |
| Setting | Default | Description |
|---|---|---|
| Generate Hreflang Tags | On | Enable for multi-language shops |
| Include Product Images | On | Image sitemap tags for products |
| Setting | Default | Description |
|---|---|---|
| Exclude empty categories | On | Skip categories without products |
| Include product variants | Off | Include variants in addition to main products |
| Exclude out of stock products | Off | Skip products with stock = 0 |
| Setting | Default | Description |
|---|---|---|
| Max URLs per Sitemap File | 50000 | Google limit is 50,000 |
| Output Directory | sitemap | Base directory for sitemap files (relative to public/) |
| Sales Channel Slug | (empty) | Unique subdirectory name per Sales Channel (e.g. main, b2b). Empty = falls back to Sales Channel ID. |
Important: Starting with version 1.0.3, each Sales Channel writes its sitemap files to its own subdirectory to prevent cross-channel overwrites. Starting with this version, the subdirectory name can be configured per Sales Channel as a human-readable slug.
Open the plugin configuration and switch the Sales Channel at the top (selector in the config dialog). For each Sales Channel, set the Sales Channel Slug field:
| Sales Channel | Slug (Example) | Resulting Path |
|---|---|---|
| Main shop (B2C) | main |
public/sitemap/main/sitemap.xml |
| B2B shop | b2b |
public/sitemap/b2b/sitemap.xml |
| English shop | en |
public/sitemap/en/sitemap.xml |
a-z, 0-9, hyphen (-), underscore (_)-If the slug is not configured, the plugin automatically falls back to the Sales Channel ID:
public/sitemap/383daa095f4449839949a420f0759a7e/sitemap.xml
public/sitemap/98e7f4b2c1d84e3aa5c7f9b2d4e6a1b8/sitemap.xml
This means the bugfix against cross-channel overwrites is active even without manual configuration.
The plugin generates files in the configured output directory, with a dedicated subdirectory per Sales Channel:
public/sitemap/
βββ main/ # Sales Channel 1 (Slug: "main")
β βββ sitemap.xml # Sitemap Index
β βββ sitemap-products.xml # Products (with images and hreflang if enabled)
β βββ sitemap-categories.xml # Product categories
β βββ sitemap-cms.xml # CMS pages (Landing Pages + Imprint, Terms, etc.)
β βββ sitemap-manufacturers.xml # Manufacturers (if plugin available)
βββ b2b/ # Sales Channel 2 (Slug: "b2b")
βββ sitemap.xml
βββ sitemap-products.xml
βββ sitemap-categories.xml
βββ sitemap-cms.xml
For large shops with 50,000+ URLs per type, files are automatically split:
public/sitemap/main/
βββ sitemap.xml
βββ sitemap-products-1.xml
βββ sitemap-products-2.xml
βββ ...
The plugin intelligently separates:
This separation follows Google's recommendation to keep different content types in separate sitemaps.
If the Shopware Scheduled Task is not desired, generation can also be done via cron:
# Daily at 3 AM
0 3 * * * cd /var/www/shopware && bin/console mmd:sitemap:generate --clear
Add the sitemap location to robots.txt β per Sales Channel with its slug:
# Main shop (Slug: main)
Sitemap: https://your-shop.com/sitemap/main/sitemap.xml
# B2B shop (Slug: b2b, on a different domain)
Sitemap: https://b2b.your-shop.com/sitemap/b2b/sitemap.xml
Migration from version < 1.0.3: When upgrading from an older version, the sitemap URLs change. Update your
robots.txtand Google Search Console entries to the new paths with the Sales Channel subdirectory.
Short answer: Google largely ignores these values.
Google officially confirmed in 2017 that changefreq and priority are "pretty much ignored". Googlebot crawls based on:
The lastmod attribute is considered - but only if it's accurate. False or manipulated lastmod values cause Google to ignore them completely.
What does this mean for this plugin?
lastmod is automatically generated from Shopware data (updatedAt/createdAt)changefreq and priority are set with sensible defaults but are not configurable - that would only add unnecessary complexitylastmod values and structurally clean sitemapsSources:
Commercial License - Single installation license including:
See LICENSE file for full terms.
For customers who purchased this plugin through the Shopware Store, technical support is provided exclusively through the official Shopware support ticket system in your Shopware account. For general, project-related, or commercial inquiries outside the scope of the Store framework, you can reach me at support@markus-michalski.net.