Goal
Serve a Sitemaps 0.9 XML sitemap of every public changelog release and entry so search engines (Google, Bing, DuckDuckGo) can crawl and index them efficiently. Useful when MexCep is white-labeled into a customer docs site whose root sitemap should include the changelog.
Prerequisites
None for fetching the sitemap. Submission to search engines requires ownership of the docs domain in the engine's webmaster panel.
Steps
1. Fetch the sitemap
curl 'https://api.example.com/v1/public/changelog/sitemap.xml'Response (200):
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://docs.example.com/en/changelog</loc>
<lastmod>2026-05-28</lastmod>
<changefreq>weekly</changefreq>
<priority>0.9</priority>
</url>
<url>
<loc>https://docs.example.com/en/changelog/v1.49.6/url-convention</loc>
<lastmod>2026-05-28</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<!-- ... one <url> per public release entry ... -->
</urlset>2. Submit to Google Search Console
- Open the Search Console sitemap submission page.
- Select your verified docs property.
- Under "Sitemaps", add the URL:
https://api.example.com/v1/public/changelog/sitemap.xml. - Click "Submit". Google crawls the sitemap within a few hours.
3. Submit to Bing Webmaster Tools
- Open Bing Webmaster Tools.
- Under "Sitemaps", add the same URL.
- Click "Submit".
4. (Optional) Switch language
curl 'https://api.example.com/v1/public/changelog/sitemap.xml?lang=es'The <loc> URLs change locale (e.g. https://docs.example.com/es/changelog/...). Submit one sitemap per language if your docs are dual-published.
Errors
| Status | Code | Cause |
|---|---|---|
| 400 | invalid_lang | lang outside the enum. |
| 429 | rate_limited | Too many sitemap fetches. Search engines never trigger this; the cause is usually a misconfigured polling script. |
Notes
- The sitemap only includes public entries. Embargoed and unpublished entries are excluded.
- Search engines crawl sitemaps at their own pace (typically once per day for active sites). Do not poll this endpoint from your own automation — use the Atom or JSON feed instead.
- ADR-0090 (URL Convention) explains the
/v1/public/*namespace move.
New in v1.49.6 — see ADR-0090.