Sitemaps
What a sitemap is, whether you need one, the types (XML, HTML, image, video, news), how to find, create, and submit one, and why sitemaps help discovery but never guarantee indexing.
1 evidence signal on this page
- Related live toolGoogle Index Checker
A sitemap is a file that lists the URLs (and media) on your site so search engines can discover them. It helps discovery and is a great coverage/diagnostic tool — but submitting one never guarantees crawling or indexing. A single sitemap caps at 50,000 URLs or 50MB uncompressed; Google ignores <priority>/<changefreq> but reads an accurate <lastmod>. Automate it from the pages you actually have, list only canonical indexable URLs, and submit it in Search Console + Bing Webmaster Tools (the old ping endpoint is dead). This hub routes you to the deep dives: XML sitemap, sitemap index, image sitemap, and video sitemap.
TL;DR — 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 that lists the pages on your site so search engines can find them. It helps Google and Bing discover your content — but 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. it. Most sites should have one (it’s cheap insurance), it should be generated automatically so it stays current, and you 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 a sitemap is
A sitemap is a file where you list the URLs on your site — and sometimes your images and videos — so search engines have a tidy inventory to work from instead of having to discover everything by following links. 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.” Evidence for this claim A sitemap supplies search engines with information about pages, videos, and other files on a site and their relationships. Scope: Google's general definition of sitemaps; supported formats and extensions have additional requirements. Confidence: high · Verified: Google Search Central: Learn about sitemaps
The most common kind 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., which is written for crawlersA crawler — also called a spider or bot — is an automated program that fetches web pages, extracts their links, and queues new URLs to visit. Search engines use crawlers to discover and download content for their index. rather than people. There’s also an HTML sitemap, which is a page of links meant for human visitors. They solve different problems.
Do you actually need one?
If your site is small (think a few hundred pages) and everything is well linked from your navigation, search engines can usually find it all on their own — Google says you may not strictly need a sitemap in that case. But it’s so cheap to have one that I’d generate one anyway. John Mueller put it well: a sitemap file is “a minimal baseline for any serious website.” So my rule of thumb is simple: always have one, and let your CMSA 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. or framework generate it automatically.
You especially want one if your site is large, brand new with few links pointing at it, or heavy on images, video, or news content.
The thing to understand up front
A sitemap helps discovery — it does not 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.. Putting a URL in your sitemap doesn’t force Google to crawl it, and it definitely doesn’t force Google to index or rank it. Google says it plainly: “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.” Think of it as a helpful list, not a magic “index me” button. Evidence for this claim A sitemap helps search engines discover URLs but does not guarantee that Google will crawl or index them. Scope: Google Search sitemap discovery; inclusion is not an indexing or ranking directive. Confidence: high · Verified: Google Search Central: Learn about sitemaps
How to find a site’s sitemap
Most sitemaps live at a predictable spot. Try:
yoursite.com/sitemap.xml(the most common default).- Your
robots.txtfile (yoursite.com/robots.txt) — sites often list the sitemap there with aSitemap: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. (your own site) under the Sitemaps report.
One thing worth knowing: not every site advertises its sitemap. Some deliberately
keep it out of robots.txt and submit it only inside Search ConsoleGoogle's free tool for monitoring crawling, indexing, and search performance. and Bing
Webmaster ToolsThe free, first-party consoles search engines give site owners — Google Search Console and Bing Webmaster Tools — to see how their pages are crawled, indexed, and ranked, and to fix problems. The legacy name is 'webmaster tools.', so competitors can’t grab a clean list of every URL they publish.
So “I can’t find it at the usual spot” doesn’t mean a site has no sitemap.
How to make and submit one
Most platforms make one for you automatically — WordPress, Shopify, Wix, Squarespace, and Webflow all generate a sitemap out of the box (see the Cheat Sheets tab for the path on each one). Once you have it:
- Make sure it lists only the URLs you actually want indexed.
- Submit it in Google Search Console 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..
- Add a
Sitemap:line to yourrobots.txt(unless you’re deliberately keeping it private).
Want the full version — the size limits, the tags Google ignores, how to find a site that’s hiding its sitemap, and the different types? Switch to the Advanced tab.
TL;DR — 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 listing your URLs (and optionally images/videos) so engines can discover them — a coverage and diagnostic tool, not a discovery silver bullet, because submitting never guarantees 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 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.. A single sitemap caps at 50,000 URLs or 50MB 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. is allowed; the cap is the uncompressed size); UTF-8; fully-qualified absolute URLs; entity-escape
&,',",<,>. Google ignores<priority>and<changefreq>and only uses<lastmod>if it’s consistently accurate. Submit via 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., Bing Webmaster ToolsThe free, first-party consoles search engines give site owners — Google Search Console and Bing Webmaster Tools — to see how their pages are crawled, indexed, and ranked, and to fix problems. The legacy name is 'webmaster tools.', and therobots.txtSitemap:line — the old ping endpoint has 404’d since Jan 2024, and IndexNowIndexNow is an open push protocol that lets you instantly tell participating search engines (Bing, Yandex, Naver, Seznam, and Yep) which URLs you've added, changed, or removed via a simple HTTP request — and one submission is shared across all of them. Google does not use it. notifies Bing and others (not Google). Build it automatically, list only canonical indexable URLs, and use the submitted-vs-indexed signal in Search ConsoleGoogle's free tool for monitoring crawling, indexing, and search performance. to find what’s missing.
What a sitemap is — and what it’s for
Google’s definition is the right anchor: “A sitemap is a file where you provide information about the pages, videos, and other files on your site, and the relationships between them.” Evidence for this claim A sitemap supplies search engines with information about pages, videos, and other files on a site and their relationships. Scope: Google's general definition of sitemaps; supported formats and extensions have additional requirements. Confidence: high · Verified: Google Search Central: Learn about sitemaps It’s an inventory you hand to search engines.
The most important framing I can give you: a sitemap is a coverage and diagnostic tool, not a discovery silver bullet. Google is explicit that “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.” Submitting a URL doesn’t index it. The real day-to-day payoff is the submitted-vs-indexed comparison in Search Console: split your sitemaps by section or content type and you can see which part of the site isn’t getting picked up. During a migration I’ll keep a sitemap of the old URLs around for a while on purpose, specifically so I can watch them drop out of the index in GSC.
Do you need one? Resolving the contradiction
You’ll see two pieces of advice that look like they conflict:
- Google’s threshold: you likely don’t need a sitemap if the site is small (around 500 pages) and well internally linked; you likely do if it’s large, new with few backlinks, or media/News-heavy.
- Mueller’s baseline: “Making a sitemap file automatically seems like a minimal baseline for any serious website, imo.”
Both are right, and here’s how I reconcile them: a sitemap isn’t strictly required for a tiny, well-linked site, but it’s cheap insurance and it’s now the expected baseline — so always generate one, automatically. Which brings me to the one rule I won’t bend on.
Automate it, or it rots
Sitemaps should be generated automatically from the pages you actually have. If someone hands me a manually-built sitemap, I already know it’ll fall out of date fast — somebody adds pages, nobody updates the file, and now it’s lying to Google. And there’s a subtler point: if you’re generating the sitemap from your real, crawlable pages anyway, search engines can usually reach those pages on their own through links. The sitemap earns its keep by being current and complete, not just by existing. Automation is what makes it current.
The types of sitemap
- 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. — the workhorse, written for crawlersA crawler — also called a spider or bot — is an automated program that fetches web pages, extracts their links, and queues new URLs to visit. Search engines use crawlers to discover and download content for their index.. A list of
<loc>URLs, optionally with<lastmod>. This is what people usually mean by “sitemap.” - HTML sitemap — a human-facing page of links. Useful for users and for internal linking, but it isn’t the file you submit to Search Console.
- Image sitemapAn image sitemap is a sitemap (or an extension added to an existing sitemap) that lists the images on your pages using Google's image namespace, helping Google discover images it might otherwise miss. — surfaces images search engines might otherwise miss (for example, images loaded by JavaScript or served dynamically). Can be a standalone file or image tags added to an existing sitemap.
- 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. — gives search engines the metadata they need to understand and index your videos (thumbnail, title, description, and the media or player URL).
- News sitemapA news sitemap is a sitemap (a standalone file or a section of an existing sitemap) that uses Google's news: XML namespace to tell Google about your recent articles — only those published in the last two days. It speeds discovery of breaking content; it isn't a ranking factor and isn't required for Google News eligibility. — for sites in Google News, listing recent articles.
And XML isn’t the only accepted format. Google also takes RSS/Atom feeds and a
plain-text .txt file (one URL per line). RSS and text formats can only list
page URLs — no image or video metadata — so XML is the most versatile.
XML vs HTML
These get confused constantly, so keep them separate: 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 for crawlersA crawler — also called a spider or bot — is an automated program that fetches web pages, extracts their links, and queues new URLs to visit. Search engines use crawlers to discover and download content for their index. — machine-readable, submitted to Search Console, the thing search engines parse. An HTML sitemap is for people — a regular web page linking to your sections, which can also help internal linkingLinks between pages on the same site.. If you only build one, build the XML sitemap; that’s the one search engines actually use.
How to find a sitemap (and why some sites hide theirs)
To find a sitemap, try, in order:
/sitemap.xml— the default location on most platforms.robots.txt— a public sitemap is usually named here with aSitemap:line, which is also how engines auto-discover it.site:operators / Search Console — for your own property, the Search Console 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. is the authoritative view of what’s submitted and how it’s doing.
But here’s the part most guides skip: not every sitemap is meant to be found.
Some sites deliberately omit the Sitemap: line from robots.txt and submit the
file only through Search Console 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.. A sitemap referenced in
robots.txt is readable by anyone — including competitors who’d love a tidy list of
every URL you publish (unlinked pages, new launches, strategically important pages)
and a way to watch how fast you ship. A sitemap submitted only through the consoles
is effectively private. So if you can’t find a site’s sitemap at the usual paths, it
may just be unlisted, not absent.
The trade-off is real, though: hiding the sitemap from robots.txt also means any
engine that relies on robots.txt auto-discovery won’t see it unless you’ve
submitted it in each console. If you go the private route, you have to do the
submission legwork everywhere you care about.
How to create one
Almost every platform can generate a sitemap for you — and on most of them it’s
automatic. I’ve put the per-platform paths (WordPress, Shopify, Wix, Squarespace,
Webflow, Drupal, JS frameworks, and manual generators) in the Cheat Sheets tab
so you can jump straight to yours. The short version for JS frameworks: search the
framework name plus “sitemap” (for example, “Gatsby sitemap” or “Next.js
sitemap”) — there’s almost always an existing module so you don’t hand-roll it.
This site runs on Astro and uses @astrojs/sitemap, configured in
astro.config.mjs.
How to submit it
The live methods:
- 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 report (and 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.). The primary method.
- Bing Webmaster Tools — submit there too; Bing fetches it immediately, then rechecks roughly daily.
robots.txtSitemap:line — works for any engine that readsrobots.txt, and is how a public sitemap gets auto-discovered. Use the full absolute URL.
What’s dead: the old standalone ping endpoint (google.com/ping?sitemap=). It’s
been deprecated since 2023 and returns a 404 since January 2024 — Google killed
it because the vast majority of submissions were spam. If you’ve got a plugin or cron
job still hitting it, strip that out. For fast, URL-level notification of single
changes to Bing and others, use IndexNowIndexNow is an open push protocol that lets you instantly tell participating search engines (Bing, Yandex, Naver, Seznam, and Yep) which URLs you've added, changed, or removed via a simple HTTP request — and one submission is shared across all of them. Google does not use it. — but note Google does not
participate in IndexNow, so it won’t speed up Google 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.. Bing’s own framing
is that the two are complementary: sitemaps for comprehensive coverage, IndexNow for
fast per-URL pushes.
Submission problems
When something goes wrong, the Search Console Sitemaps report will tell you — but the
error labels aren’t always self-explanatory. I’ve put a full error → meaning → fix
table in the Cheat Sheets tab. The greatest hits: “Couldn’t fetch” (wrong URL,
robots block, or just not processed yet — often transient), “Unsupported format”
(you submitted an HTML page instead of a real XML/RSS/Atom/txt file), and “URL not
allowed” (the classic HTTP-vs-HTTPSHTTPS is the encrypted version of HTTP — it uses TLS to authenticate the server and protect data in transit between a browser and a website. Google announced it as a lightweight ranking signal in 2014 and today conditionally prefers HTTPS pages as canonical; Chrome marks plain HTTP pages 'Not Secure.' / www mismatch, or URLs above the sitemap’s
own path). A couple of non-error gotchas worth knowing: Google may serve you a
stale cached copy, so changes aren’t instant, and submitting both the children
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. is harmless but unnecessary.
Trace a 'URL not allowed' report back to the exact host or path mismatch with the XML Sitemap Validator Free
- Fetch the deployed sitemap or paste the XML that produced the submission error.
- Compare each URL’s host and path with the sitemap location and the verified property.
- Move disallowed URLs to the correct sitemap or complete the documented cross-site verification, then resubmit and monitor the live report.
The completed XML Sitemap Validator result warns that one URL uses a different host or scheme from the sitemap. It says Google generally ignores such URLs unless ownership is verified through Search Console or robots.txt cross-submission.
Best practices — and “exclude ≠ noindex”
The rules that matter, all from Google’s own spec:
- Size: a single sitemap holds at most 50,000 URLs or 50MB uncompressed, whichever comes first. You can gzip it — the 50MB cap is the uncompressed size. Evidence for this claim Google limits a single sitemap to 50,000 URLs or 50 MB uncompressed. Scope: Google-supported sitemap files; larger inventories must be split across multiple sitemaps, optionally joined by an index. Confidence: high · Verified: Google Search Central: Build and submit a sitemap Over the limit, split into multiple sitemaps and tie them together with a sitemap index.
- Encoding: UTF-8.
- URLs: fully-qualified, absolute URLs. Entity-escape
&,',",<, and>. - Tags Google ignores:
<priority>and<changefreq>do nothing — don’t bother with them. lastmoddone honestly: Google only trustslastmodif it’s consistently and verifiably accurate. Set it on significant updates (main content, structured data, or links) — not a blanket copyright-year or “today” stamp on every URL. Lie about it and Google stops believing the field. Done right, an accuratelastmodgenuinely helps re-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. (Bing leans on it even harder than Google does).- Contents: list only canonical, indexable, 200-status URLs. No 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 URLs, no
noindex’d pages. Any page you want indexed should be in the sitemap; nothing you don’t.
That last point hides the single most common conceptual error: exclude ≠ noindexNoindex is a directive that tells search engines to keep a page out of their index, so it won't appear in search results. It works only on pages a crawler can actually fetch — a page blocked in robots.txt can never be noindexed..
Leaving a URL out of your sitemap does not deindex it. The sitemap is an
advertisement, not a gate — dropping a URL just stops you advertising it; it doesn’t
remove it from Google. If you want a page gone, allow crawling and use noindex. The
sitemap is the wrong tool for that job.
Where to go next
This page is the overview. Each of these is its own deep dive nested under the discovery topic:
- XML sitemap — the format and anatomy:
<urlset>,<loc>,<lastmod>, the ignored tags, what to include and exclude, 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. in sitemaps. - Sitemap index — the “sitemap of sitemaps” for large sites, when to split, and the math on how many URLs you can cover.
- Image sitemap — surfacing images search engines might miss, the current (not deprecated) tag list, and cross-domain rules.
- Video sitemap — the required tags, accepted file types, and getting videos understood and indexed.
Sitemaps are one half of discovery — the other half is crawling, which is how engines actually fetch the URLs your sitemap points to. For the whole picture, see How Search WorksSearch works in three stages — crawling, indexing, and serving (ranking). A page has to clear each one to appear in results: getting crawled doesn't mean you're indexed, and getting indexed doesn't mean you rank.. Every topic above is in the sidebar too.
AI summary
A condensed take on the Advanced version:
- 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 listing your URLs (and optionally images/videos) so search engines can discover them. Google: “a file where you provide information about the pages, videos, and other files on your site.”
- 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 a sitemap doesn’t guarantee 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 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. — “it doesn’t guarantee that all the items in your sitemap will be crawled and indexed.” Its real value is the submitted-vs-indexed diagnostic 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..
- Do you need one? Not strictly for tiny well-linked sites (Google’s ~500-page threshold), but Mueller calls it “a minimal baseline for any serious website.” Always generate one — automatically, or it rots.
- Types: XML (for crawlersA crawler — also called a spider or bot — is an automated program that fetches web pages, extracts their links, and queues new URLs to visit. Search engines use crawlers to discover and download content for their index.), HTML (for people), image, video, news; plus 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
.txtformats (page URLs only). - Finding one:
/sitemap.xml,robots.txt,site:/ Search ConsoleGoogle's free tool for monitoring crawling, indexing, and search performance.. Some sites deliberately hide theirs (omit it from robots.txtA plain-text file at the root of a host that tells crawlers which URLs they may and may not request. It controls crawling, not indexing — a blocked URL can still be indexed if it's linked from elsewhere., submit only in the consoles) to keep their URL list private — at the cost of losing auto-discovery. - Limits: 50,000 URLs or 50MB uncompressed per sitemap (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; cap is
uncompressed); UTF-8; fully-qualified absolute URLs; entity-escape
& ' " < >. - Tags: Google ignores
<priority>and<changefreq>; uses<lastmod>only if consistently accurate (significant updates, not copyright-year). - Submit via Search Console, 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., and the
robots.txtSitemap:line. The ping endpoint 404s since Jan 2024. IndexNowIndexNow is an open push protocol that lets you instantly tell participating search engines (Bing, Yandex, Naver, Seznam, and Yep) which URLs you've added, changed, or removed via a simple HTTP request — and one submission is shared across all of them. Google does not use it. notifies Bing/Yandex/others — not Google. - Exclude ≠ noindexNoindex is a directive that tells search engines to keep a page out of their index, so it won't appear in search results. It works only on pages a crawler can actually fetch — a page blocked in robots.txt can never be noindexed.. Leaving a URL out of the sitemap doesn’t deindex it; use
noindexfor that. - Deep dives: 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., 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., image sitemapAn image sitemap is a sitemap (or an extension added to an existing sitemap) that lists the images on your pages using Google's image namespace, helping Google discover images it might otherwise miss., 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..
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, do you need one, and the supported formats.
- Build and submit a sitemap — the 50,000-URL / 50MB limits, UTF-8, absolute URLs,
lastmod, and how to submit. - Manage your large sitemaps with sitemap index files — splitting big sitemaps and 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. file.
- Image sitemaps — the current image tags and namespace.
- Video sitemaps — required/optional video tags.
- Sitemaps report help — every 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. sitemap error and what it means.
- sitemaps.org protocol — the cross-engine 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. standard.
Bing / Microsoft
- Keeping Content Discoverable with Sitemaps in AI-Powered Search (Jul 2025) — Bing’s current stance: XML preferred,
lastmodmatters, sitemaps + IndexNowIndexNow is an open push protocol that lets you instantly tell participating search engines (Bing, Yandex, Naver, Seznam, and Yep) which URLs you've added, changed, or removed via a simple HTTP request — and one submission is shared across all of them. Google does not use it. are complementary. - The Importance of Setting the lastmod Tag in Your Sitemap (Feb 2023) — Fabrice Canel on why
lastmodis crucial. - IndexNow / indexnow.org documentation — the push protocol for instantly signaling changed URLs (Bing, Yandex, and others — not Google).
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 what it does
- “A sitemap is a file where you provide information about the pages, videos, and other files on your site, and the relationships between them.” — Google Search Central, 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 — discovery, not a guarantee
- “submitting a Sitemap doesn’t guarantee the pages referenced in it will be indexed. Think of a Sitemap as a way to help GooglebotGooglebot is Google's web crawler — the software that fetches pages so Google can index and rank them. It comes in two variants, Googlebot Smartphone (primary, under mobile-first indexing) and Googlebot Desktop, and runs an evergreen Chromium renderer. find your content … if the content is shallow, it may totally happen it will not be indexed at all.” — Gary Illyes, Google. Jump to quote
- “One part of sitemaps is that Google has to be keen on 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. more content from the site. If Google’s not convinced that there’s new & important content to index, it won’t use the sitemap.” — John Mueller, Google. Jump to quote
Google — do you need one?
- “Making a sitemap file automatically seems like a minimal baseline for any serious website, imo.” — John Mueller, Google. Jump to quote
Google — the tags it ignores
- “we ignore those. It’s essentially a bag of noise.”
— Gary Illyes, Google, on
<priority>and<changefreq>. Jump to quote - “Priority and change frequency doesn’t really play that much of a role with Sitemaps anymore … it is much better to just specify the time stamp directly.” — John Mueller, Google. Jump to quote
Google — lastmod done honestly
- “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, Google. Jump to quote
- “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.” — Google Search Central, build a sitemap. Jump to quote
Bing — lastmod and IndexNowIndexNow is an open push protocol that lets you instantly tell participating search engines (Bing, Yandex, Naver, Seznam, and Yep) which URLs you've added, changed, or removed via a simple HTTP request — and one submission is shared across all of them. Google does not use it.
- “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.” — Microsoft Bing blog. Jump to quote
- “By combining sitemaps for comprehensive site coverage with IndexNowIndexNow is an open push protocol that lets you instantly tell participating search engines (Bing, Yandex, Naver, Seznam, and Yep) which URLs you've added, changed, or removed via a simple HTTP request — and one submission is shared across all of them. Google does not use it. for fast, URL-level submission, you provide the strongest foundation for keeping your content fresh, discoverable, and visible.” — Microsoft Bing blog. Jump to quote
The standing KPIs for sitemap health
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. doesn’t have a ranking metric of its own — its job is coverage, so the KPIs that matter track whether it’s actually doing that job over time, not a one-off audit.
Submitted vs. indexed, per sitemap
- Metric — Of the URLs in a given sitemap, what share Google reports as 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. vs. not indexed.
- What it tells you — Whether the URLs you’re advertising are actually landing in the index. A ratio that’s fine overall but bad for one sitemap (say, a blog sitemap vs. a product sitemapAn ecommerce XML sitemap is a machine-readable file (or set of files referenced by a sitemap index) listing the canonical URLs an online store wants crawled — usually split by content type (products, categories, brands, static pages) so a large, fast-changing catalog can be discovered and monitored more efficiently than through internal links alone.) tells you exactly which section of the site has a problem — that’s the whole reason to split sitemaps by section in the first place.
- How to pull it — 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., open Page IndexingThe Google Search Console report (formerly Index Coverage) showing how many of your URLs are indexed vs. not indexed, and grouping the not-indexed ones by reason. (“Why pages
aren’t indexed”) and filter by sitemap — that view splits indexed vs.
not-indexed for the URLs in that specific file. The Sitemaps report
itself only shows what was submitted and when it was last read, so the
indexed/not-indexed split comes from Page 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., not 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..
Spot-check individual URLs with the
Google Index Checker when you need the
observable signals (status, 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, canonical) behind a single URL’s non-indexing. - Benchmark / realistic range — There’s no honest universal target — a site with lots of thin, near-duplicateThe same or very similar primary content reachable at more than one URL. There's no general duplicate content penalty — the real costs are possible signal dilution, the wrong URL getting chosen, and less-efficient crawling., or genuinely low-value pages will never see 100%, and that’s not necessarily a bug. Establish your own baseline per section and watch the trend: a ratio that’s drifting down is the signal, not any specific absolute number.
- Cadence — Monthly for a stable site; weekly during a migration, a large content push, or right after you restructure your sitemaps, since that’s when the ratio moves fastest.
Sitemap coverage completeness
- Metric — Share of your actual canonical, indexable, 200-status URLs that are present in the submitted sitemap(s).
- What it tells you — Whether the sitemap is doing its job as a complete inventory, or whether it’s rotted — missing new sections, still listing redirected or deindexed URLs, or drifting out of sync with what your CMSA 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. actually generates. This is a data-quality check on the file itself, not on Google’s behavior.
- How to pull it — Fetch and validate the live sitemap with the XML Sitemap Validator to get the exact URL list plus any structural errors, then compare that list against your site’s real canonical URLHow search engines pick one canonical URL among duplicates and consolidate signals onto it. set (a crawl export, or your CMS’s own page list) to find gaps in either direction — pages missing from the sitemap, or stale URLs still in it that shouldn’t be.
- Benchmark / realistic range — Depends entirely on how you define “should be indexable” for your own site, so there’s no defensible universal number here either — the right bar is simply “close to 100% match, with any gap explained” rather than a target percentage.
- Cadence — Whenever the sitemap is regenerated (ideally every deploy, if it’s automated) and as a manual spot-check after any large content migration or URL restructuring.
Ready-to-use AI prompts
Copy-paste starting points for 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. tasks. Treat the output as a draft to verify against the actual sitemap file, 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 Google’s own sitemap docs — not a final answer.
Audit a sitemap file against the spec
Here is my sitemap XML [paste the file or the first ~200 lines]. Check it against Google’s sitemap requirements: is it under 50,000 URLs / 50MB uncompressed, UTF-8, using fully-qualified absolute URLs, and are
&,',",<, and>properly entity-escaped? Flag anything that looks like a non-canonical URLHow search engines pick one canonical URL among duplicates and consolidate signals onto it., a redirectA 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. target, or a duplicate. Don’t flag<priority>or<changefreq>as errors — Google ignores those tags, they’re not a validity issue.
Decide whether to split into a sitemap 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.
My site has approximately [N] indexable URLs across these sections: [list sections, e.g. blog, product pages, category pages]. Based on Google’s 50,000-URL / 50MB-per-sitemap limit, tell me whether I need 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., and if so, propose a sensible split by section (so I can also diagnose submitted-vs-indexed per section in Search ConsoleGoogle's free tool for monitoring crawling, indexing, and search performance. afterward).
Write a lastmod update policy
I want a
lastmodpolicy for my sitemap generator that only updates the date on genuinely significant changes (main content, 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) — not a blanket “today” or copyright-year stamp, since Google says it stops trustinglastmodonce it’s inaccurate. Here’s how my CMSA 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. tracks edits [describe: publish date, last-edited timestamp, version history, etc.]. Draft the logic for whenlastmodshould and shouldn’t change.
Decide whether to keep the sitemap public or submit it privately
Here’s my situation: [describe the site — competitive niche? new unlinked pages you don’t want scraped? currently listing the sitemap in robots.txtA plain-text file at the root of a host that tells crawlers which URLs they may and may not request. It controls crawling, not indexing — a blocked URL can still be indexed if it's linked from elsewhere.?]. Walk me through the trade-off between listing my sitemap in
robots.txt(public, auto-discoverable by any crawlerA crawler — also called a spider or bot — is an automated program that fetches web pages, extracts their links, and queues new URLs to visit. Search engines use crawlers to discover and download content for their index.) versus submitting it only through 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. (private, but I lose auto-discovery for any engine I haven’t manually submitted to). Recommend one given my situation and explain why.
Triage a submitted-vs-indexed export by section
Here’s a CSV export of my sitemap URLs joined with their 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. status from Search Console [paste: URL, sitemap, indexed y/n, reason if not indexed]. Group the “not indexed” URLs by likely cause (thin contentThin content is web content that provides little or no value to users. Google's spam policies name it 'thin content with little or no added value' — and it's about value per page, not word count., near- duplicate, blocked, not yet crawled, deliberately low-value) and tell me which sitemap section has the worst ratio, so I know where to focus first.
Sitemap checklist
A pass to confirm 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 helping rather than rotting:
- A sitemap exists and is generated automatically (not hand-maintained).
- It lists only canonical, indexable, 200-status URLs — no 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 URLsHow search engines pick one canonical URL among duplicates and consolidate signals onto it., no
noindex’d pages. - URLs are fully-qualified and absolute, and special characters
(
& ' " < >) are entity-escaped. - It’s UTF-8 encoded.
- No single sitemap exceeds 50,000 URLs or 50MB uncompressed — split + use a sitemap 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. if it does (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 fine; the cap is the uncompressed size).
- You haven’t bothered with
<priority>or<changefreq>— Google ignores both. -
<lastmod>is only set on significant updates and is genuinely accurate (not a blanket copyright-year or “today” date). - 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..
- A
Sitemap:line is inrobots.txt(or it’s deliberately omitted to keep the sitemap private — in which case you’ve submitted it in every console). - No dead
google.com/ping?sitemap=calls left in any plugin or cron job (it 404s since Jan 2024). - You periodically check the submitted-vs-indexed numbers in Search ConsoleGoogle's free tool for monitoring crawling, indexing, and search performance. to spot under-indexed sections.
- You’re not using the sitemap to try 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. anything — that’s
noindex’s job.
The mental models
1. 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 an inventory, not a discovery silver bullet. It’s a coverage tool — a clean list of what you want 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 does not force 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 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.. If pages aren’t getting indexed, the sitemap is where you notice the problem (submitted vs indexed), not where you fix it.
2. Exclude ≠ noindexNoindex is a directive that tells search engines to keep a page out of their index, so it won't appear in search results. It works only on pages a crawler can actually fetch — a page blocked in robots.txt can never be noindexed..
Leaving a URL out of the sitemap does not remove it from Google. The sitemap is an
advertisement, not a gate. To remove a page, allow 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. and add noindex — the
sitemap is the wrong lever entirely.
3. Automate it, or it rots. A manually-built sitemap goes stale the moment someone adds a page and forgets the file. Generate it from the pages you actually have so it stays current and complete. A sitemap’s value is in being accurate, not in merely existing.
4. Submitted-vs-indexed is a diagnostic. Split your sitemaps by section or content type and the 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. coverage numbers tell you which part of the site is under-indexed. That’s the real, day-to-day payoff — far more useful than the act of submitting itself.
5. Discovery has two halves. Sitemaps are the pull-inventory half of discovery; links are the other pull half, and push protocols (IndexNowIndexNow is an open push protocol that lets you instantly tell participating search engines (Bing, Yandex, Naver, Seznam, and Yep) which URLs you've added, changed, or removed via a simple HTTP request — and one submission is shared across all of them. Google does not use it., the Indexing APIThe Google Indexing API lets site owners notify Google directly when a URL is added, updated, or removed. Google officially supports it only for pages with JobPosting or BroadcastEvent (livestream) structured data — not for general content.) are a separate channel. If a page isn’t being foundA 302 (\"Found\") is a temporary redirect: it forwards users to a new URL while telling search engines the original URL should stay in the index. It's a weak canonicalization signal, not the zero-equity dead end of SEO folklore., ask which channel should be carrying it — and whether anything links to it at all.
How to create a sitemap, by platform
Each platform below either generates 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. automatically or has a standard module
for it. The two final steps are the same everywhere: (1) make sure only the right
URLs are included (canonical, indexable only); (2) submit it 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. +
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. and add the Sitemap: line to robots.txt (or deliberately
omit that line to keep it unlisted).
| Platform | Where the sitemap comes from |
|---|---|
| WordPress | Core auto-generates one at /wp-sitemap.xml (WP ≥ 5.5). For control — exclude post types, add image/news, split — use Yoast SEO, Rank Math, or AIOSEO; they replace the core sitemap and update on publish. |
| Shopify | Auto-generates /sitemap.xml (a sitemap 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. pointing to products / collections / pages / blogs children). Not directly editable — control inclusion via page visibility and template noindex edits. |
| Wix | Auto-generates /sitemap.xml; toggle per-page indexingThe Google Search Console report (formerly Index Coverage) showing how many of your URLs are indexed vs. not indexed, and grouping the not-indexed ones by reason. in the SEO settings. |
| Squarespace | Auto-generates /sitemap.xml; you can’t hand-edit it — exclude pages via page settings. |
| Webflow | Auto sitemap toggle in Site Settings → SEO, or supply your own custom sitemap. |
| Drupal | Use the Simple 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. module (or the older 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. module) — it generates, splits, and submits to the consoles. |
| JS frameworks (Next / Astro / Gatsby / etc.) | Use the framework’s sitemap integration — search “<framework> sitemap.” (This site uses Astro’s @astrojs/sitemap, configured in astro.config.mjs.) |
| Manual / generators | Static or tiny sites: an online generator (e.g. XML-Sitemaps.com) or a build script. Caveat: manual goes stale — prefer automation. |
Search Console sitemap errors → meaning → fix
| Status / error | What it means | Fix |
|---|---|---|
| Couldn’t fetch | Google couldn’t retrieve the file — wrong URL/404, robots.txtA plain-text file at the root of a host that tells crawlers which URLs they may and may not request. It controls crawling, not indexing — a blocked URL can still be indexed if it's linked from elsewhere. block, server timeout, or simply not processed yet. Often transient. | Confirm the URL returns 200, isn’t robots-blocked, and the server is responsive; re-submit and wait. (Can also mean Google isn’t yet convinced there’s new/important content to index.) |
| Unsupported format | The file isn’t a supported format — the classic “you submitted an HTML page / theme file.” | Submit a real XML/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 sitemap, not an HTML page. |
| Empty sitemap | No URLs in the file. | Generate it against real URLs; check the generator. |
| Sitemap file size error | Larger than 50MB uncompressed. | Split into multiple sitemaps + 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.. |
| 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. error | Google couldn’t uncompress your .gz. | Re-gzip correctly and verify it decompresses. |
| Incorrect namespace | The root element is missing or has the wrong namespace. | Use xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" (plus image/video/xhtml namespaces if used). |
| URL not allowed | URLs sit above the sitemap’s level or on a different domain (path/cross-submission mismatch). | Move the sitemap up, or verify both domains in Search ConsoleGoogle's free tool for monitoring crawling, indexing, and search performance.; keep children at/below the index’s path. |
| Invalid URL | A <loc> value isn’t a valid, absolute URL. | Use fully-qualified absolute URLs; entity-escape & ' " < >. |
| URLs not accessible / not followed | Google hit an error 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. the listed URLs. | Confirm those URLs return 200 and aren’t robots-blocked. |
| Invalid date | Bad <lastmod> date format. | Use W3C / ISO-8601 dates. |
| Invalid / missing tag or attribute, too many tags | Malformed or duplicate XML. | Validate the XML; remove duplicate tags; supply required attributes. |
| Thumbnail too large/small (video) | A <video:thumbnail_loc> image fails the size rules. | Use ≥ 60×30 px in a supported format at a stable, crawlable URL. |
Other real-world gotchas: an HTTP-vs-HTTPSHTTPS is the encrypted version of HTTP — it uses TLS to authenticate the server and protect data in transit between a browser and a website. Google announced it as a lightweight ranking signal in 2014 and today conditionally prefers HTTPS pages as canonical; Chrome marks plain HTTP pages 'Not Secure.' or www mismatch between sitemap URLs
and the verified property triggers “URL not allowed”; Google may serve a stale
cached copy so changes aren’t instant; and submitting children and the index is
harmless but unnecessary.
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.
Tools for validating and diagnosing a sitemap
- Google Index Checker — spot-check a
specific URL from 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. for the observable indexability blockers
(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, canonical signals) before you assume the sitemap itself is the problem. It 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 Inspection for Google’s actual, authoritative answer — this tool only surfaces what’s visible from the outside. - 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. — where you submit a sitemap and see what Google last fetched and when; combine with the Page IndexingThe Google Search Console report (formerly Index Coverage) showing how many of your URLs are indexed vs. not indexed, and grouping the not-indexed ones by reason. report (filtered by sitemap) to get 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.-vs-not-indexed split used in the How to Measure tab above.
- 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. — Sitemaps — the equivalent submission and status view for Bing; submit here in addition to Search ConsoleGoogle's free tool for monitoring crawling, indexing, and search performance., since the two engines track sitemaps independently.
- A crawlerA crawler — also called a spider or bot — is an automated program that fetches web pages, extracts their links, and queues new URLs to visit. Search engines use crawlers to discover and download content for their index. (Ahrefs Site Audit, Screaming Frog) — the way to generate the “actual canonical URLHow search engines pick one canonical URL among duplicates and consolidate signals onto it. list” you compare a sitemap against when checking coverage completeness — a sitemap validator confirms the file is well-formed, but only a real crawl of your site tells you if the file is complete.
Resources worth your time
My related writing
- Enterprise Technical SEO — where automated, current 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 managing a large site.
- When Should You Worry About Crawl Budget? — using the sitemap as a clean inventory of your indexable set.
- Website Migration: The Ultimate Guide — including keeping a sitemap of the old URLs around 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..
- JavaScript SEO Issues & Best Practices — when sitemaps matter most (JS-loaded content and framework sitemap modules).
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., renderingTurning HTML, CSS, and JavaScript into the final visual page and DOM., 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., and ranking, where sitemaps live on the discovery side. (Standing disclaimer: “This is my understanding of systems… not going to be 100% complete or accurate.”)
From others
- Google’s Sitemaps overview and build-a-sitemap docs — the primary source for everything on this page.
- The sitemaps.org protocol — the cross-engine standard XML sitemapsAn 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. are built on.
- Bing WebmasterMicrosoft'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. Blog: Keeping Content Discoverable with Sitemaps in AI-Powered Search — Bing’s current take on XML format preference,
lastmodimportance, and sitemaps + IndexNowIndexNow is an open push protocol that lets you instantly tell participating search engines (Bing, Yandex, Naver, Seznam, and Yep) which URLs you've added, changed, or removed via a simple HTTP request — and one submission is shared across all of them. Google does not use it. as complementary. - Bing Webmaster Blog: The Importance of Setting the lastmod Tag in Your Sitemap — Fabrice Canel explains how Bing uses
lastmodfor freshness assessment. - IndexNow documentation — the push protocol for instantly notifying Bing, Yandex, and others of changed URLs (Google does not participate).
- Google Search Console Sitemaps report help — full reference for every sitemap error and status 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..
- Search Engine Journal: Google Explains Why It May Not Use a Sitemap — covers John Mueller’s explanation of when Google ignores submitted sitemaps.
- Search Engine Roundtable: Google: XML Sitemaps Are A Minimal Baseline For Any Serious Website — Barry Schwartz covering Mueller’s “minimal baseline” stance.
Test yourself: Sitemaps
Five quick questions on what 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. do and what belongs in them. Pick an answer for each, then check.
Sitemap
A 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.
Related: XML sitemap, Sitemap index, URL discovery
Sitemap
A sitemap is, in Google’s words, “a file where you provide information about the pages, videos, and other files on your site, and the relationships between them.” In practice it’s an inventory you hand to search engines so they don’t have to rely entirely on links to find your content.
The most common type is the 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. — a machine-readable list of URLs, sometimes with a lastmod date. Large sites split their URLs across several sitemaps and tie them together with a sitemap 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. (a sitemap of sitemaps). There are also specialized image, video, and news sitemapsA news sitemap is a sitemap (a standalone file or a section of an existing sitemap) that uses Google's news: XML namespace to tell Google about your recent articles — only those published in the last two days. It speeds discovery of breaking content; it isn't a ranking factor and isn't required for Google News eligibility., an HTML sitemap meant for human visitors, and 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-text alternatives.
The key thing to keep straight: a sitemap helps with discovery, not with 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. or ranking. Submitting one doesn’t guarantee the URLs get crawled or indexed — it just makes them easier to find. Its real day-to-day value is as a coverage and diagnostic tool: comparing the URLs you submitted against the URLs Google actually indexed (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.) tells you which parts of your site aren’t getting picked up.
A single sitemap can hold up to 50,000 URLs or 50MB uncompressed, whichever comes first. Google ignores the <priority> and <changefreq> tags entirely; an accurate lastmod is the metadata that still matters. And leaving a URL out of a sitemap doesn’t 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 — exclusion is not the same as noindex.
Related: XML sitemap, Sitemap index, URL discovery
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.