This module lets website administrators exclude public website URLs from /sitemap.xml.
The module only affects sitemap generation. It does not unpublish pages, change access rights, or block direct access to the excluded URLs.
It also clears the cached sitemap when website pages are created, deleted, or their URL changes, so sitemap URLs are refreshed in the next sitemap generation.
auto_awesome What this module does
AI-generated from the code · Odoo 18.0Lets website administrators exclude specific URLs or wildcard patterns from the public sitemap.xml, and automatically refreshes the cached sitemap when pages change.
This module adds a Sitemap Exclusions setting to the Website configuration screen, right after the robots.txt setting. There you can list paths or patterns, one per line, separated by commas or semicolons, to keep them out of the public sitemap.xml.
Patterns support wildcards: * matches inside one path segment, ** crosses segments, and a trailing / excludes a path and everything below it. Lines starting with # are ignored. A default list is pre-filled (for example /customers/, /livechat, /blog/*/feed, /jobs/apply/, /profile/).
- Excluded URLs are removed only from the sitemap listing; pages are not unpublished and direct access is not blocked.
- The editor's link autocomplete is left untouched, so excluded pages can still be linked.
- A Reload Sitemap button clears the cached sitemap for the current website and shows a confirmation notification.
- The cached sitemap is also cleared automatically when website pages are created, deleted, or when their URL, publication, indexing, publication date or website changes.
The module extends the website, website.page and res.config.settings models. It affects sitemap generation and the Website settings screen only.
Depends on
Models and fields (3)
- website · extends an existing modelsitemap_excluded_paths (Sitemap Exclusions)
- website.page · extends an existing model
- res.config.settings · extends an existing modelsitemap_excluded_paths
Text generated by AI (DeepSeek) from reading the Odoo 18.0 code on GitHub; it may contain mistakes, so check the code before deciding. View the code on GitHub
Availability by version
Reviewed: 2026-11-03Confirmation status: 1 confirmed, 8 with no information of 9 versions.
Sources · Odoo 18.0
Confirmed on 2026-11-03 in branch 18.0 of OCA/website.
terminal Installation and usage
OCA documentation · Odoo 18.0Configuration
Source · Odoo 18.0Configure sitemap exclusions:
- Go to Website > Configuration > Settings.
- Locate the Sitemap Exclusions setting.
- Enter one or more paths or glob patterns.
- Save the settings.
Values can be separated by:
- line breaks;
- commas;
- semicolons.
For example, these values are equivalent:
/customers/
/livechat
/blog/*/feed
/jobs/apply/
/profile//customers/, /livechat, /blog/*/feed, /jobs/apply/, /profile//customers/; /livechat; /blog/*/feed
/jobs/apply/, /profile/Lines starting with # are comments.
See the usage section for the full pattern syntax: * matches inside one path segment, ** crosses /, and a pattern ending in / or in /** excludes that path and everything below it.
The default value only covers paths that any Odoo website has. Add the paths that are specific to your own deployment, for example:
/website/info
/create-container-error
/machine-creation/website/info is already left out of the sitemap by the core when its view is inactive; add it here when that view stays active.
Use the Reload Sitemap button in the same settings block to clear the cached sitemap manually.
Usage
Source · Odoo 18.0Sitemap exclusions:
- Create or publish website pages as usual.
- Configure the paths or patterns to exclude in Website > Configuration > Settings > Sitemap Exclusions.
- Open
/sitemap.xml. - Confirm that excluded URLs are absent and non-excluded public pages are still present.
Pattern syntax:
| Pattern | Matches | Does not match | | -------------- | ------------------------------------------------------- | ---------------------------------- | | /livechat | /livechat | /livechat/room | | /customers/ | /customers, /customers/acme, /customers/acme/2024 | /customers-list | | /blog/*/feed | /blog/news/feed | /blog/a/b/feed, /blog/news | | /solutions* | /solutions, /solutions-cloud | /solutions/cloud | | /jobs/** | /jobs, /jobs/apply/1, /jobs/a/b/c | /jobs-list |
In short:
*matches inside a single path segment; it never crosses a/.**crosses/, so it matches any number of segments.- A pattern ending in
/or in/**is a prefix: it excludes that path and everything below it. - Any other pattern matches that exact path. The trailing slash of the URL is ignored, so
/livechatand/livechat/are the same path.
Example:
- configure
/customers/; - publish a page at
/customers; - publish another page at
/customers/other; - open
/sitemap.xml.
Both URLs are excluded, because /customers/ is a prefix. Use /customers without the trailing slash to exclude only the first one.
Ways to update the sitemap.xml:
- The sitemap cache is automatically cleared when website pages are created or deleted, and when their URL, publication state, indexation, publication date or website changes.
- The manual Reload Sitemap button can be used when a forced sitemap cache clear is needed.
No verified information in OCA: Installation.
Installation instructions, the distribution package, dependencies and configuration steps are not shown because they have not yet been verified in the module documentation for any version.
Data imported from GitHub: this sheet reflects the latest catalog review, not a live lookup. Always check the module documentation and staging before installing in production.