What is an XML Sitemap — the map that helps search engines find every page
An XML sitemap is a structured file that lists every URL on your website, helping search engines and AI crawlers discover and index your content reliably.
The discovery problem
Search engines find pages in two ways: by following links from pages they already know about, and by reading sitemaps. Links are unreliable — a page with no inbound links is effectively invisible to crawlers that rely on link-following alone. A sitemap is the direct solution: it tells crawlers exactly which pages exist, regardless of how well-linked they are.
The XML Sitemap format, standardised as the Sitemap Protocol and now supported by Google, Bing, and all major search engines, is the definitive way to give crawlers a complete map of your site.
The sitemap format
A basic XML sitemap looks like this:
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://yoursite.com/</loc>
<lastmod>2026-05-01</lastmod>
<changefreq>weekly</changefreq>
<priority>1.0</priority>
</url>
<url>
<loc>https://yoursite.com/about</loc>
<lastmod>2026-04-15</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
</urlset>Each <url> entry contains:
- loc: the canonical URL of the page
- lastmod: when the page was last modified (helps crawlers prioritise re-crawling)
- changefreq: how often the page typically changes (a hint, not a rule)
- priority: relative importance within the site (0.0 to 1.0)
Hreflang in sitemaps
For multilingual sites, sitemaps can include xhtml:link elements that declare language variants:
<url>
<loc>https://yoursite.com/about</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://yoursite.com/en/about"/>
<xhtml:link rel="alternate" hreflang="de" href="https://yoursite.com/de/about"/>
</url>This supplements the hreflang tags in the page <head>, giving search engines two independent sources confirming your language structure.
Why dynamic sitemaps matter
A static sitemap file — one you generate once and upload — goes stale. Every time you publish a new article, the sitemap is outdated. Every time you unpublish a page, the sitemap still points to it.
A dynamic sitemap is generated on the fly by your CMS. When a search engine requests /sitemap.xml, the server queries the database for all published content and returns an always-current response. The sitemap reflects your actual published content at the moment of the request.
For Joomla sites that publish new articles, add menu items, or manage categories regularly, a dynamic sitemap is essential.
Common sitemap mistakes
Including non-canonical URLs. Your sitemap should only list the canonical version of each page. If ?lang=en and the base URL are both valid, list only the one search engines should treat as canonical.
Setting all priorities to 1.0. Priority is relative, not absolute. If everything is priority 1.0, the signal is meaningless. Use a range that reflects actual importance.
Not declaring the sitemap in robots.txt. Crawlers look for sitemaps in the Sitemap: declaration in robots.txt and in your Google Search Console submission. Both are recommended.
Forgetting large sites need sitemap indices. A single sitemap file supports a maximum of 50,000 URLs and 50 MB uncompressed. Large sites need a sitemap index file that lists multiple sitemap files.
How AI Boost for Joomla handles sitemaps
AI Boost for Joomla generates a dynamic XML sitemap at yoursite.com/sitemap.xml with no static file to maintain. It automatically includes published articles, category pages, and menu items from your Joomla installation.
Configuration options let you set per-type priorities and change frequencies, filter specific categories, exclude individual article IDs, and include hreflang entries for multilingual sites. The sitemap updates instantly when you publish, unpublish, or modify content — no manual regeneration needed.