XML Sitemap
What an XML sitemap is, its anatomy, the ignored tags (priority/changefreq), accurate lastmod, the 50,000/50MB limits, hreflang in sitemaps, and how to submit one.
1 evidence signal on this page
- Related live toolGoogle Index Checker
An XML sitemap is a UTF-8 file listing the canonical, indexable URLs you want search engines to know about — each in a <url> block with a required <loc> and an optional <lastmod>. It helps engines discover URLs but doesn't guarantee indexing; its real payoff is the submitted-vs-indexed diagnostic in Search Console. Google ignores <priority> and <changefreq>, and uses <lastmod> only when it's verifiably accurate (significant updates, not a blanket 'today'). One sitemap caps at 50,000 URLs or 50MB uncompressed — past that you split files and reference them from a sitemap index. Include only canonical, indexable, 200-status URLs; leaving a URL out of the sitemap is not the same as noindexing it. Sitemaps are also the easiest place to manage hreflang at scale. Reference it in robots.txt and submit it in Search Console and Bing Webmaster Tools.
Evidence for this claim The XML sitemap protocol lists canonical URL locations and optional metadata, with limits of 50,000 URLs and 50 MB uncompressed per sitemap. Scope: Sitemaps protocol and current Google-supported limits. Confidence: high · Verified: Sitemaps XML format Evidence for this claim Google treats sitemaps as discovery hints rather than guarantees and supports submission through Search Console or robots.txt references. Scope: Current Google sitemap behavior and submission methods. Confidence: high · Verified: Google Search Central: Build and submit a sitemapTL;DR — An XML sitemapA sitemap is a file that lists the pages, images, videos, and other files on your site so search engines can discover them. It helps discovery, but submitting a sitemap doesn't guarantee crawling or indexing. is a file that lists the pages on your site you want search engines to find. Each page gets one entry: its full URL and, optionally, the date it last meaningfully changed. It helps engines discover your pages — it doesn’t force them to indexStoring a crawled page in the search index so it can appear in results. Crawled is not the same as indexed — Google selects what to keep, and indexing isn't guaranteed. or rank anything. You put it at a URL like
/sitemap.xml, point to it from yourrobots.txt, and submit it in Google Search ConsoleA free Google service that reports how a site performs in Google Search and surfaces problems with how Google crawls, indexes, and serves it. It's first-party data straight from Google — but you don't need it to appear in results. and Bing Webmaster ToolsMicrosoft's free portal for monitoring and improving how a site appears in Bing search — the peer to Google Search Console, plus IndexNow instant indexing, richer backlink data, and keyword volumes. Because Bing's index also feeds Microsoft Copilot, it doubles as a window into AI-search visibility..
What an XML sitemap is
An XML sitemapAn XML sitemap is a UTF-8 file listing the canonical URLs on your site (with optional lastmod) so search engines can discover and prioritize them. It's a discovery and diagnostic aid, not a guarantee of indexing — and Google ignores its priority and changefreq tags. is a list of your URLs, written in a simple structured format, that you hand directly to search engines. Instead of making them discover every page by following links, you give them a clean inventory of the pages you care about.
Google describes a sitemapA sitemap is a file that lists the pages, images, videos, and other files on your site so search engines can discover them. It helps discovery, but submitting a sitemap doesn't guarantee crawling or indexing. as “a file where you provide information about the pages, videos, and other files on your site.” The “XML” part just means it’s written in a tagged format that machines read easily. Here’s the smallest valid example:
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://www.example.com/foo.html</loc>
<lastmod>2026-06-04</lastmod>
</url>
</urlset>Reading it top to bottom: the first line says “this is XML, encoded as UTF-8.” The
<urlset> wraps the whole list. Each <url> is one page. <loc> is the page’s
full web address. <lastmod> is the date it last changed in a meaningful way —
and it’s optional.
What it does (and doesn’t do)
A sitemap helps engines find your pages faster — especially new pages, or pages that aren’t well linked from elsewhere on your site. That’s the upside.
The catch most people miss: submitting a sitemap doesn’t guarantee indexingStoring a crawled page in the search index so it can appear in results. Crawled is not the same as indexed — Google selects what to keep, and indexing isn't guaranteed.. Google still decides whether each page is worth keeping. A sitemap is a way to help search engines find your content, not a command to index it. The real value for me is what you can see afterward in Search ConsoleGoogle's free tool for monitoring crawling, indexing, and search performance. — how many of the URLs you submitted actually got indexed. That gap is a useful diagnostic.
What to put in it
Keep it clean. A sitemap should list only the pages you actually want indexed —
your real, canonical pages that return a normal 200 response. Leave out
redirectsA redirect sends browsers and crawlers from a requested URL to a different one. An HTTP redirect specifically is a 3xx status code paired with a Location header; meta refresh and JavaScript redirects achieve a similar navigation without being a 3xx response themselves. Permanent redirects (301/308) are Google's signal the target should be canonical; temporary ones (302/303/307) aren't., duplicate URLs, and anything you’ve set to noindex. Think of it as a
tidy inventory of your indexable set, nothing more.
One important point of confusion: leaving a URL out of your sitemap does not
remove it from Google. A sitemap advertises pages; it doesn’t hide them. To
actually keep a page out of the index you need a noindex tag — not a missing
sitemap entry.
Where it goes and how to submit it
- Save it at a sensible URL —
/sitemap.xmlis the conventional default. - Add a line to your
robots.txtso engines can find it:Sitemap: https://www.example.com/sitemap.xml. - Submit it in Google Search ConsoleA free Google service that reports how a site performs in Google Search and surfaces problems with how Google crawls, indexes, and serves it. It's first-party data straight from Google — but you don't need it to appear in results. (Sitemaps reportThe Google Search Console report where you submit sitemaps and watch how Google processes them — type, last read date, status, and how many URLs were discovered. It confirms Google read your list; it doesn't prove anything got indexed.) and Bing Webmaster Tools.
Most modern platforms (WordPress, Shopify, Wix, Squarespace, Webflow) generate a sitemap for you automatically — you usually just need to submit it. Want the full anatomy, the limits, the tags Google ignores, and how hreflangHreflang is an annotation (in HTML, HTTP headers, or XML sitemaps) that tells search engines which language and optional region a page targets, and which alternate versions exist. It only works when every page in the cluster references all the others. works in sitemaps? Switch to the Advanced tab.
Crawl your own site into a reviewable sitemap without silently hiding uncertain URLs using my free XML Sitemap Generator Free
- Start with your site URL and let the capped, robots-respecting crawl collect candidate pages.
- Review noindex, off-canonical, failed, and uncertain URLs separately before including anything.
- Export the file, deploy it, then use the validator below to check the exact public version.
Evidence for this claim The XML sitemap protocol lists canonical URL locations and optional metadata, with limits of 50,000 URLs and 50 MB uncompressed per sitemap. Scope: Sitemaps protocol and current Google-supported limits. Confidence: high · Verified: Sitemaps XML format Evidence for this claim Google treats sitemaps as discovery hints rather than guarantees and supports submission through Search Console or robots.txt references. Scope: Current Google sitemap behavior and submission methods. Confidence: high · Verified: Google Search Central: Build and submit a sitemapTL;DR — An XML sitemapA sitemap is a file that lists the pages, images, videos, and other files on your site so search engines can discover them. It helps discovery, but submitting a sitemap doesn't guarantee crawling or indexing. is a UTF-8 file of canonical, indexable
<loc>URLs, each optionally carrying a<lastmod>. It aids discovery, not indexingStoring a crawled page in the search index so it can appear in results. Crawled is not the same as indexed — Google selects what to keep, and indexing isn't guaranteed. — the payoff is the submitted-vs-indexed signal in Search ConsoleA free Google service that reports how a site performs in Google Search and surfaces problems with how Google crawls, indexes, and serves it. It's first-party data straight from Google — but you don't need it to appear in results.. Google ignores<priority>and<changefreq>and uses<lastmod>only when it’s verifiably accurate (significant updates, never a blanket “today”). One file caps at 50,000 URLs or 50MB uncompressed — past that, split and use a sitemapA sitemap is a file that lists the pages, images, videos, and other files on your site so search engines can discover them. It helps discovery, but submitting a sitemap doesn't guarantee crawling or indexing. index. Include only200, canonical, indexable URLs; excluding a URL is not the same as noindexing it. XML isn’t the only accepted format (RSSAn RSS or Atom feed is an XML file listing a site's most recently published or updated URLs. Search engines accept it as a sitemap-style discovery signal for fresh content — not a replacement for a full XML sitemap./Atom/txt work too), and sitemaps are the easiest place to manage hreflangHreflang is an annotation (in HTML, HTTP headers, or XML sitemaps) that tells search engines which language and optional region a page targets, and which alternate versions exist. It only works when every page in the cluster references all the others. at scale — though those annotations go live on a lag, not instantly. Reference it inrobots.txtand submit it in Search ConsoleGoogle's free tool for monitoring crawling, indexing, and search performance. + Bing Webmaster ToolsMicrosoft's free portal for monitoring and improving how a site appears in Bing search — the peer to Google Search Console, plus IndexNow instant indexing, richer backlink data, and keyword volumes. Because Bing's index also feeds Microsoft Copilot, it doubles as a window into AI-search visibility..
What an XML sitemap actually is
An XML sitemapAn XML sitemap is a UTF-8 file listing the canonical URLs on your site (with optional lastmod) so search engines can discover and prioritize them. It's a discovery and diagnostic aid, not a guarantee of indexing — and Google ignores its priority and changefreq tags. is a file, written to the sitemaps.org 0.9 protocol, that lists
the URLs on your site you want engines to know about. Google’s own definition: “A
sitemap is a file where you provide information about the pages, videos, and other
files on your site, and the relationships between them.” It’s a discovery aid and
a coverage diagnostic — explicitly not a guarantee: “A sitemap helps search
engines discover URLs on your site, but it doesn’t guarantee that all the items in
your sitemap will be crawled and indexed.”
That framing matters, because it’s where a lot of effort gets misspent. The sitemap isn’t a ranking lever and it isn’t an indexingStoring a crawled page in the search index so it can appear in results. Crawled is not the same as indexed — Google selects what to keep, and indexing isn't guaranteed. command. Here’s an annotated minimal example:
<?xml version="1.0" encoding="UTF-8"?> <!-- XML declaration; UTF-8 -->
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"> <!-- root + namespace -->
<url> <!-- one entry per page -->
<loc>https://www.example.com/foo.html</loc> <!-- required: absolute URL -->
<lastmod>2026-06-04</lastmod> <!-- optional: last significant change -->
</url>
</urlset> Anatomy
- The XML declaration —
<?xml version="1.0" encoding="UTF-8"?>. Google is unambiguous here: “The sitemap file must be UTF-8 encoded.” Get the encoding wrong and special characters break. <urlset>+ namespace — the root element, withxmlns="http://www.sitemaps.org/schemas/sitemap/0.9". The namespace is what tells the parser this is a sitemap; the wrong or missing namespace is a common Search Console error.<url>— one block per page.<loc>— required. “Use fully-qualified, absolute URLs in your sitemaps” — not relative paths, and under ~2,048 characters. All values must be entity-escaped:&becomes&,'becomes',"becomes",>becomes>, and a literal less-than becomes<.<lastmod>— optional; the date the page last significantly changed (more on the honesty rule below).
The ignored-tags truth
This is the single most out-of-date thing in most sitemap tutorials. Two legacy
tags — <priority> and <changefreq> — are ignored by Google. Gary
Illyes called priority “essentially a bag of noise,” and John Mueller has said
priority and change frequency “doesn’t really play that much of a role with
Sitemaps anymore.” Bing has confirmed the same: changefreqSitemap priority is the optional <priority> tag (0.0–1.0, default 0.5) in the sitemaps.org XML protocol meant to rank a URL's importance relative to others on the same site. Google ignores it entirely — as does Bing — and it was never a ranking factor even by the spec's own admission. and priority no longer
affect its crawlingCrawling is how search engines use automated bots (like Googlebot and Bingbot) to discover URLs and download pages. A page has to be crawlable to be indexed, but crawling on its own isn't a ranking factor. or ranking. You can leave them in (they do no harm) or strip
them out — they simply don’t do anything.
<lastmod> is different — do not lump it in with the ignored tags. Google
does use <lastmod>, but only when it trusts it, and that trust is roughly
binary: either Google believes your dates or it doesn’t. The rule is that the date
should reflect a significant change — “an update to the main content, the
structured dataStructured data is a standardized way of labeling page content (using the schema.org vocabulary in JSON-LD, Microdata, or RDFa) so search engines can understand its meaning. It's not a direct ranking factor — its value is rich results and entity understanding., or links on the page is generally considered significant, however
an update to the copyright date is not.” The failure mode I see constantly is
stamping every URL with today’s date on every build. That’s self-defeating:
Mueller has called it “just lazy,” noting it’s trivial for engines to recognize
and only makes it harder for them to spot genuinely updated pages. Lie often
enough and, in Google’s words, “eventually we’re not going to believe you
anymore.” Bing leans even harder on <lastmod> as a freshness signal than Google
does — so an accurate date helps you on both engines, and a fake one hurts you on
both.
Placement, naming, encoding, and compression
- Placement/naming. There’s no required filename, but
/sitemap.xmlat the root is the convention. By default a sitemap only affects URLs at or below its own path, so keep it high enough to cover everything it lists. The one exception: you can host a sitemap for a different site if you’ve verified ownership of that site and itsrobots.txtpoints back to the sitemap’s actual location — Google calls this cross-submission, and it’s the mechanism behind a sitemap indexA sitemap index is a sitemap of sitemaps — a single file that lists your other sitemap files instead of listing URLs directly. It's how large sites stay under the 50,000-URL / 50MB-per-sitemap limit while submitting just one file. aggregating sitemaps hosted elsewhere. - Encoding. UTF-8, always.
- CompressionCompression (HTTP content encoding) shrinks text-based responses — HTML, CSS, JS, JSON, SVG, XML sitemaps — before they're sent over the network, using an algorithm like Gzip, Brotli, or Zstd, so the browser or crawler downloads fewer bytes. It's not a ranking factor, but it speeds up page loads and helps pages stay under crawler fetch limits.. You’re allowed to gzip a sitemap (serve it as
.xml.gz), which is worth doing on large files. Important nuance: the 50MB cap is measured uncompressed — gzip saves bandwidth, not headroom against the size limit.
Limits → split + sitemap index
A single sitemap is capped at 50,000 URLs or 50MB uncompressed, whichever comes first. Google states it directly: “All formats limit a single sitemap to 50MB (uncompressed) or 50,000 URLs.” When you blow past either limit, you split the list across multiple sitemap files and reference them all from a sitemap index — a sitemap of sitemaps. That’s its own sibling topic; the short version is that you submit the index, and one index can point at up to 50,000 child sitemaps, so you’ll never actually run out of capacity.
Which URLs to include — and “exclude ≠ noindex”
Include only URLs that are indexable, canonical, and return 200. That means
no 3xx redirectsA redirect sends browsers and crawlers from a requested URL to a different one. An HTTP redirect specifically is a 3xx status code paired with a Location header; meta refresh and JavaScript redirects achieve a similar navigation without being a 3xx response themselves. Permanent redirects (301/308) are Google's signal the target should be canonical; temporary ones (302/303/307) aren't., no non-canonical duplicates, no noindex pages, no
robots-blocked URLs. A clean sitemap of exactly your indexable set is what makes
the Search Console submitted-vs-indexed comparison meaningful — pollute it with
junk and you’ve thrown away the diagnostic.
Now the mechanical point people get wrong: excluding a URL from your sitemap does
not deindex it. The sitemap is an advertisement, not a gate. Removing a URL’s
entry just stops you advertising that page; if Google already knows about it (via
links, history, or another source) it stays in the index. The only mechanisms that
actually remove a page are a noindex directive (with crawlingCrawling is how search engines use automated bots (like Googlebot and Bingbot) to discover URLs and download pages. A page has to be crawlable to be indexed, but crawling on its own isn't a ranking factor. allowed so Google
can see it), a 404/410, or the removals toolA Google Search Console feature for verified owners to manage how their URLs appear in Search. A Temporary Removal hides a URL for about six months — it does not delete the page from the index.. So “take it out of the sitemap”
is never the right answer to “how do I deindex this.”
Accepted sitemap file formats
XML isn’t the only format Google accepts — worth knowing so you don’t assume you’re stuck hand-writing XML. Google calls XML “the most versatile of the sitemap formats,” but it also reads:
- RSS 2.0 / Atom feeds — handy because many CMSsA content management system (CMS) is software that lets users create, manage, and publish digital content — like blog posts and pages — without writing raw code. WordPress, Drupal, and Joomla are the most common open-source CMS platforms. already publish one; they carry page URLs only.
- mRSS — a media RSS feed, used for video.
- Plain text (
.txt) — literally one URL per line, web-page URLs only, UTF-8.
XML is still the right default because it’s the only format that supports the extensions (lastmod metadata, image, video, and hreflangHreflang is an annotation (in HTML, HTTP headers, or XML sitemaps) that tells search engines which language and optional region a page targets, and which alternate versions exist. It only works when every page in the cluster references all the others. annotations). The others are URL-only.
hreflang in sitemaps
If you run a multilingual or multi-regional site, the sitemap is usually the
easiest place to manage hreflang — you maintain the whole language cluster in one
file instead of injecting return-tags into every page template. (It’s one of the
three valid places hreflang can live; the <head> and HTTP headers are the
others.)
How it’s implemented. Each <url> gets xhtml:link rel="alternate" children,
one per language/region version, and you declare the namespace
xmlns:xhtml="http://www.w3.org/1999/xhtml" on <urlset>:
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
xmlns:xhtml="http://www.w3.org/1999/xhtml">
<url>
<loc>https://www.example.com/english/page.html</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://www.example.com/english/page.html"/>
<xhtml:link rel="alternate" hreflang="de" href="https://www.example.de/deutsch/page.html"/>
<xhtml:link rel="alternate" hreflang="x-default" href="https://www.example.com/english/page.html"/>
</url>
<!-- each alternate URL repeats the FULL set, including itself (return tags) -->
</urlset>The return-tag rule. This is the part that bites people. Every <url> element
must list every alternate version of the page — including itself. Google: “Each
<url> element must have a child element <xhtml:link rel="alternate" hreflang="[supported_language-code]"> that lists every alternate version of the
page, including itself.” And it has to be bidirectional: “If page X links to page
Y, page Y must link back to page X. If this is not the case for all pages that use
hreflang annotations, those annotations may be ignored or not interpreted
correctly.” Add an x-default entry for the unmatched-language fallback. A single
broken or missing return-tag can invalidate the whole set.
The cap counts <loc> URLs only. A relief for big international sites: the
50,000-URL limit counts only the <loc> page URLs, not the hreflang
alternates. So a sitemap with 50,000 pages, each with ten language alternates,
still fits — it’s the location URLs that count, not the alternative URLs.
When it actually goes live — budget days, not minutes. Here’s the expectation to set, and it’s mechanism rather than a quotable line. Google parses your sitemap hreflang when it re-fetches the sitemap, but the annotations only take effect once all the URLs in the set have been (re)crawled and the return-tags reconciled against each other. That means there’s a real lag between publishing the hreflang and the alternates being honored, and one slow-to-recrawl or broken URL in the set can hold the rest up. Don’t expect it to flip on the moment you submit — plan for it to settle over days.
Reference it and submit it
robots.txt— add aSitemap:line with the full absolute URL. This also lets engines auto-discover it.- Google Search ConsoleA free Google service that reports how a site performs in Google Search and surfaces problems with how Google crawls, indexes, and serves it. It's first-party data straight from Google — but you don't need it to appear in results. — the Sitemaps reportThe Google Search Console report where you submit sitemaps and watch how Google processes them — type, last read date, status, and how many URLs were discovered. It confirms Google read your list; it doesn't prove anything got indexed. (or the Search Console APIA set of REST APIs that let you programmatically read and manage Google Search Console data for properties you've verified — Performance data, URL index status, sitemaps, and properties — authorized with OAuth 2.0.) is the primary submission method; it’s also where you read the submitted-vs-indexed diagnostic.
- Bing Webmaster ToolsMicrosoft's free portal for monitoring and improving how a site appears in Bing search — the peer to Google Search Console, plus IndexNow instant indexing, richer backlink data, and keyword volumes. Because Bing's index also feeds Microsoft Copilot, it doubles as a window into AI-search visibility. — submit there too; Bing fetches it quickly and rechecks regularly.
One automation note from how I think about this: a sitemap should be generated automatically from the pages you actually have, so it stays current. A hand-built sitemap rots the moment your site changes. The siblings to this page — the sitemaps overview, the sitemap index for large sites, and the image sitemap and video sitemapA video sitemap is an XML sitemap (or mRSS feed) that uses the video:video extension to tell Google about videos hosted on your pages — the landing page, a thumbnail, a title, a description, and a link to the video file or player. It helps Google discover and surface video content, but it doesn't guarantee indexing. extensions — cover the rest of the family, and the broader discovery topic ties sitemaps to the other ways engines find your URLs.
Catch XML and sitemap-protocol errors before Search Console does with my free XML Sitemap Validator Free
- Paste the XML, upload the file, or fetch the public sitemap URL.
- Fix parser and protocol errors first, including the wrong root element shown here.
- Fetch and validate the deployed URL again before submitting it to a search engine.
The completed validator result shows one error: Root element is not urlset or sitemapindex. It found a feed element instead and states that search engines will not recognize the file as a sitemap.
AI summary
A condensed take on the Advanced version:
- An XML sitemapA sitemap is a file that lists the pages, images, videos, and other files on your site so search engines can discover them. It helps discovery, but submitting a sitemap doesn't guarantee crawling or indexing. is a UTF-8 file listing the canonical, indexable URLs you want
engines to know about — each
<url>has a required<loc>(absolute URL) and an optional<lastmod>. Root is<urlset>with thesitemaps.org/0.9namespace. - It aids discovery, not indexingStoring a crawled page in the search index so it can appear in results. Crawled is not the same as indexed — Google selects what to keep, and indexing isn't guaranteed.. Submitting it doesn’t guarantee a page gets indexed; the real payoff is the submitted-vs-indexed diagnostic in Search Console.
<priority>and<changefreq>are ignored by Google (and Bing). Don’t lump<lastmod>in with them — it is used, but only when verifiably accurate (significant content changes, never a blanket “today” date).- Limits: 50,000 URLs or 50MB uncompressed, whichever comes first. Past that, split files and use a sitemap indexA sitemap index is a sitemap of sitemaps — a single file that lists your other sitemap files instead of listing URLs directly. It's how large sites stay under the 50,000-URL / 50MB-per-sitemap limit while submitting just one file.. GzipCompression (HTTP content encoding) shrinks text-based responses — HTML, CSS, JS, JSON, SVG, XML sitemaps — before they're sent over the network, using an algorithm like Gzip, Brotli, or Zstd, so the browser or crawler downloads fewer bytes. It's not a ranking factor, but it speeds up page loads and helps pages stay under crawler fetch limits. is allowed but the 50MB cap is the uncompressed size.
- Include only
200, canonical, indexable URLs. Entity-escape& ' " < >. Excluding a URL ≠ noindexing it — removal needsnoindex/404, not a missing sitemapA sitemap is a file that lists the pages, images, videos, and other files on your site so search engines can discover them. It helps discovery, but submitting a sitemap doesn't guarantee crawling or indexing. entry. - XML isn’t the only format — RSSAn RSS or Atom feed is an XML file listing a site's most recently published or updated URLs. Search engines accept it as a sitemap-style discovery signal for fresh content — not a replacement for a full XML sitemap./Atom and plain
.txtwork too (URL-only); XML is the only one that supports image/video/hreflangHreflang is an annotation (in HTML, HTTP headers, or XML sitemaps) that tells search engines which language and optional region a page targets, and which alternate versions exist. It only works when every page in the cluster references all the others. extensions. - hreflangHreflang is an annotation (in HTML, HTTP headers, or XML sitemaps) that tells search engines which language and optional region a page targets, and which alternate versions exist. It only works when every page in the cluster references all the others. in sitemaps:
xhtml:link rel="alternate"children + thexmlns:xhtmlnamespace; every<url>must list all alternates including itself, bidirectionally, plusx-default. The 50,000 cap counts only<loc>URLs, not the alternates. Processed on sitemap re-fetch but live only after all URLs in the set are recrawled/reconciled — budget days, not minutes. - Submit it via the
robots.txtSitemap:line, Google Search ConsoleA free Google service that reports how a site performs in Google Search and surfaces problems with how Google crawls, indexes, and serves it. It's first-party data straight from Google — but you don't need it to appear in results., and Bing Webmaster ToolsMicrosoft's free portal for monitoring and improving how a site appears in Bing search — the peer to Google Search Console, plus IndexNow instant indexing, richer backlink data, and keyword volumes. Because Bing's index also feeds Microsoft Copilot, it doubles as a window into AI-search visibility.. Generate it automatically so it stays current.
Official documentation
Primary-source documentation from the search engines.
- Sitemaps overview — what a sitemapA sitemap is a file that lists the pages, images, videos, and other files on your site so search engines can discover them. It helps discovery, but submitting a sitemap doesn't guarantee crawling or indexing. is, whether you need one, and that it doesn’t guarantee indexingStoring a crawled page in the search index so it can appear in results. Crawled is not the same as indexed — Google selects what to keep, and indexing isn't guaranteed..
- Build and submit a sitemap — the 50,000/50MB limits, UTF-8 requirement, absolute-URL rule, accepted formats, and the
<lastmod>“significant update” definition. - Manage sitemaps with a sitemap index file — splitting large sitemapsA sitemap is a file that lists the pages, images, videos, and other files on your site so search engines can discover them. It helps discovery, but submitting a sitemap doesn't guarantee crawling or indexing. and the sitemap indexA sitemap index is a sitemap of sitemaps — a single file that lists your other sitemap files instead of listing URLs directly. It's how large sites stay under the 50,000-URL / 50MB-per-sitemap limit while submitting just one file..
- Tell Google about localized versions of your page — hreflangHreflang is an annotation (in HTML, HTTP headers, or XML sitemaps) that tells search engines which language and optional region a page targets, and which alternate versions exist. It only works when every page in the cluster references all the others. in sitemaps via
xhtml:link, the return-tag rule, andx-default. - Combine sitemap extensions — putting image/video/hreflangHreflang is an annotation (in HTML, HTTP headers, or XML sitemaps) that tells search engines which language and optional region a page targets, and which alternate versions exist. It only works when every page in the cluster references all the others. in one sitemap.
- Sitemaps report (Search Console help) — what each submission error means and how to fix it.
- sitemaps.org protocol — the underlying
0.9spec all engines share.
Bing / Microsoft
- Keeping Content Discoverable with Sitemaps in AI-Powered Search (Jul 2025) — Bing’s stance that XML is preferred and
<lastmod>is a key signal. - The Importance of Setting the lastmod Tag in Your Sitemap (Feb 2023) — why Bing weights
<lastmod>for recrawlCrawl frequency is how often a search engine comes back to re-fetch a page it already knows about. Popular pages that change often get refreshed many times a day; stable pages can go weeks or months between crawls — and you influence it indirectly, not by setting a dial. decisions.
Quotes from the source
On-the-record statements from Google and Bing. Each link is a deep link that jumps to the quoted passage on the source page.
Google — what a sitemapA sitemap is a file that lists the pages, images, videos, and other files on your site so search engines can discover them. It helps discovery, but submitting a sitemap doesn't guarantee crawling or indexing. is and does
- “A sitemapA sitemap is a file that lists the pages, images, videos, and other files on your site so search engines can discover them. It helps discovery, but submitting a sitemap doesn't guarantee crawling or indexing. is a file where you provide information about the pages, videos, and other files on your site, and the relationships between them.” — Sitemaps overview. Jump to quote
- “A sitemap helps search engines discover URLs on your site, but it doesn’t guarantee that all the items in your sitemap will be crawled and indexedStoring a crawled page in the search index so it can appear in results. Crawled is not the same as indexed — Google selects what to keep, and indexing isn't guaranteed..” Jump to quote
Google — format, limits, and encoding
- “All formats limit a single sitemap to 50MB (uncompressed) or 50,000 URLs.” — Build and submit a sitemapThe Google Search Console report where you submit sitemaps and watch how Google processes them — type, last read date, status, and how many URLs were discovered. It confirms Google read your list; it doesn't prove anything got indexed.. Jump to quote
- “The sitemap file must be UTF-8 encoded.” Jump to quote
- “Use fully-qualified, absolute URLs in your sitemaps.” Jump to quote
Google — the ignored tags, and the lastmod rules
- “we ignore those. It’s essentially a bag of noise.” — Gary Illyes, on
<priority>/<changefreq>. Read the coverage - “Priority and change frequency doesn’t really play that much of a role with Sitemaps anymore.” — John Mueller. Read the coverage
- “an update to the main content, the structured dataStructured data is a standardized way of labeling page content (using the schema.org vocabulary in JSON-LD, Microdata, or RDFa) so search engines can understand its meaning. It's not a direct ranking factor — its value is rich results and entity understanding., or links on the page is generally considered significant, however an update to the copyright date is not.” — on what
<lastmod>should reflect. Jump to quote - “setting today’s date in a sitemap file isn’t going to be something that works in favor of anyone, it’s just lazy.” — John Mueller. Read the coverage
- “it’s binary, or at least was last time I checked. we either trust it or not.” — Gary Illyes, on whether Google trusts your
<lastmod>. Read the coverage
Google — the 50,000 cap counts location URLs, not hreflangHreflang is an annotation (in HTML, HTTP headers, or XML sitemaps) that tells search engines which language and optional region a page targets, and which alternate versions exist. It only works when every page in the cluster references all the others. alternates
- The 50,000-URL limit “is just the location URL” count — not the hreflangHreflang is an annotation (in HTML, HTTP headers, or XML sitemaps) that tells search engines which language and optional region a page targets, and which alternate versions exist. It only works when every page in the cluster references all the others. alternate URLs. — John Mueller. Read the coverage
Google — hreflang return tags
- “Each
<url>element must have a child element<xhtml:link rel="alternate" hreflang="[supported_language-code]">that lists every alternate version of the page, including itself.” — Localized versions docs. Jump to quote - “If page X links to page Y, page Y must link back to page X. If this is not the case for all pages that use hreflang annotations, those annotations may be ignored or not interpreted correctly.” Jump to quote
Bing — XML and lastmod
- “XML remains the preferred format for sitemaps, as it supports structured metadata like lastmod, which helps Bing assess content freshnessContent freshness is how recent or up-to-date a page is — by its original publish date, its last substantive revision, or the currency of the facts inside it. It only helps rankings when the query itself benefits from recent results (Query Deserves Freshness), and cosmetic date changes with no real update don't count. and relevance more effectively.” Jump to quote
XML sitemap checklist
Build it right
- File is UTF-8 encoded, with
<?xml version="1.0" encoding="UTF-8"?>on line one. - Root is
<urlset>withxmlns="http://www.sitemaps.org/schemas/sitemap/0.9". - Every
<loc>is a fully-qualified, absolute URL under ~2,048 characters. - All values are entity-escaped (
& ' " > <). -
<priority>and<changefreq>removed or accepted-as-ignored (Google ignores them). -
<lastmod>present only where it reflects a significant change — never a blanket “today” on every URL. - File is under 50,000 URLs and 50MB uncompressed; if not, split and add a sitemapA sitemap is a file that lists the pages, images, videos, and other files on your site so search engines can discover them. It helps discovery, but submitting a sitemap doesn't guarantee crawling or indexing. indexStoring a crawled page in the search index so it can appear in results. Crawled is not the same as indexed — Google selects what to keep, and indexing isn't guaranteed..
Include the right URLs
- Only canonical, indexable,
200-status URLs. - No
3xxredirectsA redirect sends browsers and crawlers from a requested URL to a different one. An HTTP redirect specifically is a 3xx status code paired with a Location header; meta refresh and JavaScript redirects achieve a similar navigation without being a 3xx response themselves. Permanent redirects (301/308) are Google's signal the target should be canonical; temporary ones (302/303/307) aren't., no non-canonical duplicates, nonoindex/robots-blocked URLs. - Remember: leaving a URL out is not a way to deindexDeindexing means getting a URL to stop appearing in Google's search results. There's no single delete button — the right method depends on whether you own the page, whether removal is temporary or permanent, and whether the content should still exist. it — use
noindexfor that.
Ship and monitor it
-
Sitemap:line added torobots.txtwith the full absolute URL. - Submitted in Google Search ConsoleA free Google service that reports how a site performs in Google Search and surfaces problems with how Google crawls, indexes, and serves it. It's first-party data straight from Google — but you don't need it to appear in results. and Bing Webmaster ToolsMicrosoft's free portal for monitoring and improving how a site appears in Bing search — the peer to Google Search Console, plus IndexNow instant indexing, richer backlink data, and keyword volumes. Because Bing's index also feeds Microsoft Copilot, it doubles as a window into AI-search visibility..
- Generated automatically from real URLs so it stays current.
- Watch the submitted-vs-indexed numbers in Search ConsoleGoogle's free tool for monitoring crawling, indexing, and search performance.; split by section/type to see which part of the site is under-indexed.
XML sitemap — cheat sheet
Tag reference
| Tag | Required? | What it does | Google’s treatment |
|---|---|---|---|
<urlset> | Required | Root element; declares the 0.9 namespace | Parsed (wrong/missing namespace = error) |
<url> | Required | One block per page | Parsed |
<loc> | Required | The page’s fully-qualified absolute URL | Used |
<lastmod> | Optional | Date of last significant change | Used — but only if verifiably accurate |
<changefreq> | Optional | Hint at how often the page changes | Ignored |
<priority> | Optional | Relative importance (0.0–1.0) | Ignored |
xhtml:link rel="alternate" | Optional | hreflangHreflang is an annotation (in HTML, HTTP headers, or XML sitemaps) that tells search engines which language and optional region a page targets, and which alternate versions exist. It only works when every page in the cluster references all the others. alternate versions | Used (needs xmlns:xhtml, return tags) |
Include vs exclude
| Include | Exclude |
|---|---|
| Canonical URLsHow search engines pick one canonical URL among duplicates and consolidate signals onto it. | Non-canonical / duplicate URLs |
| Indexable pages | noindex pages |
200-status pages | 3xx redirectsA redirect sends browsers and crawlers from a requested URL to a different one. An HTTP redirect specifically is a 3xx status code paired with a Location header; meta refresh and JavaScript redirects achieve a similar navigation without being a 3xx response themselves. Permanent redirects (301/308) are Google's signal the target should be canonical; temporary ones (302/303/307) aren't., 4xx/5xx errors |
| Pages you want crawled & indexedStoring a crawled page in the search index so it can appear in results. Crawled is not the same as indexed — Google selects what to keep, and indexing isn't guaranteed. | robots-blocked URLs |
Fast facts
- Limits: 50,000 URLs or 50MB uncompressed, whichever first → split + sitemapA sitemap is a file that lists the pages, images, videos, and other files on your site so search engines can discover them. It helps discovery, but submitting a sitemap doesn't guarantee crawling or indexing. index.
- Encoding: UTF-8. URLs: absolute, entity-escaped.
- GzipCompression (HTTP content encoding) shrinks text-based responses — HTML, CSS, JS, JSON, SVG, XML sitemaps — before they're sent over the network, using an algorithm like Gzip, Brotli, or Zstd, so the browser or crawler downloads fewer bytes. It's not a ranking factor, but it speeds up page loads and helps pages stay under crawler fetch limits. allowed (
.xml.gz); the 50MB cap is the uncompressed size. - hreflangHreflang is an annotation (in HTML, HTTP headers, or XML sitemaps) that tells search engines which language and optional region a page targets, and which alternate versions exist. It only works when every page in the cluster references all the others. 50,000 cap counts
<loc>URLs only, not the alternates. - Excluding a URL ≠ noindexing it.
- Accepted formats: XML (the versatile one), RSSAn RSS or Atom feed is an XML file listing a site's most recently published or updated URLs. Search engines accept it as a sitemap-style discovery signal for fresh content — not a replacement for a full XML sitemap./Atom, plain
.txt.
A minimal valid XML sitemap
The smallest correct sitemapA sitemap is a file that lists the pages, images, videos, and other files on your site so search engines can discover them. It helps discovery, but submitting a sitemap doesn't guarantee crawling or indexing. — declaration, namespaced <urlset>, one <url> with
a required <loc> and an optional <lastmod>:
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://www.example.com/</loc>
<lastmod>2026-06-22</lastmod>
</url>
<url>
<loc>https://www.example.com/blog/post-with-an-ampersand?a=1&b=2</loc>
<lastmod>2026-06-18</lastmod>
</url>
</urlset>Note the second <loc>: the & in the query stringThe `?key=value` data tacked onto the end of a URL after a question mark — used for tracking, sessions, filtering, sorting, and search — and one of the biggest sources of duplicate URLs and wasted crawling in SEO. is entity-escaped to
&. Raw &, ', ", <, and > characters will break the XML.
Gzip it for large files
You can serve a sitemapA sitemap is a file that lists the pages, images, videos, and other files on your site so search engines can discover them. It helps discovery, but submitting a sitemap doesn't guarantee crawling or indexing. gzipped to save bandwidth — name it .xml.gz:
# Compress a sitemap; Google and Bing both accept .xml.gz
gzip -k sitemap.xml # produces sitemap.xml.gz, keeps the originalRemember the size limit is checked uncompressed — gzipCompression (HTTP content encoding) shrinks text-based responses — HTML, CSS, JS, JSON, SVG, XML sitemaps — before they're sent over the network, using an algorithm like Gzip, Brotli, or Zstd, so the browser or crawler downloads fewer bytes. It's not a ranking factor, but it speeds up page loads and helps pages stay under crawler fetch limits. cuts transfer size, not
the 50MB/50,000-URL ceiling. (On Windows, use any zip tool that produces a true
gzip stream, or Compress-Archive is not gzip — prefer 7-Zip’s gzip output.)
Reference it in robots.txt
Point engines at it with a Sitemap: line (full absolute URL; auto-discovery
works from here):
User-agent: *
Allow: /
Sitemap: https://www.example.com/sitemap.xmlValidate it
Before you submit, sanity-check the file:
- Fetch it and confirm it returns
200with a real XML body (not your HTML 404 page — “Unsupported format” in Search ConsoleA free Google service that reports how a site performs in Google Search and surfaces problems with how Google crawls, indexes, and serves it. It's first-party data straight from Google — but you don't need it to appear in results. usually means you submitted an HTML page by mistake). - Check well-formedness locally with
xmllint:
# Confirms the XML parses; flags unescaped & < > and mismatched tags
xmllint --noout sitemap.xml && echo "well-formed"- Submit and watch the Search ConsoleGoogle's free tool for monitoring crawling, indexing, and search performance. Sitemaps reportThe Google Search Console report where you submit sitemaps and watch how Google processes them — type, last read date, status, and how many URLs were discovered. It confirms Google read your list; it doesn't prove anything got indexed. for the parsed URL count and any errors, then track submitted-vs-indexedStoring a crawled page in the search index so it can appear in results. Crawled is not the same as indexed — Google selects what to keep, and indexing isn't guaranteed. over the following days.
Patrick's relevant free tools
- XML Sitemap Validator — Paste, upload, or fetch a sitemap by URL — errors, warnings, and a health score with line numbers. Pasted and uploaded sitemaps are validated entirely in your browser.
- XML Sitemap Generator — Generate an XML sitemap from a capped, robots-respecting same-site crawl. Noindex, off-canonical, failed, and uncertain URLs remain visibly separate; lastmod dates are emitted only when the page provides evidence.
- SEO Incident Simulator — Practice thirty deterministic technical SEO incident investigations — indexability, crawl controls, redirects, sitemaps, markup, caching, DNS, bot verification, rendering, hreflang, and faceted navigation — with clearly labeled fixture evidence and Find → Fix → Verify handoffs.
Tools for building and checking your XML sitemap
- Google Index Checker — once your
sitemapA sitemap is a file that lists the pages, images, videos, and other files on your site so search engines can discover them. It helps discovery, but submitting a sitemap doesn't guarantee crawling or indexing. is live, this is how you check the other side of the diagnostic:
whether a URL you submitted is actually indexable. It surfaces status code,
redirectsA redirect sends browsers and crawlers from a requested URL to a different one. An HTTP redirect specifically is a 3xx status code paired with a Location header; meta refresh and JavaScript redirects achieve a similar navigation without being a 3xx response themselves. Permanent redirects (301/308) are Google's signal the target should be canonical; temporary ones (302/303/307) aren't.,
noindex, and canonical signals for a URL, then routes you to Search ConsoleA free Google service that reports how a site performs in Google Search and surfaces problems with how Google crawls, indexes, and serves it. It's first-party data straight from Google — but you don't need it to appear in results.’s URL InspectionA Google Search Console feature that reports how Google sees one specific URL on a property you own. By default it shows the last-indexed snapshot; a separate \"Test live URL\" mode fetches the current version. for Google’s real answer. Useful for chasing down why a submitted URL isn’t showing up in the indexedStoring a crawled page in the search index so it can appear in results. Crawled is not the same as indexed — Google selects what to keep, and indexing isn't guaranteed. count.
Ready-to-paste prompts for sitemap work
Audit a sitemap fileA sitemap is a file that lists the pages, images, videos, and other files on your site so search engines can discover them. It helps discovery, but submitting a sitemap doesn't guarantee crawling or indexing. for spec compliance. Paste the raw XML content of your sitemapA sitemap is a file that lists the pages, images, videos, and other files on your site so search engines can discover them. It helps discovery, but submitting a sitemap doesn't guarantee crawling or indexing. (or a representative chunk of it) and ask an AI assistant to check it against the rules in this article:
Here is the content of my XML sitemap. Check it against these rules and list
every violation with the line/URL affected:
1. The declaration and encoding must be `<?xml version="1.0" encoding="UTF-8"?>`.
2. `<urlset>` must declare xmlns="http://www.sitemaps.org/schemas/sitemap/0.9".
3. Every <loc> must be a fully-qualified absolute URL, with & ' " < > properly
entity-escaped (& ' " > <).
4. Flag any <priority> or <changefreq> tags as harmless-but-ignored, not errors.
5. Flag any <lastmod> value that is identical across most/all URLs (a sign of a
fake "always today" date) as suspicious rather than a hard error.
6. Confirm the file is under 50,000 <url> entries and, if you can estimate file
size, under 50MB uncompressed.
[paste sitemap XML here]Expect back a list of concrete violations (not a rewrite) — treat generic
“looks fine” output as a signal to check the file yourself with xmllint
instead.
Review hreflangHreflang is an annotation (in HTML, HTTP headers, or XML sitemaps) that tells search engines which language and optional region a page targets, and which alternate versions exist. It only works when every page in the cluster references all the others. return tags in a sitemap. If you’re managing hreflangHreflang is an annotation (in HTML, HTTP headers, or XML sitemaps) that tells search engines which language and optional region a page targets, and which alternate versions exist. It only works when every page in the cluster references all the others. via
sitemap xhtml:link blocks, paste a section of the file and ask for a
bidirectionality check:
This is a section of my XML sitemap using xhtml:link rel="alternate" hreflang
tags. For each <url> block, list every hreflang alternate it declares, then
tell me which alternates are NOT reciprocated (page A links to page B, but B's
block doesn't link back to A) and whether an x-default entry is present for
each language cluster.
[paste sitemap XML section here]This catches the exact failure mode covered above — one missing return tag can get the whole hreflang set ignored — faster than eyeballing a large file by hand.
Resources worth your time
My related writing
- When Should You Worry About Crawl Budget? — where clean sitemapsA sitemap is a file that lists the pages, images, videos, and other files on your site so search engines can discover them. It helps discovery, but submitting a sitemap doesn't guarantee crawling or indexing. fit into crawl efficiency, and why your sitemapA sitemap is a file that lists the pages, images, videos, and other files on your site so search engines can discover them. It helps discovery, but submitting a sitemap doesn't guarantee crawling or indexing. should list only indexable URLs.
- Enterprise Technical SEO — the automate-it-or-it-rots posture, and sitemaps at scale.
- Website Migration: The Definitive Guide — why I keep a sitemap of the old URLs around after a migration to watch them drop out of the indexStoring a crawled page in the search index so it can appear in results. Crawled is not the same as indexed — Google selects what to keep, and indexing isn't guaranteed. in GSCA free Google service that reports how a site performs in Google Search and surfaces problems with how Google crawls, indexes, and serves it. It's first-party data straight from Google — but you don't need it to appear in results..
- Hreflang: The Easy Guide — the three valid places hreflangHreflang is an annotation (in HTML, HTTP headers, or XML sitemaps) that tells search engines which language and optional region a page targets, and which alternate versions exist. It only works when every page in the cluster references all the others. can live, including the sitemap, and the tradeoffs.
- The Beginner’s Guide to Technical SEO — where sitemaps sit in the bigger picture.
My speaking
- How Search Works (SlideShare) — my walkthrough of crawlingCrawling is how search engines use automated bots (like Googlebot and Bingbot) to discover URLs and download pages. A page has to be crawlable to be indexed, but crawling on its own isn't a ranking factor., discovery, and indexingStoring a crawled page in the search index so it can appear in results. Crawled is not the same as indexed — Google selects what to keep, and indexing isn't guaranteed.. (Standing disclaimer: “This is my understanding of systems… not going to be 100% complete or accurate.”)
From others
- Google’s Sitemaps documentation — the canonical source for formats, limits, and extensions.
- sitemaps.org — the cross-engine
0.9protocol all of this is built on. - Bing’s Sitemaps in AI-Powered Search — Bing’s louder-than-Google take on
<lastmod>. - Bing’s The Importance of Setting the lastmod Tag in Your Sitemap — explains how Bing uses
<lastmod>for recrawlCrawl frequency is how often a search engine comes back to re-fetch a page it already knows about. Popular pages that change often get refreshed many times a day; stable pages can go weeks or months between crawls — and you influence it indirectly, not by setting a dial. prioritization. - Search Engine Roundtable — sitemap coverage — aggregated Google and Bing statements on sitemaps, including Gary Illyes on
<priority>and John Mueller on<lastmod>accuracy. - Google Search Central Blog: What Googlebot looks for in your sitemap — Google’s own post confirming
<lastmod>and removing the ping protocol. - Search Engine Journal — XML Sitemaps — industry coverage of sitemap best practices and common mistakes.
Test yourself: XML sitemaps
Five questions on the XML sitemapA sitemap is a file that lists the pages, images, videos, and other files on your site so search engines can discover them. It helps discovery, but submitting a sitemap doesn't guarantee crawling or indexing. format specifics — tags, limits, and hreflangHreflang is an annotation (in HTML, HTTP headers, or XML sitemaps) that tells search engines which language and optional region a page targets, and which alternate versions exist. It only works when every page in the cluster references all the others.. Pick an answer for each, then check.
XML sitemap
An XML sitemap is a UTF-8 file listing the canonical URLs on your site (with optional lastmod) so search engines can discover and prioritize them. It's a discovery and diagnostic aid, not a guarantee of indexing — and Google ignores its priority and changefreq tags.
Related: Sitemap, Sitemap index, Image sitemap, Video sitemap
XML sitemap
An XML sitemapA sitemap is a file that lists the pages, images, videos, and other files on your site so search engines can discover them. It helps discovery, but submitting a sitemap doesn't guarantee crawling or indexing. is a structured file — built around the sitemaps.org 0.9 protocol — in which you list the URLs on your site that you want search engines to know about. Each entry lives in a <url> block with a required <loc> (a fully-qualified, absolute URL) and an optional <lastmod> date. Google calls a sitemapA sitemap is a file that lists the pages, images, videos, and other files on your site so search engines can discover them. It helps discovery, but submitting a sitemap doesn't guarantee crawling or indexing. “a file where you provide information about the pages, videos, and other files on your site, and the relationships between them.”
A sitemap helps engines discover URLs, but it doesn’t guarantee they’ll be crawled or indexedStoring a crawled page in the search index so it can appear in results. Crawled is not the same as indexed — Google selects what to keep, and indexing isn't guaranteed. — it’s a coverage and diagnostic tool, not a ranking lever. Its real day-to-day value is the submitted-vs-indexed comparison in Google Search ConsoleA free Google service that reports how a site performs in Google Search and surfaces problems with how Google crawls, indexes, and serves it. It's first-party data straight from Google — but you don't need it to appear in results.: it tells you which of the URLs you’ve advertised actually made it into the index.
The format has hard limits — 50,000 URLs or 50MB uncompressed, whichever comes first — and files must be UTF-8 encoded with all special characters entity-escaped. Two legacy tags, <priority> and <changefreq>, are ignored by Google; <lastmod> is used, but only when it’s consistently and verifiably accurate. When a site exceeds the limits, you split it across multiple sitemaps and reference them from a sitemap indexA sitemap index is a sitemap of sitemaps — a single file that lists your other sitemap files instead of listing URLs directly. It's how large sites stay under the 50,000-URL / 50MB-per-sitemap limit while submitting just one file. file. XML sitemaps can also carry image, video, and hreflangHreflang is an annotation (in HTML, HTTP headers, or XML sitemaps) that tells search engines which language and optional region a page targets, and which alternate versions exist. It only works when every page in the cluster references all the others. (xhtml:link) extensions, and they aren’t the only accepted format — Google also reads RSSAn RSS or Atom feed is an XML file listing a site's most recently published or updated URLs. Search engines accept it as a sitemap-style discovery signal for fresh content — not a replacement for a full XML sitemap./Atom feeds and plain-text URL lists.
Related: Sitemap, Sitemap index, Image sitemap, Video sitemap
Build-time retrieval analysis plus live signals for this exact article. The automatic chunk report includes a deterministic readiness score and is ready without a model download.
Search Console
sampleGA4 traffic (28d)
sampleCloudflare traffic (7d)
sampledCrUX field data (28d, phone)
sampleGoogle NLP entities
localChangelog
Updated Jul 18, 2026.
Editorial summary and recorded change details.Summary
Reviewed the article against the sitemaps update-pass brief (limits, ignored-tag treatment, canonical-vs-directive framing, and hosting scope all reverified against Google's and sitemaps.org's live docs and confirmed accurate); added the one documented exception to the same-path hosting default.
Change details
-
Added the cross-submission exception to the Placement/naming bullet — a sitemap can cover a different site if ownership is verified and that site's robots.txt points to it, per Google's build-a-sitemap documentation.
Full comparison unavailable — no prior snapshot was archived for this revision.