Ecommerce sitemap XML

Generic sitemap advice breaks down di catalog scale. ini adalah cara segment sebuah ecommerce sitemap oleh jenis, stay di bawah 50 000-URL/50MB limits dengan sebuah sitemap indeks, decide apa happens untuk out-dari-stock dan discontinued product URLs, pertahankan lastmod honest sebagai inventory turns di atas daily, dan pair sitemaps dengan IndexNow — plus mengapa splitting oleh category adalah untuk monitoring, tidak anggaran crawling.

Pertama kali diterbitkan: 3 Jul 2026 · Terakhir diperbarui: 22 Agu 2026 · Advanced
Bahasa
1 sinyal bukti di halaman ini

sebuah ecommerce sitemap XML lists canonical URLs sebuah store ingin di-crawl, split oleh konten jenis (products, categories, brands, static halaman) di bawah satu sitemap indeks. hard limits Anda design sekitar: 50 000 URLs / 50MB per file, up untuk 50 000 files per indeks. Segmentation adalah untuk monitoring di Search Console dan Bing Webmaster alat — tidak sebuah crawl-budget atau peringkat lever (Mueller). hanya sertakan canonical, dapat diindeks, 200-status URLs; pertahankan lastmod honest untuk terakhir significant perubahan dan ignore priority/changefreq (Google ignores keduanya). differentiator sebagian besar guides skip adalah out-dari-stock dan discontinued products: tangani them dengan sebuah terdokumentasi decision tree (permanent vs. temporary vs. unknown) dan sync sitemap removal dengan internal-tautan cleanup, tidak blanket 404s. Automate generation so file tidak pernah goes stale, dan pair lastmod dengan IndexNow untuk fast price/stock perubahan.

TL;DR — Segment sebuah ecommerce sitemap oleh jenis (products / categories / brands / static) di bawah satu sitemap indeks, dan know mengapa: ini adalah sebuah monitoring alat untuk Search Console dan Bing Webmaster alat, tidak sebuah crawl-budget atau peringkat lever (Mueller). limits Anda design sekitar: 50 000 URLs / 50MB per file, up untuk 50 000 files per indeks, dan — untuk enterprise ceiling — GSC accepts up untuk 500 sitemaps dan Bing status -nya indeks model scales untuk billions dari URLs. hanya sertakan canonical, dapat diindeks, 200-status URLs; exclude facets, tracking params, thin variants, redirects, 4xx, dan noindex. lastmod adalah hanya attribute keduanya mesin gunakan — pertahankan ini honest untuk terakhir significant perubahan; ignore priority dan changefreq (Google explicitly ignores keduanya). Automate generation so file tidak pernah goes stale, dan pair lastmod dengan IndexNow untuk fast price/stock perubahan. differentiator sebagian besar guides skip: out-dari-stock dan discontinued products perlu sebuah terdokumentasi decision tree (permanent vs. temporary vs. unknown), dengan sitemap removal synced untuk internal-tautan cleanup — tidak blanket 404s.

Mengapa generic sitemap advice breaks di catalog scale

setiap “bagaimana untuk membuat a sitemap” (terjemahan) “cara membuat sebuah sitemap” artikel covers yang sama hal: 50 000-URL limit, splitting ke sebuah indeks, excluding junk URLs, mempertahankan lastmod accurate. itu’s semua benar, dan none dari ini adalah di mana sebuah ecommerce store sebenarnya struggles. store-scale masalah adalah operational: sebuah catalog itu turns di atas daily, out-dari-stock dan discontinued SKUs oleh thousand, near-duplicate size/color variants, dan automation itu diam-diam berhenti berjalan. ini piece assumes Anda sudah memiliki sebuah sitemap dan perlu untuk tangani itu.

alasan sitemaps earn mereka pertahankan lebih sebagai sebuah store grows adalah straightforward. Google: “Generally, pada large sites ini lebih difficult untuk membuat sure itu setiap halaman adalah linked oleh di least satu other halaman pada itu site.” (terjemahan) “umumnya, pada besar situs ini adalah lebih difficult untuk pastikan itu setiap halaman adalah ditautkan oleh setidaknya satu lainnya halaman pada situs.” sebuah sitemap adalah bagaimana Anda pastikan sebuah product itu’s di bawah-ditautkan internally masih mendapatkan ditemukan. John Mueller memiliki called XML sitemaps “a minimal baseline for any serious website.” (terjemahan) “sebuah minimal baseline untuk apa pun serious situs web.” Mueller “minimal baseline” (terjemahan) “minimal baseline” line adalah relayed melalui mesin pencari Roundtable’s coverage dari sebuah X/Twitter reply; treat ini sebagai reported, tidak sebuah self-fetched utama quote.

hard limits Anda’re designing sekitar

sitemap protocol caps sebuah single file dan memberikan Anda sebuah sitemap indeks untuk mendapatkan past ini:

  • Per file: Google — “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.” (terjemahan) “Semua format membatasi satu sitemap hingga 50 MB (tanpa kompresi) atau 50.000 URL. Jika file atau jumlah URL lebih besar, Anda harus memecah sitemap menjadi beberapa sitemap.”* 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 indeks: “A sitemap index file may have up to 50,000 loc tags” (terjemahan) “File indeks sitemap dapat memiliki hingga 50.000 tag loc.”_ — i.e. ini dapat reference up untuk 50 000 child sitemaps. Anda dapat “submit up to 500 sitemap index files for each site in your Search Console account.” (terjemahan) “Anda dapat mengirimkan hingga 500 file indeks sitemap untuk setiap situs di akun Search Console.”_
  • Bing’s stated ceiling adalah lebih generous masih: up untuk 50 000 URLs per file dan 50 000 child files per indeks, so “a single sitemap index file dapat reference up untuk 2.5 billion URLs. Dalam skala besar, multiple index files dapat dukung up untuk 2.5 trillion URLs across a domain, membuat ini approach ideal untuk large, complex sites.” (terjemahan) “sebuah single sitemap indeks file dapat reference up untuk 2,5 billion URLs. di scale, multiple indeks files dapat mendukung up untuk 2,5 trillion URLs di seluruh sebuah domain, membuat ini approach ideal untuk besar, kompleks situs.”

untuk nearly setiap store, practical takeaway adalah: 50 000 URLs per file, split oleh jenis, satu indeks. billions/trillions figures hanya penting jika Anda’re architecting untuk tens dari millions dari SKUs — tetapi mereka tell Anda protocol akan tidak menjadi Anda bottleneck.

Segmentation strategy — dan apa ini adalah sebenarnya untuk

Split catalog ke logical sitemap files — products, categories/collections, brands, static/CMS halaman — referenced oleh sebuah single indeks. Di sini’s bagian sebagian besar guides mendapatkan wrong: mereka imply itu splitting sitemap oleh jenis improves anggaran crawling atau mendapatkan lebih halaman terindeks. ini tidak. Mueller adalah jelas itu ini adalah sebuah diagnostic pilihan, tidak sebuah crawl lever:

  • “The size & number of sitemap files generally won’t affect the crawling, unless your server is so bogged down that even fetching a handful of sitemap files would slow it down…” (terjemahan) “ size & angka dari sitemap files umumnya tidak akan memengaruhi crawling, unless Anda server adalah so bogged down itu bahkan fetching sebuah handful dari sitemap files akan slow ini down…”
  • “I generally recommend splitting a sitemap file into logical parts of your site so that you can monitor those parts individually…” (terjemahan) “I umumnya merekomendasikan splitting sebuah sitemap file ke logical bagian dari Anda situs so itu Anda dapat monitor itu bagian individually…” Keduanya relayed melalui mesin pencari Journal’s report dari sebuah Reddit AMA; split-untuk- monitoring poin adalah operative satu.

So payoff dari sebuah products sitemap terpisah dari sebuah categories sitemap adalah itu GSC’s Sitemaps report dan Bing Webmaster alat tampilkan Anda sebuah submitted-vs-terindeks ratio per segment. Ketika “product pages” (terjemahan) “product halaman” menampilkan 40% terindeks tetapi “category pages” (terjemahan) “category halaman” menampilkan 95%, Anda know persis di mana untuk look. Segmentation surfaces masalah; ini tidak perbaiki ini, dan ini tidak buy Anda anggaran crawling.

Apa belongs di sitemap — dan apa tidak

Google’s aturan adalah seluruh filter: “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.” (terjemahan) “Sertakan URL dalam sitemap yang ingin Anda lihat di hasil penelusuran Google. Google umumnya menampilkan URL kanonis di hasil penelusurannya, yang dapat Anda pengaruhi melalui sitemap.”_ So sebuah sitemap URL seharusnya menjadi canonical, dapat diindeks, dan mengembalikan 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

sertakan: canonical product halaman (PDPs), category/collection halaman Anda ingin diperingkatkan, brand halaman, dapat diindeks static halaman.

Exclude:

  • Faceted / filtered / sorted URLs?sort=, ?color=, filter combinations. ini belong di Anda facet strategy (block atau canonical), tidak sitemap. Joshua Hardwick’s Ahrefs sitemap guide flags ecommerce-spesifik versi dari ini: ini adalah “worth checking for duplicate and near-duplicate pages on ecommerce sites as these often slip through the net.” (terjemahan) “worth memeriksa untuk duplicate dan near-duplicate halaman pada ecommerce situs sebagai ini sering slip melalui net.”
  • Session IDs dan tracking parameters.
  • Redirects (3xx) dan errors (4xx / 410) — sebuah sitemap dari redirect URLs adalah sebuah sitemap dari URLs Anda’re telling Google tidak untuk tampilkan.
  • noindex halaman — contradicting yourself (submit + noindex) hanya wastes melakukan crawl.
  • Thin near-duplicate variants. sebuah terpisah size/color URL dengan Tidak unique konten tidak seharusnya menjadi sebuah terpisah sitemap entry — list canonical product URL. Google’s 2024 product-variants data terstruktur (ProductGroup / hasVariant / variesBy) adalah modern cara untuk express itu sebuah set dari size/color options adalah satu product dengan variants alih-alih N near-duplicate halaman; let itu, tidak sitemap, carry variant hubungan.

Product images ride pada owning halaman entry, tidak sebuah terpisah list. jangan bangun standalone sitemap dari image URLs — tambahkan sebuah <image:image> block untuk canonical product URL’s own <url> entry menggunakan sitemap gambar extension. Google: “Each <url> tag can contain up to 1,000 <image:image> tags.” (terjemahan) “Setiap tag <url> dapat memuat hingga 1.000 tag <image:image>.”_ — plenty untuk sebuah 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 Dua crawlability requirements itu adalah easy untuk miss di catalog scale: jangan disallow image paths di robots.txt, dan jika product images adalah disajikan dari sebuah terpisah domain atau CDN, verify itu host di Search Console atau images tidak akan menjadi picked up. Yang variant’s image mendapatkan entry mengikuti yang sama canonical-architecture panggil sebagai URL itself — attach images untuk canonical product entry, tidak untuk setiap thin variant URL Anda’ve sudah excluded di atas.

out-dari-stock dan discontinued product decision tree

ini adalah di mana sebuah ecommerce sitemap artikel dapat sebenarnya differentiate, karena hampir none dari them tangani ini dengan apa pun nuance — dan ini adalah tepat decision itu determines apakah sebuah URL belongs di sitemap. I’ve ditulis penuh kerangka kerja pada Ahrefs blog (Bagaimana seharusnya Anda Tangani Out-dari-Stock Products? ini Bergantung), dan ada sebuah alasan ini adalah called “it bergantung.” (terjemahan) “ini bergantung.” ada Tidak perfect solusi — job adalah untuk establish consistent aturan aligned dengan Anda business goals, tidak untuk memorize satu jawaban.

decision splits pada dua axes: adalah ini hilang permanently atau temporarily, dan melakukan halaman masih memiliki nilai (traffic, reviews, berguna info)?

  • Temporarily out, confirmed returning → pertahankan halaman langsung dan di sitemap. Offer sebuah restock estimate, sebuah waitlist, sebuah notify-me. jangan churn ini di dan out dari sitemap pada setiap stock toggle — itu’s noise.
  • Temporarily out, status unknown → deprioritize ini di UI dan internal linking (reorder, filter ini down) alih-alih pulling ini dari sitemap immediately. Premature removal risks Google treating halaman sebagai abandoned dan losing rankings itu adalah hard untuk win back.
  • Permanently hilang, baik replacement ada → 301 redirect untuk sebuah similar product untuk pertahankan tautan equity, dan hapus ini dari sitemap.
  • Permanently hilang, Tidak replacement, tetapi halaman masih earns traffic atau memiliki berguna konten (reviews, sebuah buying guide) → ini dapat stay langsung dan di sitemap.
  • Permanently hilang, Tidak nilai → delete dan kembalikan 404/410, dan hapus ini dari sitemap.

sebuah critical operational poin: removal adalah sebuah coordinated cleanup, tidak sebuah single sitemap edit. sebagai I put ini di itu artikel, “ketika mengalihkan a halaman, banyak sistem akan secara otomatis remove internal links dari categories, facets, sitemaps, dan internal penelusuran halaman” (terjemahan) “ketika mengalihkan sebuah halaman, banyak sistem akan secara otomatis hapus tautan internal dari categories, facets, sitemaps, dan internal penelusuran halaman” — so pull URL dari sitemap dan bersih up tautan internal itu poin di ini (category modules, related-product widgets, internal penelusuran) di sama workflow. sebuah dead URL itu’s hilang dari sitemap tetapi masih ditautkan dari twenty category halaman hasn’t benar-benar telah cleaned up.

dan hal Google’s own guidance warns terhadap: jangan reflexively mass-404 setiap discontinued product. Google favors mempertahankan URL langsung dengan alternatives, atau mengalihkan untuk sebuah relevant category, di atas blanket 404s — dan ini warns terhadap generating besar angka dari soft 404s. sebuah wall dari newly-404’d product halaman adalah persis pattern itu triggers itu.

Perbarui frequency, lastmod, dan automation

Automate generation. ini adalah non-negotiable pada sebuah catalog itu perubahan daily. My standing advice pada enterprise situs adalah: “Add sitemaps. I will make sure they are automated. If you are asked to manually create them, you can do that, but just know that if it is manual it will rarely be kept up-to-date.” (terjemahan) “Tambahkan sitemap dan pastikan pembuatannya otomatis. Jika Anda diminta membuatnya secara manual, Anda dapat melakukannya, tetapi ketahuilah bahwa sitemap manual jarang dipelihara agar tetap mutakhir.”_ Bing memiliki terdokumentasi tepat failure mode — “Too often, Bing discovers stalled sitemaps which have the same URLs listed for months – sometimes years” (terjemahan) “Bing sering menemukan sitemap yang macet dengan URL yang sama selama berbulan-bulan—terkadang bertahun-tahun”* — dan recommends sitemap “should ideally be automatically generated at least once a day.” (terjemahan) “sitemap idealnya dibuat otomatis setidaknya sekali sehari.”*

lastmod adalah satu attribute itu penting. Keduanya Google dan Bing actively gunakan ini; tidak seorang pun menggunakan others. pertahankan ini honest:

  • Google: “Google uses the <lastmod> value if it’s consistently and verifiably (for example by comparing to the last modification of the page) accurate.” (terjemahan) “Google menggunakan nilai <lastmod> jika nilainya secara konsisten dan dapat diverifikasi (misalnya dengan membandingkannya dengan perubahan terakhir halaman).”_ dan ini seharusnya “reflect the date and time of the last significant update to the page… an update to the main content, the structured data, or links on the page is generally considered significant, however an update to the copyright date is not.” (terjemahan) “mencerminkan tanggal dan waktu pembaruan signifikan terakhir halaman… pembaruan konten utama, data terstruktur, atau tautan pada halaman umumnya dianggap signifikan, sedangkan pembaruan tanggal hak cipta tidak.”_
  • Bing adalah blunt tentang anti-pattern: “Do not set the <lastmod> value to the time you generate the sitemap. <lastmod> should be the date of the last modification of the content.” (terjemahan) “Jangan atur nilai <lastmod> ke waktu pembuatan sitemap. <lastmod> harus menjadi tanggal perubahan terakhir konten.”_ gunakan ISO 8601 dengan sebuah time component.

Di sini’s sebuah genuine gray area worth flagging: adalah sebuah price perubahan atau sebuah stock-status flip sebuah “significant” (terjemahan) “significant” perbarui? oleh Google’s definition (main konten / data terstruktur / tautan), sebuah bare price perubahan adalah arguably tidak — tetapi jika ini perubahan Anda Product data terstruktur (availability, price), itu’s closer untuk significant. My honest baca: jangan try untuk menjadi clever tentang ini. jangan bump lastmod pada setiap trivial toggle (itu hanya menambahkan noise), dan jangan rely pada lastmod alone untuk propagate sebuah time-sensitive price drop fast.

Pair lastmod dengan IndexNow untuk fast-moving perubahan. Bing frames dua sebagai complementary, tidak either/atau: “Sementara real-time URL submission protocols such sebagai IndexNow help notify penelusuran engines dari immediate konten perubahan, sitemaps tetap a foundational sinyal untuk ensuring comprehensive URL coverage across Anda site.” (terjemahan) “Sementara nyata-time URL submission protocols such sebagai IndexNow help notify mesin pencari dari immediate konten perubahan, sitemaps tetap sebuah foundational sinyal untuk ensuring comprehensive URL coverage di seluruh Anda situs.” dan untuk AI-powered surfaces secara khusus: “The lastmod field 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.” (terjemahan) “Kolom lastmod dalam sitemap Anda tetap menjadi sinyal utama yang membantu Bing memprioritaskan URL untuk dirayapi dan diindeks ulang, atau melewatinya sepenuhnya jika konten tidak berubah sejak perayapan terakhir.”* So: sitemap untuk coverage dan daily freshness, IndexNow (Bing/Yandex/others — tidak Google) untuk push individual price/stock flips tanpa menunggu untuk berikutnya recrawl cycle.

Ignore priority dan changefreq

jangan spend engineering time maintaining ini. Google adalah unambiguous: “Google ignores <priority> and <changefreq> values.” (terjemahan) “Google mengabaikan nilai <priority> dan <changefreq>.”* Gary Illyes reportedly called priority field “essentially a bag of noise.” (terjemahan) “essentially sebuah bag dari noise.” Pernyataan Illyes disampaikan melalui liputan Search Engine Roundtable tentang SMX Advanced 2017, bukan sumber utama yang kami ambil langsung; poinnya tetap berlaku karena dokumentasi Google kini menyatakan kedua field tersebut diabaikan. Nilai apa pun yang diisi otomatis oleh sistem Anda tidak berbahaya; jangan membangun logika untuk menghitungnya.

Monitoring dan diagnosis

ini adalah apa segmentation adalah untuk:

  • GSC Sitemaps report — per-segment submitted-vs-terindeks. sebuah product-sitemap ratio itu’s banyak worse daripada Anda category sitemap poin Anda straight di sebuah product-halaman masalah (thin konten, blocked variants, canonical issues).
  • Bing Webmaster alat — yang sama segment-tingkat view pada Bing’s side, plus IndexNow submission status.
  • GSC halaman pengindeksan report — watch excluded buckets untuk facet/parameter URLs ballooning, yang berarti Anda facet strategy adalah leaking ke penemuan.
  • situs crawl / audit (Ahrefs situs Audit, Screaming Frog) — catch products masih menunjukkan sebuah out-dari-stock message, orphaned products Tidak lebih lama ditautkan dari anywhere, dan rusak tautan internal left behind setelah sebuah redirect atau removal.

Enterprise-scale architecture — sebuah worked shape

untuk sebuah catalog di millions dari SKUs, plan hierarchy sekitar Anda sebenarnya volume dan submission ceilings alih-alih bolting pada files 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)

di 5M products itu’s ~100 product sitemap files plus sebuah handful dari others — well di dalam 50 000-files-per-indeks limit dan GSC’s 500-sitemap acceptance. jika Anda somehow exceed sebuah single indeks (50 000 × 50 000 = 2,5B URLs), Anda split ke multiple indeks files dan submit setiap. poin adalah untuk size chunks up front so daily regeneration hanya rewrites setiap file’s contents, dan Anda tidak pernah memiliki untuk re-architect tree karena Anda outgrew sebuah guess.

Di mana ini sits

Ecommerce sitemaps overlap heavily dengan halaman mereka list. Apa belongs di sitemap adalah decided oleh Anda category-halaman dan faceted-navigation strategy (yang filtered URLs adalah canonical dan dapat diindeks). Apa happens untuk sebuah URL ketika sebuah product sells out adalah out-dari-stock dan discontinued-product decision. dan sitemap adalah satu dari several cara crawler menemukan sebuah store — alongside tautan internal, IndexNow, dan (untuk Google Shopping) sebuah Merchant Center product feed. sitemap tidak replace apa pun dari itu; ini adalah coverage backstop itu membuat sure tidak ada apa pun mendapatkan stranded.

Add an expert note

Pin an expert quote

New person? Create their unclaimed profile at /admin/experts/ → Pin a quote first.