Professional XML Sitemap Generator for Shopware 6.5 - 6. following Google standards.
Installation via the Shopware Store is recommended. After purchase, you can install the plugin directly from the backend.
Add the private Composer repository to your shop's composer.json:
{
"repositories": [
{
"type": "composer",
"url": "https://packeton.markus-michalski.net"
}
]
}
Note: Repository credentials will be provided upon license purchase. Private repositories are managed via Packeton.
composer require mmd/shopware6-sitemap
When prompted for authentication, enter the credentials provided with your license.
bin/console plugin:refresh
bin/console plugin:install --activate MmdSitemap
bin/console cache:clear
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 | Directory for sitemap files (relative to public/) |
The plugin generates files in the configured output directory:
public/sitemap/
├── 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)
For large shops with 50,000+ URLs per type, files are automatically split:
public/sitemap/
├── 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 sitemap location to robots.txt:
Sitemap: https://your-shop.com/sitemap/sitemap.xml
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 questions and support:
Markus Michalski
Email: support@markus-michalski.net