List every canonical, indexable URL on your own domain in an XML file, stay under 50,000 URLs and 50MB uncompressed per file, generate it automatically from your CMS, and submit it twice: in Search Console's Sitemaps report and on a Sitemap: line in robots.txt. Leave out redirects, dead pages, and anything noindexed.
What Goes In, What Stays Out
The rule is short. Every URL in the sitemap should return a 200, be the canonical version of itself, and be something you want indexed. That excludes more than most people expect: redirected URLs, 404s, parameter variants, cart and checkout pages, tag archives, and any page carrying a noindex. A sitemap full of junk does not break anything outright, but it teaches Google that your sitemap is unreliable, and the useful signal drains out of it.
The Limits, and Why You Can Ignore Them
The spec caps a single sitemap at 50,000 URLs or 50MB uncompressed. Past that you split the list and reference each part from a sitemap index file. A dispensary site with six core pages, a few locations, and a blog will never touch these numbers — the limits matter mainly to marketplaces and big multi-state operators with thousands of product and city pages.
Generate It, Never Hand-Write It
A hand-maintained sitemap is stale the week after you write it. Every serious CMS can generate one that updates itself when pages are published or deleted; on WordPress the major SEO plugins do it by default, and Screaming Frog can build one from a crawl for static sites. One warning on lastmod: Google ignores the priority and changefreq tags entirely, but it does read lastmod when the dates are trustworthy. A generator that stamps today's date on every URL, every day, burns that trust.
A Worked Example
Take a two-location shop with a Dutchie menu. The sitemap should hold the homepage, two location pages, the delivery page, about, contact, the blog index, and each post — call it 40 URLs. What it should not hold is any product, because those render inside Dutchie's iframe on Dutchie's domain, and a sitemap may only list URLs on your own host. If you want products in the index, that is a site-architecture decision, not something a sitemap line can paper over.
Submit It and Read the Report
Add the sitemap in Search Console's Sitemaps report and put a Sitemap: line in robots.txt for every other crawler. Then use the Pages report as your feedback loop. URLs stuck in "Discovered - currently not indexed" were found via the sitemap but judged not worth crawling yet, which usually points at thin content rather than a sitemap problem. The sitemap gets pages discovered; it has never once made a weak page rank.
Key takeaways
- Sitemaps hold canonical, indexable, 200-status URLs from your own domain only.
- Limits are 50,000 URLs or 50MB uncompressed per file; use a sitemap index past that.
- Google ignores priority and changefreq but reads an honest lastmod.
- Dutchie and Jane products cannot be listed — they live on the provider's domain.
- Submit via Search Console and robots.txt, then watch the Pages report.
Frequently asked questions
How big can a single XML sitemap be?
50,000 URLs or 50MB uncompressed, whichever comes first. Past either limit, split into multiple sitemaps and point a sitemap index file at all of them. Most cannabis sites never get close.
Should Dutchie or Jane menu products be in my sitemap?
No. Those products render in an iframe on the provider's domain, so there are no URLs on your site to list. A sitemap may only contain URLs from your own domain.
Do priority and changefreq tags matter?
Google ignores both. It does use lastmod, but only when the dates are accurate — if every page claims it changed today, the signal gets discounted. Set lastmod honestly or leave it out.
Where do I submit the sitemap?
Two places: the Sitemaps report in Google Search Console, and a Sitemap: line in your robots.txt so other crawlers find it without an account.
Want this done for your brand?
We build cannabis & CBD search visibility with full transparency, for dispensaries, brands, and MSOs.
Get a free cannabis SEO audit ›