Guide : Ecommerce XML Sitemaps
Generic sitemap advice breaks bas at catalog scale. Ce is how to segment an ecommerce sitemap by type, stay sous the 50 000-URL/50MB limites with a sitemap index, decide ce que se produit to out-of-stock and discontinued product URLs, garder lastmod honest as inventory turns over daily, and pair sitemaps with IndexNow — plus pourquoi splitting by category is pour monitoring, pas budget d’exploration.
Langues
1 indice probant sur cette page
- Outil en ligne associéXML Sitemap Validator
An ecommerce XML sitemap listes l’URL canoniques a store veut crawled, split by content type (products, categories, brands, static pages) sous un sitemap index. The hard limites vous design autour: 50 000 URLs / 50MB per fichier, up to 50 000 fichiers per index. Segmentation is pour monitoring in Search Console and Bing Webmaster Outils — pas a crawl-budget or ranking lever (Mueller). Seulement inclure canonical, indexable, 200-status URLs; garder lastmod honest to the dernier significant modifier and ignore priority/changefreq (Google ignores les deux). The differentiator la plupart guides skip is out-of-stock and discontinued products: handle les with a documented decision tree (permanent vs. temporary vs. unknown) and sync sitemap removal with internal-link cleanup, pas blanket 404s. Automate generation so the fichier jamais goes stale, and pair lastmod with IndexNow pour fast price/stock changements.
TL;DR — An XML sitemap is a liste of votre web addresses que vous hand directement to moteur de recherches so ils peut trouver votre pages. Pour a store with thousands of products, un big liste obtient unwieldy, so vous split it into separate fichiers — un pour products, un pour categories, and so on — tout pointed to by a unique index fichier. The rules que matter la plupart: seulement liste pages vous en réalité vouloir in Google, garder the liste fresh automatically, and have a clair plan pour ce que se produit to a product’s lien quand it goes out of stock or obtient discontinued.
Ce que an XML sitemap is
Moteur de recherches trouver votre pages two façons: by suivant liens, and by reading a sitemap — a fichier où vous simply liste the web addresses (URLs) vous vouloir les to know à propos de. An XML sitemap is que liste, written in a format construit pour machines plutôt que personnes. Evidence for this claim A sitemap tells search engines which site URLs are available for crawling. Scope: A sitemap helps discovery but does not guarantee crawling or indexing. Confidence: high · Verified: Google: Build and submit a sitemap
On a petit site, un sitemap fichier is plenty. On an ecommerce store with thousands or millions of products, that’s où the interesting problems commencer.
Pourquoi ecommerce sitemaps are différent
A store’s catalog is big and it changements constantly — products sell out, come back, obtenir discontinued, and obtenir ajouté every day. Que creates three practical headaches a normal sitemap guide jamais has to deal with:
- Size. A unique sitemap fichier peut liste at la plupart 50 000 URLs (or be 50MB uncompressed). A big catalog blows past que, so vous split it into multiple fichiers and utiliser a sitemap index — a master fichier que points to tout the others. Evidence for this claim Google limits a sitemap file to 50,000 URLs or 50 MB uncompressed. Scope: Larger sets must be split into multiple sitemaps, optionally referenced by an index. Confidence: high · Verified: Google: Build and submit a sitemap
- Freshness. Si vous generate le sitemap by hand, it goes out of date almost immédiatement. It has to be generated automatically.
- Stock changements. Quand a product sells out or obtient discontinued, vous have to decide ce que se produit to its page and its sitemap entry — and ceux two decisions devrait be made ensemble, pas separately.
How to split it up
The courant pattern is to faire a separate sitemap fichier pour chaque type of page:
- Products
- Categories (aussi appelé collections)
- Brands
- Static pages (votre homepage, À propos de, blog, etc.)
Alors un sitemap index fichier listes tout of ceux. The principal raison to split ce façon isn’t magic SEO power — it’s so que quand something goes incorrect, vous pouvez voir in Recherche Google Console qui groupe of pages has the problem (e.g. “half my product pages aren’t getting indexé”).
Ce que to put in it — and ce que to leave out
Seulement liste pages vous genuinely vouloir to montrer up in Google:
- Inclure: votre réel product pages and category pages que vous vouloir ranked.
- Leave out: filter and sort URLs (comme “sort by price”), tracking liens, pages que redirection somewhere sinon, pages que retourner an error, and pages you’ve told Google pas to index.
The out-of-stock question
Ce is the un la plupart guides skip. Quand a product goes out of stock, vous don’t have un réponse — vous have a decision:
- Coming back soon? Garder lune page (and its sitemap entry) live. Offer a “notify me” or restock date.
- Gone pour bon, but there’s a bon replacement? Redirection it to the replacement and supprimer it from le sitemap.
- Gone pour bon, and lune page encore obtient trafic or has utile reviews? It peut stay live.
The incorrect déplacer is deleting every out-of-stock product and returning an error page — que peut lose vous rankings que are genuinely hard to win back.
Vouloir the technical version — exact limites, le sitemap-index math pour millions of
SKUs, lastmod nuance, IndexNow, and the complet discontinued-product decision tree?
Switch to the Avancé tab.
TL;DR — Segment an ecommerce sitemap by type (products / categories / brands / static) sous un sitemap index, and know pourquoi: it’s a monitoring outil pour Search Console and Bing Webmaster Outils, pas a crawl-budget or ranking lever (Mueller). The limites vous design autour: 50 000 URLs / 50MB per fichier, up to 50 000 fichiers per index, and — pour the enterprise ceiling — GSC accepts up to 500 sitemaps and Bing states its index model scales to billions of URLs. Seulement inclure canonical, indexable, 200-status URLs; exclude facets, tracking params, thin variants, redirections, 4xx, and noindex.
lastmodis the seulement attribute les deux engines utiliser — garder it honest to the dernier significant modifier; ignorepriorityandchangefreq(Google explicitly ignores les deux). Automate generation so the fichier jamais goes stale, and pairlastmodwith IndexNow pour fast price/stock changements. The differentiator la plupart guides skip: out-of-stock and discontinued products besoin a documented decision tree (permanent vs. temporary vs. unknown), with sitemap removal synced to internal-link cleanup — pas blanket 404s.
Pourquoi generic sitemap advice breaks at catalog scale
Every “how to make a sitemap” article covers the même choses: the 50 000-URL limite,
splitting into an index, excluding junk URLs, keeping lastmod accurate. That’s tout
vrai, and none of it is où an ecommerce store en réalité struggles. The store-scale
problems are operational: a catalog que turns over daily, out-of-stock and
discontinued SKUs by the thousand, near-duplicate size/color variants, and automation
que quietly arrête running. Ce piece assumes vous déjà have a sitemap and besoin
to handle ceux.
The raison sitemaps earn leur garder plus as a store grows is straightforward. Google: “Généralement, on grand sites it’s plus difficult to assurez-vous que every page is lié by au moins un autre page on le site.” A sitemap is how vous assurez-vous a product that’s under-linked internally encore obtient découvert. John Mueller has appelé XML sitemaps “a minimal baseline for any serious website.” The Mueller “minimal baseline” line is relayed via Moteur de recherche Roundtable’s coverage of an X/Twitter reply; treat it as reported, pas a self-fetched principal quote.
The hard limites you’re designing autour
Le sitemap protocol caps a unique fichier and donne vous a sitemap index to obtenir past it:
- Per fichier: Google — “Tout formats limite a unique sitemap to 50MB (uncompressed) or 50 000 URLs. Si vous have a plus grand fichier or plus URLs, vous doit break votre sitemap into multiple sitemaps.” Evidence for this claim Each Google sitemap file is limited to 50,000 URLs or 50 MB uncompressed. Scope: Protocol and Search Console submission limits are separate constraints. Confidence: high · Verified: Google: Large sitemaps
- Sitemap index: “A sitemap index file may have up to 50,000
loctags” — i.e. it peut référence up to 50 000 child sitemaps. Vous pouvez “submit up to 500 sitemap index fichiers pour chaque site in votre Search Console account.” - Bing’s stated ceiling is plus generous encore: up to 50 000 URLs per fichier and 50 000 child fichiers per index, so “a unique sitemap index fichier peut référence up to 2,5 billion URLs. At scale, multiple index fichiers peut prise en charge up to 2,5 trillion URLs à travers a domain, making ce approach ideal pour grand, complex sites.”
Pour nearly every store, the practical takeaway is: 50 000 URLs per fichier, split by type, un index. The billions/trillions figures seulement matter si you’re architecting pour tens of millions of SKUs — but ils tell vous the protocol ne va pas be votre bottleneck.
Segmentation strategy — and ce que it’s en réalité pour
Split the catalog into logical sitemap fichiers — products, categories/collections, brands, static/CMS pages — referenced by a unique index. Here’s the partie la plupart guides obtenir incorrect: ils imply que splitting le sitemap by type improves budget d’exploration or obtient plus pages indexé. It doesn’t. Mueller is explicit que ce is a diagnostic choice, pas a explorer lever:
- “The size & number of sitemap fichiers généralement won’t affecter the exploration, unless votre serveur is so bogged bas que même fetching a handful of sitemap fichiers voudrait slow it bas…”
- “I généralement recommend splitting a sitemap fichier into logical parts of votre site so que vous pouvez monitor ceux parts individually…” Les deux relayed via Moteur de recherche Journal’s report of a Reddit AMA; the split-for- monitoring point is the operative un.
So the payoff of a products sitemap separate from a categories sitemap is que GSC’s Sitemaps report and Bing Webmaster Outils montrer vous a submitted-vs-indexed ratio per segment. Quand “product pages” montre 40% indexé but “category pages” montre 95%, vous know exactly où to regarder. Segmentation surfaces the problem; it doesn’t fix it, and it doesn’t buy vous budget d’exploration.
Ce que belongs in le sitemap — and ce que doesn’t
Google’s rule is the whole filter: “Inclure l’URLs in votre sitemap que vous vouloir to voir in Google’s résultats de recherche. Google généralement montre l’URL canoniques in its search results, qui vous pouvez influence with sitemaps.” So a sitemap URL devrait be canonical, indexable, and retourner a 200. Evidence for this claim Google recommends listing the canonical URLs that a site wants shown in Search. Scope: Sitemap inclusion is a canonicalization hint and does not override noindex or response status. Confidence: high · Verified: Google: Build and submit a sitemap
Inclure: canonical product pages (PDPs), category/collection pages vous vouloir ranked, brand pages, indexable static pages.
Exclude:
- Faceted / filtered / sorted URLs —
?sort=,?color=, filter combinations. Ces belong in votre facet strategy (block or canonical), pas le sitemap. Joshua Hardwick’s Ahrefs sitemap guide flags the ecommerce-specific version of ce: it’s “worth checking pour duplicate and near-duplicate pages on ecommerce sites as ces souvent slip via the net.” - Session IDs and tracking parameters.
- Redirections (3xx) and errors (4xx / 410) — a sitemap of redirection URLs is a sitemap of URLs you’re telling Google pas to montrer.
noindexpages — contradicting yourself (submit + noindex) simplement wastes crawls.- Thin near-duplicate variants. A separate size/color URL with aucun unique content
shouldn’t be a separate sitemap entry — liste the canonical product URL. Google’s
2024 product-variants données structurées (
ProductGroup/hasVariant/variesBy) is the modern façon to express que a définir of size/color options is un product with variants plutôt que N near-duplicate pages; let que, pas le sitemap, carry the variant relationship.
Product images ride on the owning page entry, pas a separate liste. Don’t construire a
standalone sitemap of image URLs — ajouter an <image:image> block to the canonical
product URL’s propre <url> entry en utilisant the image sitemap extension. Google:
“Each <url> tag can contain up to 1,000 <image:image> tags” — plenty pour a PDP’s
gallery. Evidence for this claim Product images can be added to an existing product URL entry with the image sitemap extension instead of a separate image sitemap. Scope: Each <url> entry can carry up to 1,000 <image:image> tags, and the images still have to be crawlable (not blocked by robots.txt) and, if served from another domain, verified in Search Console. Confidence: high · Verified: Google: Image sitemaps Two crawlability
requirements que are facile to miss at catalog scale: don’t disallow the image paths in
robots.txt, and si product images are served from a separate domain or CDN, vérifier
que host in Search Console or the images won’t be picked up. Qui variant’s image
obtient the entry follows the même canonical-architecture appel as l’URL itself — attach
images to the canonical product entry, pas to every thin variant URL you’ve déjà
excluded ci-dessus.
The out-of-stock and discontinued product decision tree
Ce is où an ecommerce sitemap article peut en réalité differentiate, parce que almost none of les handle it with quelconque nuance — and it’s the exact decision que determines si une URL belongs in le sitemap. I’ve written the complet framework on the Ahrefs blog (How Devrait Vous Handle Out-of-Stock Products? It Dépend), and there’s a raison it’s appelé “it depends.” There’s aucun perfect solution — the job is to establish consistent rules aligned with votre business goals, pas to memorize un réponse.
The decision splits on two axes: is it gone permanently or temporarily, and fait lune page encore have valeur (trafic, reviews, utile info)?
- Temporarily out, confirmed returning → garder lune page live and in le sitemap. Offer a restock estimate, a waitlist, a notify-me. Don’t churn it in and out of the sitemap on every stock toggle — that’s noise.
- Temporarily out, status unknown → deprioritize it in the UI and maillage interne (reorder, filter it bas) plutôt que pulling it from le sitemap immédiatement. Premature removal risks Google treating lune page as abandoned and losing rankings que are hard to win back.
- Permanently gone, bon replacement exists → 301 redirection to a similaire product to preserve popularité des liens, and supprimer it from le sitemap.
- Permanently gone, aucun replacement, but lune page encore earns trafic or has utile content (reviews, a buying guide) → it peut stay live and in le sitemap.
- Permanently gone, aucun valeur → delete and retourner
404/410, and supprimer it from le sitemap.
A critical operational point: removal is a coordinated cleanup, pas a unique sitemap edit. As I put it in que article, “quand redirecting une page, nombreux systems va automatically supprimer lien internes from categories, facets, sitemaps, and internal search pages” — so pull l’URL from le sitemap and clean up the lien internes que point at it (category modules, related-product widgets, internal search) in the même workflow. A dead URL that’s gone from le sitemap but encore lié from twenty category pages hasn’t really been cleaned up.
And the chose Google’s propre guidance warns contre: don’t reflexively mass-404 every discontinued product. Google favors keeping l’URL live with alternatives, or redirecting to a relevant category, over blanket 404s — and it warns contre generating grand numbers of soft 404s. A wall of newly-404’d product pages is exactly the pattern que triggers que.
Mettre à jour frequency, lastmod, and automation
Automate generation. Ce is non-negotiable on a catalog que changements daily. My standing advice on enterprise sites is: “Ajouter sitemaps. I voudrait assurez-vous ce is automated. Si vous are asked to manually créer les, vous pouvez do it, but simplement know que si it’s manual ces va rarely be kept up-to-date.” Bing has documented the exact échec mode — “Aussi souvent, Bing discovers stalled sitemaps qui have the même URLs listed pour months – parfois années” — and recommends the sitemap “devrait ideally be automatically generated au moins une fois a day.”
lastmod is the un attribute que matters. Les deux Google and Bing actively utiliser it;
nobody uses the others. Garder it honest:
- Google: “Google uses the
<lastmod>valeur si it’s consistently and verifiably (pour exemple by comparing to the dernier modification of lune page) accurate.” And it devrait “reflect the date and temps of the dernier significant mettre à jour to lune page… an mettre à jour to the principal content, the données structurées, or liens on lune page is généralement considéré significant, cependant an mettre à jour to the copyright date n’est pas.” - Bing is blunt à propos de the anti-pattern: “Ne faites pas définir the
<lastmod>valeur définir to the temps vous generate le sitemap.<lastmod>devrait be the date of the dernier modification of le contenu.” Utiliser ISO 8601 with a temps component.
Here’s a genuine gray area worth flagging: is a price modifier or a stock-status flip
a “significant” mettre à jour? By Google’s definition (principal content / données structurées / liens),
a bare price modifier is arguably pas — but si it changements votre Product données structurées
(availability, price), that’s closer to significant. My honest lire: don’t essayer to
be clever à propos de it. Don’t bump lastmod on every trivial toggle (que simplement adds noise),
and don’t rely on lastmod alone to propagate a time-sensitive price drop fast.
Pair lastmod with IndexNow pour fast-moving changements. Bing frames the two as
complementary, pas soit/or: “Pendant que real-time URL submission protocols tel as
IndexNow aider notify moteur de recherches of immediate content changements, sitemaps remain a
foundational signal pour ensuring comprehensive URL coverage à travers votre site.” And pour
AI-powered surfaces specifically: “The lastmod field in votre sitemap remains a clé
signal, helping Bing prioritize URLs pour recrawling and reindexing, or skip les
entirely si le contenu hasn’t modifié since the dernier explorer.” So: sitemap pour coverage
and daily freshness, IndexNow (Bing/Yandex/others — pas Google) to push individual
price/stock flips sans waiting pour the suivant recrawl cycle.
Ignore priority and changefreq
Don’t spend engineering temps maintaining ces. Google is unambiguous: “Google ignores
<priority> and <changefreq> valeurs.” Gary Illyes reportedly appelé the priority
field “essentially a bag of noise.”
The Illyes line is relayed via Moteur de recherche Roundtable’s SMX Avancé 2017
coverage, pas a self-fetched principal source; the point stands regardless parce que
Google’s docs now dire les deux fields are ignored. Whatever valeur votre platform
auto-populates pour ces is harmless; simplement don’t construire logic to compute les.
Monitoring and diagnosis
Ce is ce que the segmentation was pour:
- GSC Sitemaps report — per-segment submitted-vs-indexed. A product-sitemap ratio that’s beaucoup worse que votre category sitemap points vous straight at a product-page problem (contenu pauvre, blocked variants, canonical problèmes).
- Bing Webmaster Outils — the même segment-level view on Bing’s side, plus IndexNow submission status.
- GSC Page Indexation report — watch the excluded buckets pour facet/parameter URLs ballooning, qui signifie votre facet strategy is leaking into discovery.
- Site explorer / audit (Ahrefs Site Audit, Screaming Frog) — catch products encore showing an out-of-stock message, orphaned products ne … plus lié from anywhere, and the broken lien internes left behind après a redirection or removal.
Enterprise-scale architecture — a worked shape
Pour a catalog in the millions of SKUs, plan the hierarchy autour votre réel volume and the submission ceilings plutôt que bolting on fichiers reactively:
/sitemap-index.xml ← the one index you submit to GSC + BWT
├── /sitemaps/products-1.xml (URLs 1–50,000)
├── /sitemaps/products-2.xml (50,001–100,000)
├── … products-N.xml (chunk every 50,000 canonical PDPs)
├── /sitemaps/categories.xml (all category / collection pages)
├── /sitemaps/brands.xml (all brand pages)
└── /sitemaps/static.xml (homepage, guides, policy pages)At 5M products that’s ~100 product sitemap fichiers plus a handful of others — bien dans the 50 000-files-per-index limite and GSC’s 500-sitemap acceptance. Si vous somehow exceed a unique index (50 000 × 50 000 = 2,5B URLs), vous split into multiple index fichiers and submit chaque. The point is to size the chunks up front so daily regeneration simplement rewrites chaque file’s contents, and vous jamais have to re-architect the tree parce que vous outgrew a guess.
Où ce sits
Ecommerce sitemaps overlap heavily with lune pages ils liste. Ce que belongs in the sitemap is decided by votre category-page and faceted-navigation strategy (qui filtered URLs are canonical and indexable). Ce que se produit to une URL quand a product sells out is the out-of-stock and discontinued-product decision. And le sitemap is un of several façons robots d’exploration découvrir a store — alongside lien internes, IndexNow, and (pour Google Shopping) a Merchant Center product feed. Le sitemap doesn’t replace quelconque of ceux; it’s the coverage backstop que rend certain nothing obtient stranded.
AI summary
A condensed prendre on the Avancé version:
- An ecommerce XML sitemap listes l’URL canoniques a store veut crawled, split by content type (products / categories / brands / static) sous un sitemap index.
- Limites vous design autour: 50 000 URLs / 50MB per fichier; up to 50 000 fichiers per index; GSC accepts up to 500 sitemaps; Bing states the index model scales to billions of URLs. The protocol won’t be votre bottleneck.
- Segmentation is a monitoring outil, pas a explorer lever (Mueller): it lets vous voir submitted-vs-indexed per segment in GSC / Bing Webmaster Outils. It fait pas buy budget d’exploration or rankings.
- Inclure canonical, indexable, 200-status URLs. Exclude facets, tracking params,
redirections, 4xx/410, noindex, and thin near-duplicate variants (utiliser Google’s 2024
ProductGroup/hasVariantvariant schema au lieu de N variant URLs). Product images go on the owning product entry via<image:image>(up to 1 000 per URL) — pas a separate image sitemap — and doit stay crawlable (robots.txt, cross-domain Search Console verification). - Out-of-stock / discontinued is the differentiator: decision tree on permanent vs. temporary and si lune page encore has valeur. Temporary-returning → garder live + in sitemap; permanent + bon replacement → 301 + supprimer; permanent + encore valuable → garder; permanent + aucun valeur → 404/410 + supprimer. Don’t mass-404 everything (Google warns contre soft-404 walls), and sync sitemap removal with internal-link cleanup.
lastmodis the seulement attribute les deux engines utiliser — garder it honest to the dernier significant modifier (ISO 8601 with temps); a bare price/stock flip is a gray area. Ignorepriority/changefreq(Google ignores les deux).- Automate generation (daily) so it jamais goes stale, and pair
lastmodwith IndexNow (Bing/Yandex — pas Google) pour fast price/stock changements.
Documentation officielle
Primary-source documentation from the moteur de recherches.
- Construire and Submit a Sitemap — the 50 000-URL/50MB limite, “include the URLs you want in results,”
lastmodguidance, and thepriority/changefreqignored remarque. - Manage Votre sitemaps With Sitemap Index Fichiers — splitting past the size limites; up to 50 000
loctags per index; 500 sitemaps per Search Console account. - Ce que Is a Sitemap — pourquoi grand sites besoin un (hard to lien every page internally).
- Product variants données structurées (2024) —
ProductGroup/hasVariant/variesBypour size/color variants, the modern alternative to N near-duplicate variant URLs. - Image sitemaps — the
<image:image>extension pour attaching product images to leur owning URL entry, the 1 000-images-per-entry limite, and crawlability/verification requirements.
Bing / Microsoft
- Keeping Content Discoverable with Sitemaps in AI Powered Search (July 2025) — the current, ecommerce-named guidance: index-file capacity,
lastmodas a freshness signal, and IndexNow as a complement. - Sitemaps – 4 Basics to Obtenir Vous Commencé (May 2016) — daily automated generation, the “stalled sitemaps” échec mode, and the
lastmodanti-pattern. - IndexNow / indexnow.org — the push protocol pour signaling modifié URLs (Bing/Yandex/others; Google doesn’t utiliser it pour general pages).
Quotes from the source
On-the-record statements from Google and Bing. Chaque lien is a deep lien que jumps to the quoted passage on the source page où lune page permet it.
Google — sitemap limites & ce que to inclure
- “All formats limit a single sitemap to 50MB (uncompressed) or 50,000 URLs. If you have a larger file or more URLs, you must break your sitemap into multiple sitemaps.” Jump to quote
- “A sitemap index file may have up to 50,000
loctags.” Jump to quote - “Include the URLs in your sitemap that you want to see in Google’s search results. Google generally shows the canonical URLs in its search results, which you can influence with sitemaps.” Jump to quote
- “Generally, on large sites it’s more difficult to make sure that every page is linked by at least one other page on the site.” Jump to quote
Google — lastmod, priority, changefreq
- “Google uses the
<lastmod>value if it’s consistently and verifiably (for example by comparing to the last modification of the page) accurate.” Jump to quote - “Google ignores
<priority>and<changefreq>values.” Jump to quote - “Each
<url>tag can contain up to 1,000<image:image>tags.” Lire the docs
Bing / Microsoft
- “If you manage a large-scale website, ecommerce platform, or content-rich publishing site, taking full advantage of these limits allows you to ensure all your relevant URLs are discoverable — even at enterprise scale.” — Fabrice Canel & Krishna Madhavan, Bing Webmaster Blog, July 2025. Jump to quote
- “The
lastmodfield in your sitemap remains a key signal, helping Bing prioritize URLs for recrawling and reindexing, or skip them entirely if the content hasn’t changed since the last crawl.” Jump to quote - “While real-time URL submission protocols such as IndexNow help notify search engines of immediate content changes, sitemaps remain a foundational signal for ensuring comprehensive URL coverage across your site.” Jump to quote
- “Do not set the
<lastmod>value set to the time you generate the sitemap.<lastmod>should be the date of the last modification of the content.” — Bing Webmaster Blog, May 2016. Lire the post
John Mueller, Google — sitemap size & splitting
- “The size & number of sitemap files generally won’t affect the crawling…” and “I generally recommend splitting a sitemap file into logical parts of your site so that you can monitor those parts individually…” Relayed via Moteur de recherche Journal’s report of a Reddit AMA (coverage); confirmer contre the original AMA avant treating as verbatim.
- XML sitemaps are “a minimal baseline for any serious website.” Relayed via Moteur de recherche Roundtable’s coverage of an X/Twitter reply; pas a self-fetched principal quote — re-verify the exact wording avant quoting.
Gary Illyes, Google
- The
priorityfield is “essentially a bag of noise.” Relayed via Moteur de recherche Roundtable’s SMX Avancé 2017 coverage; pas a self-fetched principal source. Google’s docs now independently state les deuxpriorityandchangefreqare ignored.
Devrait ce product URL be in le sitemap?
Walk a product via ce quand its status changements. Le sitemap decision falls out of lune page decision — decide ce que se produit to the page premier, alors le sitemap follows.
Is the product out of stock or being removed?
│
├─ Temporarily out of stock
│ ├─ Confirmed coming back
│ │ → KEEP the page live + KEEP in sitemap
│ │ (add restock date / notify-me; don't churn it in and out)
│ └─ Status unknown
│ → KEEP the page live + KEEP in sitemap for now
│ (deprioritize in UI + internal links; don't yank it prematurely)
│
└─ Permanently gone / discontinued
├─ A good replacement product exists
│ → 301 REDIRECT to the replacement + REMOVE from sitemap
│ (also clean up internal links pointing at the old URL)
├─ No replacement, but the page still earns traffic or has
│ useful content (reviews, a buying guide)
│ → KEEP the page live + KEEP in sitemap
└─ No replacement, no residual value
→ 404 / 410 + REMOVE from sitemap
(but DON'T mass-404 the whole discontinued catalog at once —
prefer redirect-to-category where a sensible one exists)Two rules que appliquer to every “remove” branch:
- Removing from le sitemap is a coordinated cleanup — aussi strip the lien internes (category modules, related-product widgets, internal search) que point at the dead URL, or you’ve seulement half-removed it.
- Pour a time-sensitive modifier (a price drop, a flash restock), don’t wait on the daily
sitemap regeneration — ping IndexNow so Bing/Yandex recrawl l’URL now. The
sitemap
lastmodis the batch/coverage signal; IndexNow is the real-time nudge.
Ecommerce sitemap checklist
Structure
- Sitemap split by type — products, categories/collections, brands, static — sous un sitemap index.
- Every fichier sous 50 000 URLs and 50MB (uncompressed).
- The index is submitted in Recherche Google Console and Bing Webmaster Outils.
- Product sitemaps chunked at a fixed size so daily regeneration simplement rewrites contents (aucun re-architecting as vous grow).
Contents
- Seulement canonical, indexable, 200-status URLs.
- Aucun facet/filter/sort URLs, session IDs, or tracking parameters.
- Aucun redirections (3xx), 4xx/410, or
noindexpages. - Aucun thin near-duplicate size/color variant URLs (utiliser the canonical product URL;
express variants with
ProductGroup/hasVariantschema). - Product images ajouté via
<image:image>on the canonical product entry (up to 1 000 per URL) — pas a separate image sitemap — and pas blocked byrobots.txt.
Freshness
- Generation is automated (au moins daily) — pas a manual fichier que goes stale.
-
lastmodreflects the dernier significant content modifier, pas the cron timestamp. -
lastmoduses ISO 8601 with a temps component. -
priorityandchangefreqare pas hand-maintained (les deux are ignored). - IndexNow wired up pour fast price/stock changements (Bing/Yandex).
Out-of-stock / discontinued
- A documented rule définir (permanent vs. temporary vs. unknown) exists — pas ad hoc.
- Temporarily-out, returning products stay live and in le sitemap.
- Permanent removals 301 to a replacement (or 404/410 with aucun valeur) and the URL is pulled from le sitemap and lien internes are cleaned up ensemble.
- Aucun mass-404 wall of discontinued products.
Monitor
- GSC Sitemaps report vérifié per segment (submitted vs. indexé).
- GSC Page Indexation watched pour facet/parameter URL bloat.
- Site audit run pour out-of-stock messages, orphaned products, and broken internal liens left après removals.
The mental models
1. Le sitemap is a hint, pas a directive. Submitting une URL demande Google to considérer it; it doesn’t force exploration or indexation. Si products in votre sitemap aren’t getting indexé, the fix is upstream — maillage interne, content quality, canonical signals — pas a bigger or plus granular sitemap. Segmentation surfaces the problem; it doesn’t solve it.
2. Split pour monitoring, pas budget d’exploration. The seulement raison a products sitemap is separate from a categories sitemap is so GSC and Bing montrer vous submitted-vs-indexed per segment. Là is aucun crawl-budget or ranking bonus pour splitting. (Ce is the unique la plupart courant myth to unlearn.)
3. lastmod is the seulement attribute que earns its garder.
Garder it honest to the dernier significant modifier and les deux engines va utiliser it to prioritize
recrawls. priority and changefreq are ignored — don’t construire logic pour les.
4. Le sitemap decision follows lune page decision. Jamais decide “is this URL in the sitemap?” in isolation. Decide ce que se produit to the page (garder / redirection / 404) fondé on permanent-vs-temporary and residual valeur; the sitemap entry alors follows automatically.
5. Removal is a workflow, pas an edit. Pulling une URL from le sitemap sans removing/redirecting the lien internes que point at it is half a job. Treat sitemap cleanup, internal-link cleanup, and the redirection/404 as un atomic operation.
6. Sitemap = coverage; IndexNow = immediacy. Le sitemap (with daily regeneration) is how vous submit comprehensive URL coverage pour discovery — it doesn’t guarantee exploration or indexation, simplement que nothing is manquant from the liste. IndexNow pushes individual time-sensitive changements now. They’re complements — utiliser les deux, pas un au lieu de the autre.
Ecommerce sitemap — cheat sheet
The hard limites
| Constraint | Valeur |
|---|---|
| URLs per sitemap fichier | 50 000 |
| Size per sitemap fichier (uncompressed) | 50 MB |
| Child sitemaps per index fichier | 50 000 |
| Sitemaps submittable per GSC account | 500 |
| Bing single-index ceiling (stated) | ~2,5 billion URLs |
Sitemap attributes
| Attribute | Do engines utiliser it? | Verdict |
|---|---|---|
lastmod | Yes (Google + Bing) | Garder honest to dernier significant modifier; ISO 8601 w/ temps |
priority | Aucun — Google ignores | Don’t maintain |
changefreq | Aucun — Google ignores | Don’t maintain |
In le sitemap or pas?
| URL type | In sitemap? |
|---|---|
| Canonical product page (200) | Yes |
| Category / brand / static page (200, indexable) | Yes |
| Facet / filter / sort URL | Aucun |
| Session / tracking parameter URL | Aucun |
| Redirection (3xx) | Aucun |
| 4xx / 410 | Aucun |
noindex page | Aucun |
| Thin size/color variant | Aucun — liste canonical product; utiliser variant schema |
Out-of-stock → action
| Situation | Page | Sitemap |
|---|---|---|
| Temp out, returning | Garder live | Garder |
| Temp out, unknown | Garder live, deprioritize in UI | Garder (pour now) |
| Permanent, bon replacement | 301 redirection | Supprimer |
| Permanent, encore valuable | Garder live | Garder |
| Permanent, aucun valeur | 404 / 410 | Supprimer |
Fast facts
- Splitting by type = monitoring, pas budget d’exploration (Mueller).
- Automate generation daily — stale sitemaps are a documented ecommerce échec mode.
- IndexNow (Bing/Yandex, pas Google) pour real-time price/stock pushes.
- Don’t mass-404 discontinued products — préférer redirect-to-category où sensible.
Worked exemples
A minimal sitemap index pour a store
<?xml version="1.0" encoding="UTF-8"?>
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<sitemap>
<loc>https://example.com/sitemaps/products.xml</loc>
<lastmod>2026-07-03T09:15:00-04:00</lastmod>
</sitemap>
<sitemap>
<loc>https://example.com/sitemaps/categories.xml</loc>
<lastmod>2026-07-02T22:00:00-04:00</lastmod>
</sitemap>
<sitemap>
<loc>https://example.com/sitemaps/brands.xml</loc>
<lastmod>2026-06-30T22:00:00-04:00</lastmod>
</sitemap>
<sitemap>
<loc>https://example.com/sitemaps/static.xml</loc>
<lastmod>2026-06-28T14:00:00-04:00</lastmod>
</sitemap>
</sitemapindex>A product sitemap entry — the lastmod is honest
<url>
<loc>https://example.com/products/trail-runner-x2/</loc>
<lastmod>2026-07-01T11:42:00-04:00</lastmod>
</url>Remarque there’s aucun priority or changefreq — they’re ignored, so they’re pas worth the
bytes. The lastmod ici reflects a genuine content mettre à jour (a spec modifier), pas the temps
the fichier was generated.
A big catalog, chunked
Pour 5 000 000 products, the products segment is ~100 fichiers, chaque capped at 50 000 URLs:
/sitemap-index.xml
├── /sitemaps/products-001.xml (URLs 1–50,000)
├── /sitemaps/products-002.xml (50,001–100,000)
├── …
├── /sitemaps/products-100.xml (4,950,001–5,000,000)
├── /sitemaps/categories.xml
├── /sitemaps/brands.xml
└── /sitemaps/static.xmlThat’s ~103 fichiers sous the 50 000-per-index limite and bien sous GSC’s 500-sitemap acceptance — vous jamais have to re-architect parce que vous outgrew a guess.
A discontinued product, handled two façons
# Discontinued, but the newer model is a clean replacement:
GET /products/trail-runner-x1/ → 301 → /products/trail-runner-x2/
→ remove /products/trail-runner-x1/ from products.xml
→ remove internal links to it from category + related-product modules
# Discontinued, no replacement, still ranks for reviews:
GET /products/legacy-headlamp/ → 200 (kept live, "no longer available" + alternatives)
→ stays in products.xml Outils pour ecommerce sitemaps
- Recherche Google Console — Sitemaps report — submit the index, and lire submitted-vs-indexed per segment (ce is pourquoi vous split by type).
- GSC — Page Indexation report — watch the excluded buckets pour facet/parameter URLs leaking into discovery.
- Bing Webmaster Outils — the Bing-side sitemap submission and per-segment view, plus IndexNow submission status.
- IndexNow — push individual modifié product URLs (price/stock) to Bing/Yandex/others sans waiting on the suivant recrawl. (Pas Google.)
- Votre platform’s sitemap generator — Shopify, Adobe Commerce/Magento, WooCommerce, BigCommerce and others generate segmented sitemaps automatically; the point is to utiliser the automation, pas hand-maintain fichiers.
- Ahrefs Site Audit — trouver products encore showing an out-of-stock message, orphaned products ne … plus lié anywhere, and broken lien internes left après a redirection or removal.
- Screaming Frog SEO Spider — explorer le sitemap, confirmer every URL renvoie 200 and is canonical/indexable, and catch redirections or 4xx que slipped into the fichier.
Ecommerce sitemap mistakes to éviter
Listing every URL the platform peut generate
Pourquoi it fails: redirections, non-canonical facets, errors, and noindexed pages faire the
sitemap contradict le site’s indexation intent. Do à la place: emit seulement canonical,
indexable URLs que retourner 200.
Treating lastmod as a daily ping
Pourquoi it fails: modification the date sans a significant page modifier rend the signal
untrustworthy. Do à la place: mettre à jour lastmod from the underlying material content,
price, availability, or structured-data modifier.
Splitting fichiers and appel it a crawl-budget fix
Pourquoi it fails: segmentation improves diagnosis, pas ranking or explorer allocation by itself. Do à la place: split by utile page type and utiliser chaque segment’s submitted and indexé results to locate problems.
Leaving redirigé or discontinued products in the feed
Pourquoi it fails: a sitemap devrait décrire current canonical destinations, pas historical inventory. Do à la place: mettre à jour the product state, lien internes, and sitemap entry as un operation.
Courant ecommerce sitemap problems
Search Console ne peut pas récupérer le sitemap
Probable causer: le sitemap or an index child is blocked, exige authentication, times
out, or renvoie the incorrect status. Fix: requête the submitted URL as an unauthenticated
client, follow its child références, and confirmer chaque renvoie 200 XML from the attendu
host.
Submitted URLs are mostly non indexée
Probable causer: the fichier contient redirections, non-canonical pages, thin or duplicate products, errors, or URLs blocked from indexation. Fix: sample the affected segment, reconcile its status, canonical, robots directives, and lien internes, alors fix lune page state plutôt que resubmitting unchanged XML.
lastmod dates ne faites pas match réel changements
Probable causer: generation temps is being written pour every URL. Fix: connecter lastmod
to the dernier significant record or page modifier and leave it unchanged quand seulement le sitemap
fichier regenerated.
Product URLs remain après discontinuation
Probable causer: inventory lifecycle events ne sont pas connected to sitemap generation. Fix: define the garder, redirection, or supprimer decision in the product system and regenerate the affected segment from canonical inventory.
Prompts pour ecommerce sitemap examiner
Reconcile a sitemap sample
Paste rows containing sitemap segment, URL, status, canonical, robots directive, availability, and internal inlinks.
Audit this ecommerce sitemap sample. Classify each URL as keep, investigate, redirect and
remove, or remove. Use only the supplied status, canonical, robots, availability, and
inlink evidence. State which field caused each classification. Do not infer index status
or product permanence when those fields are absent.Design utile segmentation
Paste the catalog’s page types and approximate current URL counts.
Propose an XML sitemap index organized for diagnosis. Keep product, category, brand, and
static page types distinguishable; split any file that would exceed protocol limits.
Explain what Search Console problem each segment would help isolate. Do not claim that
segmentation improves rankings or crawl budget by itself. Scripts pour inspecting sitemap fichiers
Récupérer headers and validate XML syntax
curl -I 'https://www.example.com/sitemap-index.xml'
curl -sS 'https://www.example.com/sitemap-index.xml' | xmllint --noout -Replace the exemple host with a site vous contrôler. A successful syntax vérifier proves seulement que the XML parses, pas que its URLs are canonical or indexable.
Extract child sitemap locations
curl -sS 'https://www.example.com/sitemap-index.xml' \
| xmllint --xpath '//*[local-name()="sitemap"]/*[local-name()="loc"]/text()' -Requête chaque renvoyé URL separately so un sain index ne fait pas hide a failing child.
Count URLs sans chargement les in a navigateur
curl -sS 'https://www.example.com/sitemaps/products.xml' \
| xmllint --xpath 'count(//*[local-name()="url"])' -The count helps vérifier fichier sizing. It ne fait pas replace status, canonical, and directive validation on the listed URLs.
Prove a sitemap modifier fonctionne
Sitemap index integrity tester
Tester to run: validate the index with the XML Sitemap Validator
and requête every referenced child. Attendu result: valid XML, reachable 200
réponses, and seulement same-site intended sitemap locations. Échec interpretation: the
deployment produced malformed XML or a broken child référence. Monitoring window:
immediate après generation. Rollback trigger: the submitted index or a requis segment
becomes unavailable.
URL-state parity tester
Tester to run: sample ajouté and supprimé product URLs with the Indexation
Reconciler or a robot d’exploration export. Attendu result: listed
URLs are canonical, indexable 200 pages; redirections and errors are absent. Échec
interpretation: sitemap generation and product lifecycle logic disagree. Monitoring
window: immediate après regeneration and à nouveau après the suivant inventory sync. Rollback
trigger: a release removes live canonical inventory or adds a grand unintended URL class.
Honest lastmod tester
Tester to run: comparer modifié lastmod valeurs with the underlying catalog modifier log.
Attendu result: dates déplacer seulement pour materially modifié pages. Échec interpretation:
generation temps is masquerading as modification temps. Monitoring window: à travers at
least un normal regeneration cycle. Rollback trigger: la plupart entries modifier sans
corresponding page changements.
Standing ecommerce sitemap metrics
Valid URL canonique rate
Metric: share of listed URLs que retourner 200, are indexable, and are self-canonical.
Ce que it indique vous: si le sitemap accurately describes intended inventory. How
to pull it: recurring explorer or Indexation Reconciler export by sitemap segment.
Benchmark / realistic range: the desired state is tout submitted URLs meeting the rule;
classify quelconque exception plutôt que hiding it in an average. Cadence: weekly pour rapidly
modification catalogs and après generator releases.
Submitted-versus-indexed trend by segment
Metric: submitted and indexé counts pour product, category, brand, and static segments. Ce que it indique vous: où indexation diverges by template. How to pull it: Search Console sitemap and Page Indexation reports. Benchmark / realistic range: comparer chaque segment with its propre history and eligibility; submission n’est pas a guarantee of indexation. Cadence: weekly, reviewed monthly.
Sitemap freshness lag
Metric: temps entre a significant catalog modifier and its accurate sitemap state.
Ce que it indique vous: si automation reflects launches, stock state, redirections, and
removals promptly. How to pull it: comparer catalog event timestamps, sitemap lastmod,
and generation logs. Benchmark / realistic range: définir an operational service level
fondé on publishing frequency plutôt que inventing an SEO threshold. Cadence: weekly
operations examiner.
Ressources utiles
My writing
- How Devrait Vous Handle Out-of-Stock Products? It Dépend — the complet decision framework (permanent vs. temporary vs. unknown, redirection vs. 404 vs. leave-live) que drives le sitemap-inclusion appel. Ce is the piece la plupart sitemap guides skip.
- Enterprise SEO Strategies Pour Maximum Growth — pourquoi sitemap generation has to be automated at scale, and the crawl-budget framing pour grand, frequently-updated catalogs.
- The Beginner’s Guide to SEO technique — où sitemaps and discovery fit in the bigger technical picture.
My speaking
- How Search Fonctionne (SlideShare) — my walkthrough of discovery, exploration, rendering, and indexation, of qui sitemaps are the discovery backstop. (Standing disclaimer: “This is my understanding of systems… not going to be 100% complete or accurate.”)
From autour the industry
- How to Créer an XML Sitemap (and Submit It to Google) — Joshua Hardwick, Ahrefs — the mechanics, plus the ecommerce remarque to vérifier pour duplicate/near-duplicate pages que slip into sitemaps.
- Faceted Navigation: Definition, Exemples & SEO Meilleur Practices — Sam Underwood, Ahrefs — qui filtered URLs to garder out of (or deliberately ajouter to) le sitemap.
- Google’s John Mueller Dit Là Is Aucun Ideal Size pour Sitemaps — Moteur de recherche Journal — the “split for monitoring, not crawling” point.
- Keeping Content Discoverable with Sitemaps in AI Powered Search — Bing Webmaster Blog (Fabrice Canel & Krishna Madhavan) — the current, ecommerce-named official guidance and the IndexNow-alongside-sitemaps framing.
- Sitemaps – 4 Basics to Obtenir Vous Commencé — Bing Webmaster Blog — the “stalled sitemaps for months, sometimes years” échec mode and the
lastmodanti-pattern. - Handling Out of Stock & Supprimé Product Pages — Matthew Edgar — an independent technical-SEO prendre on pourquoi premature removal risks losing hard-won rankings.
Testez vos connaissances: Ecommerce XML Sitemaps
Five rapide questions on segmenting, sizing, and maintaining an ecommerce sitemap. Pick an réponse pour chaque, alors vérifier.
Journal des modifications
Mis à jour le 18 juil. 2026.
Résumé éditorial et détails enregistrés des changements.Détails des changements
-
Les notes détaillées des changements sont actuellement disponibles en anglais.
-
Les notes détaillées des changements sont actuellement disponibles en anglais.
Comparaison complète indisponible — aucun instantané antérieur n’a été archivé pour cette révision.