SEO-ready XML sitemaps for Strapi CMS. Create manual URL sets or sitemap indexes, generate dynamic feeds from collection types, and expose every endpoint behind role-based permissions no external services required.
๐ Strapi Advanced Sitemap

SEO-ready XML sitemaps for Strapi CMS. Create manual URL sets or sitemap indexes, generate dynamic feeds from collection types, and expose every endpoint behind role-based permissionsโno external services required.
๐ User Guide
๐บ Learn how to use Advanced Sitemap in Strapi with our step-by-step guide

Direct link: https://www.webbycrown.com/guides/strapi-advanced-sitemap/strapi-quick-start
๐ฅ Overview & Usage Demo
A short introduction and quick overview of Strapi Advanced Sitemap, showcasing how to build manual or dynamic XML sitemaps, publish sitemap indexes, and control access per role inside the Strapi admin panel.

โถ๏ธ Watch Full Video on YouTube
โจ Features
๐๏ธ Manual Sitemap Builder
- Single sitemap (
<urlset>): curate individual URLs with optional priority values
- Sitemap index (
<sitemapindex>): reference other sitemap files (internal or external)
- Automatic URL resolution: combine relative paths with your site base URL
- UI hints & validation: friendly helper text, required field checks, URL previews
๐ Dynamic Collection Sitemaps
- Pattern-based URLs: use tokens like
/blog/[slug] (supports nested fields)
- Entry prefix & base path: compose clean URLs without extra middleware
- Frequency, priority, lastmod: configure crawl metadata per sitemap
- Draft filtering: includes only published entries from Draft & Publish collections
๐ Permission-Aware Delivery
- Role gating: every endpoint maps to an action (
plugin::strapi-advanced-sitemap.controller.*)
- Public crawler control: enable only the endpoints you want search engines to reach
- API token support: respect token-bound permissions for programmatic access
๐ ๏ธ Admin-First Workflow
- Inline editing: manage everything from Settings โ Strapi Advanced Sitemap
- Frontend base URL control: store the live site origin once and reuse it across manual and collection previews
- Instant feedback: clear success/error messages plus live URL previews for every manual entry
- No redeploys: sitemap definitions are stored in Strapi entities
๐ธ Feature Screens
Configure Sitemap Page

Permissions in Public Role Screen

Manual Sitemap Settings (Sitemap Index)

Manual Sitemap Settings (URL Set)

Collection Sitemap Settings

Collection Sitemap Entry

๐ ๏ธ Installation
Via npm
npm install @webbycrown/strapi-advanced-sitemap
Via yarn
yarn add @webbycrown/strapi-advanced-sitemap
Enable the plugin
Update config/plugins.js:
module.exports = {
'strapi-advanced-sitemap': {
enabled: true,
},
};
Restart Strapi and rebuild the admin panel:
npm run build
npm run develop
โก Quick Start
- Open the admin panel โ Settings โ Strapi Advanced Sitemap
- Add a manual sitemap (single or index) and configure filename/base path
- Add entries
- Single sitemap: supply URLs (relative or absolute) + optional priorities
- Index sitemap: supply links to other sitemap files
- Add a collection sitemap: pick a collection type, define a pattern (e.g.
/articles/[slug]), and adjust metadata
- Grant permissions: Settings โ Users & Permissions โ Roles โ Public (or another role) โ enable the sitemap actions:
serveRootSitemap
serveManualSitemapIndex
serveManualSitemapFile
serveCollectionSitemapFile
Available Endpoints
/sitemap.xml โ root sitemap index (manual + collection entries)
/sitemaps/manual-sitemaps โ manual sitemap index (if configured)
/sitemaps/{filename}.xml โ individual manual sitemap files
/api/strapi-advanced-sitemap/collection-sitemaps/{id}.xml โ collection XML (also linked from the root)
๐งญ Manual Sitemap Types
| Type | Emits | When to use | Entry expectations |
|---|
| Single sitemap | <urlset> | Hand-curated URLs (blogs, landing pages) | Each entry is a path or absolute URL; optional priority |
| Sitemap index | <sitemapindex> | Aggregate internal/external sitemap files | Each entry points to another sitemap file |
Relative paths are automatically combined with your configured base URL and per-sitemap base path.
๐งฑ Collection Sitemap Patterns
- Use
[fieldName] tokens (nested allowed: [author.slug]) to build URLs
- Combine with โEntry prefixโ or โBase pathโ to match your routing strategy
lastmod draws from updatedAt, publishedAt, or createdAt
- Draft entries are excluded when Draft & Publish is enabled
Example pattern:
๐ Permissions & Security
- Actions live under
plugin::strapi-advanced-sitemap.*
- Denied roles receive
401 Unauthorized responses
- API tokens respect the same action mapping
- Manual sitemaps store relative paths onlyโfinal URLs are resolved server side
๐งช Troubleshooting
| Symptom | Fix |
|---|
| Sitemap returns 401 | Enable the corresponding plugin actions for that role |
| Manual sitemap URL 404s | Check filename + base path, ensure โSave changesโ was clicked |
| Collection sitemap empty | Verify entries are published and the pattern resolves without leftover tokens |
| Admin UI stale | Run npm run build and restart Strapi |
๐ฆ Publishing Notes
When submitting to the Strapi Marketplace include:
- Summary: โConfigure manual and dynamic XML sitemaps from the Strapi admin.โ
- Feature bullets (manual vs index, collection patterns, permissions)
- Screenshots of the Settings UI
- Compatibility (Strapi version, Node version)
- Link to this README for docs
๐ฃ Changelog
v1.0.7
- ๐ Updated the README to properly display the YouTube preview image in any documentation.
v1.0.6
- ๐ Updated README to include Youtube Image
v1.0.5
- ๐ Updated README to include Youtube Image
v1.0.4
- ๐ Updated README to include Demo Video section
- โก Improved documentation clarity for plugin setup and usage
v1.0.3
- ๐ Fixed bugs.
- ๐ ๏ธ Resolved minor issues affecting
v1.0.2
- ๐ README documentation updates
v1.0.1
- ๐ README documentation updates
- โจ Improved helper text and UI hints in admin settings
v1.0.0
- โจ Initial release of Strapi Advanced Sitemap
- ๐งญ Manual sitemap builder supporting URL sets and sitemap indexes
- โ๏ธ Dynamic collection sitemaps powered by pattern tokens
- ๐ Role-based access control for each sitemap endpoint
- ๐ Configurable frontend base URL with live preview inside the admin panel
- ๐ฆ Easy integration and management from Strapi settings
- ๐ Published to NPM: @webbycrown/strapi-advanced-sitemap
๐ License
MIT โ see LICENSE for details.