XML Sitemaps and the Indexing API: The 2026 Practitioner's Guide
Last winter a client shipped a store migration and watched the traffic drain out of the floor. They had roughly 42,000 product URLs. Google Search Console showed 41,800 submitted in the sitemap and only 9,300 indexed. The panic was real. Someone on the team had read a thread claiming Google's Indexing API would "force" the rest in, so they wired it up over a weekend. Nothing moved. Worse, they burned two engineers on OAuth setup for an API that was never built for product pages.
Here is what nobody tells you upfront. The sitemap was not the problem, and the Indexing API was never the answer. The real issue was a thin content signal, a broken canonical, and a lastmod field lying to Google on every single URL. We fixed the plumbing, resubmitted, and 34,000 URLs indexed inside three weeks. This guide is the playbook we used, updated for 2026.
What is an XML sitemap actually for in 2026?
An XML sitemap is a machine-readable list of the URLs you want search engines to know about, plus optional signals like when each page last changed. It helps discovery on large or poorly linked sites. It does not guarantee indexing, and it never has.
Think of a sitemap as a guest list, not a VIP pass. You are telling Google and Bing which doors exist. You are not telling them who gets in. That distinction trips up more marketers than any technical spec.
Sitemaps earn their keep in three situations. Your site is large, so crawlers might miss deep pages. Your internal linking is weak, so orphan pages hide from discovery. Or your content is new, and you want fast awareness. If your site is a tidy 30-page brochure with clean navigation, the sitemap matters far less than people think. Google can crawl that with its eyes closed.
The protocol itself is old and stable. The raw sitemaps.org protocol has barely changed in years. What changed is how much weight Google puts on individual fields, and that shift is where most 2026 mistakes live.
How do I build a clean XML sitemap without bloating it?
Build your sitemap from indexable, canonical, status-200 URLs only. Exclude noindexed pages, redirects, parameter duplicates, and blocked paths. A lean sitemap of 60,000 clean URLs beats a bloated one of 100,000 with 40,000 dead entries every time.
Most content management systems generate sitemaps automatically. That is a blessing and a trap. Yoast SEO and Rank Math both ship solid sitemap engines for WordPress, and both do the right thing by default. They exclude noindexed content and split large sites into chunks. The trap is that they only stay clean if your site stays clean.
Here is my rule. A URL earns a spot in the sitemap only if you would be genuinely happy to see it ranking. Tag archive page 47 with two thin posts? Cut it. Faceted filter combination that duplicates your category page? Cut it. A sitemap is a declaration of priority, so stop declaring junk as a priority.
If you are working outside a CMS or need a fast one-off, our free XML Sitemap Generator crawls your site and produces a valid file in minutes. For teams auditing what a CMS already spits out, XML-Sitemaps.com and the crawlers below give you a second opinion.
Which fields matter and which are dead weight?
Four fields exist. Only two deserve your attention. The loc tag holds the URL and is required. The lastmod tag holds the last modification date and is the single most valuable optional field in 2026. The priority and changefreq tags are effectively ignored by Google. Stop filling them in. Nobody reads them.
Why does lastmod accuracy matter so much now?
Lastmod tells search engines when a page last meaningfully changed, which shapes recrawl priority. But if your CMS stamps today's date on every URL, Google notices the lie and stops trusting the field site-wide. Accurate lastmod is a trust signal. Fake lastmod is self-sabotage.
This is the mistake I catch most often. A developer wires lastmod to the server timestamp or the sitemap generation time. Every URL then shows the same fresh date on every regeneration. To Google, that reads as noise, and the field gets discounted for the whole domain.
Both Google and Bing have stressed this publicly. The takeaway is blunt. Lastmod should reflect the last time the main content changed, not the last time a comment count ticked or a sidebar widget refreshed. If you cannot make lastmod honest, remove it entirely. An absent lastmod beats a lying one.
I once audited a news publisher pushing 80,000 URLs with identical lastmod values updated hourly. Google had quietly stopped respecting the field months earlier. We rebuilt it to reflect true edit history. Recrawl of updated stories tightened from days to hours. No other change. That is the power of one honest field.
When should a URL NOT go in the sitemap?
Keep a URL out of the sitemap if it is noindexed, canonicalised to another page, redirected, blocked in robots.txt, returns a non-200 status, or is a low-value duplicate. The sitemap is your "please index this" list, so contradicting it with a noindex tag sends a confused signal.
The contradictions are the killers. Picture a URL sitting proudly in your sitemap while carrying a noindex meta tag. You are saying "index me" and "do not index me" in the same breath. Google resolves the conflict by trusting the page-level directive and quietly distrusting your sitemap hygiene.
Watch out for these repeat offenders. Paginated series where only page one belongs in the sitemap. Parameter URLs from tracking or sorting. Staging or preview paths that leaked in. Thank-you pages, cart pages, and login screens. None of these earn a place. Our guide on managing crawlers and robots.txt directives covers where blocking beats listing.
How do sitemap index files work for large sites?
A single sitemap caps at 50,000 URLs or 50MB uncompressed. Past that, you use a sitemap index file, which is a sitemap of sitemaps. It can point to up to 50,000 child sitemaps, giving a theoretical ceiling of 2.5 billion URLs. Most large sites live comfortably inside this structure.
The limits come straight from the specification, confirmed in Google's own documentation. You can read the full detail in the Google Search Central build-a-sitemap guide. Gzip compression is strongly recommended and cuts transfer size by 70 to 90 percent, though the 50MB ceiling still measures the uncompressed content.
My strong opinion here is to segment by content type, not by arbitrary number. Put your blog posts in one child sitemap, products in another, category pages in a third. This is not cosmetic. It lets you read the GSC coverage report per segment and spot exactly which content type is struggling to index. A single monolithic sitemap hides that intelligence.
A practical structure for a 500,000-URL store
Create one index file at the root. Point it to sitemap-products-1.xml through sitemap-products-10.xml, plus sitemap-categories.xml and sitemap-blog.xml. Reference the index in robots.txt and submit only the index in Search Console. Google walks the tree from there. Clean, debuggable, and future-proof as the catalogue grows.
Do I need image, video, or news sitemaps?
Specialised sitemaps help only when media discovery genuinely matters. Image and video sitemaps surface media that lazy-loading or JavaScript hides. News sitemaps unlock Google News eligibility for approved publishers. For a standard blog or brochure site, they are optional and often unnecessary.
Image and video sitemaps share the same 50,000-URL and 50MB limits, but add media-specific tags. They earn their place when your images sit behind heavy JavaScript that crawlers struggle to render. If your visuals load in plain HTML, Google usually finds them without a dedicated file. Our breakdown of how Google renders JavaScript and indexes it explains when rendering gets in the way.
News sitemaps are a different beast entirely. They apply only to sites accepted into Google News, and they cover articles from the last 48 hours. If you are not a news publisher, skip them. I have watched marketers build news sitemaps for evergreen blogs and wonder why nothing happened. Wrong tool, wrong job.
How do I validate a sitemap before submitting it?
Validate a sitemap by checking XML syntax, confirming every URL returns status 200, verifying canonicals match, and ensuring no noindexed or blocked URLs slipped in. Screaming Frog SEO Spider and Sitebulb both audit sitemaps against live crawl data, catching contradictions a raw XML validator misses.
A syntax check alone is not validation. It confirms the file is well-formed, nothing more. Real validation compares your sitemap against reality. Does every listed URL actually resolve? Does any URL carry a noindex? Are there redirect chains? These are the errors that silently rot indexing.
My tool stack is honest and short. Screaming Frog SEO Spider is my daily driver because its "crawl sitemaps" mode maps listed URLs against live responses in one pass. Sitebulb wins on visual reporting and hints you might miss. For a quick XML syntax sanity check, run the file through our XML Formatter to spot malformed tags before anything else. And before you trust a whole site's setup, our website SEO score checker flags sitemap and indexing red flags in one scan.
Screaming Frog versus Sitebulb, honestly
| Factor | Screaming Frog SEO Spider | Sitebulb |
|---|---|---|
| Sitemap crawl mode | Fast, granular, live-status matching | Present, slightly slower |
| Reporting clarity | Spreadsheet-style, expert-friendly | Visual, hint-driven, beginner-friendly |
| Learning curve | Steeper | Gentler |
| Best for | Technical audits at scale | Explaining issues to a team |
| Pricing model | Annual licence, free tier to 500 URLs | Subscription, project-based |
Methodology note. This comparison reflects hands-on use across roughly 40 client audits in the past year, not marketing copy from either vendor.
How do I submit a sitemap to Google and Bing?
Submit your sitemap in Google Search Console under the Sitemaps report, and in Bing Webmaster Tools under Sitemaps. Also reference it in robots.txt with a Sitemap directive. Submit the index file, not every child. Then check the coverage report, because submission is the start of the conversation, not the end.
The steps take five minutes. In Search Console, open the Sitemaps section, paste the sitemap URL, and hit submit. Do the identical thing in Bing Webmaster Tools. Add one line to robots.txt reading Sitemap: https://example.com/sitemap_index.xml so any crawler finds it without a login. That covers discovery across the major engines at once.
Do not stop there. The value is in the follow-up. Google Search Console tells you how many URLs it discovered and, more importantly, how many it chose to index. That gap between submitted and indexed is your real health metric. If you submit 40,000 and index 9,000, the sitemap did its job and your content or architecture did not.
Nudging updates faster with a ping
When you publish or heavily update a page, you can nudge engines instead of waiting for the next crawl cycle. Our website ping tool notifies search engines that something changed. It is a gentle prompt, not a command, but on active sites it shaves discovery time. Pair it with an accurate lastmod for the strongest signal.
Does the Google Indexing API index normal pages? No.
Google's Indexing API officially supports only two page types: those with JobPosting structured data and those with BroadcastEvent inside a VideoObject, meaning livestreams. It will not index your blog posts, product pages, or service pages. Anyone claiming otherwise is selling a myth, and using it on unsupported pages risks losing access.
This is the single biggest misconception in technical SEO right now, so let me be blunt. The Indexing API is not a fast-index button for regular content. Google restricts it to job postings and livestream video pages by design. You can confirm the scope in the official Indexing API quickstart, which states the supported content types plainly.
Plenty of plugins and "instant indexing" services quietly submit ordinary pages through this API. It might appear to work because those pages would have been crawled anyway. Correlation is not causation. Google's Search Relations team has warned that it may stop supporting unsupported formats without notice, and testing shows the API can even hurt evergreen indexing. My advice is simple. If you do not run a job board or a livestream platform, do not touch it.
Where the API genuinely shines is a job board with thousands of time-sensitive listings. A posting that expires in 30 days needs fast crawling, and the API delivers a priority queue for exactly that. Use it for the two supported types and nowhere else.
What actually speeds up indexing for everyday pages? IndexNow.
For normal pages, IndexNow is the real fast-signal path. It is an open protocol that instantly notifies Bing, Yandex, and partner engines when a URL is added, updated, or deleted. It works for any URL type with no content restrictions. Google does not participate, but Bing coverage alone makes it worthwhile.
Here is the honest landscape. Google does not support IndexNow and does not offer a general fast-index API. So your everyday toolkit is a clean sitemap plus accurate lastmod for Google, and IndexNow for Bing and Yandex. That is the full, legitimate stack in 2026. Everything else is either the restricted Indexing API or wishful thinking.
IndexNow is refreshingly simple. You generate a key, host it as a file, and ping the API with your changed URLs. Read the setup at indexnow.org. WordPress users get it almost free, since Yoast SEO and Rank Math both offer IndexNow support that fires automatically on publish. For US and EU sites where Bing carries meaningful search share, this is free reach you are probably leaving on the table.
The three submission methods compared
| Method | Engines | Works for normal pages? | Best use |
|---|---|---|---|
| XML sitemap | Google, Bing, all | Yes | Baseline discovery for every site |
| IndexNow | Bing, Yandex, partners | Yes | Fast updates for Bing and Yandex |
| Google Indexing API | Google only | No, jobs and livestreams only | JobPosting and BroadcastEvent pages |
Why does my sitemap show submitted but not indexed?
Submitted but not indexed means Google discovered the URL through your sitemap but chose not to index it. Common causes are thin or duplicate content, canonical conflicts, weak internal linking, crawl budget limits on huge sites, or quality signals below Google's bar. The sitemap worked. The page did not earn its slot.
This report line breaks hearts, so let me reframe it. A sitemap controls discovery, never indexing. Once Google knows a URL exists, indexing depends entirely on quality and architecture. If pages sit unindexed, the fix is upstream of the sitemap.
Start with internal linking, because orphaned pages struggle no matter how many times you submit them. Our guide to building an internal linking strategy that lifts rankings walks through it. On very large sites, crawl budget becomes the constraint, and our log file analysis and crawl budget guide shows how to read what Googlebot actually fetches. If you generate pages at scale, the programmatic SEO without penalties playbook keeps quality high enough to earn indexing.
How do sitemaps fit the wider technical SEO picture?
A sitemap is one input among many. It improves the conditions for indexing but cannot compensate for slow pages, broken structured data, or thin content. Treat it as plumbing that supports strong content, clean architecture, and healthy performance, never as a growth lever on its own.
I have seen teams obsess over sitemap perfection while their Core Web Vitals tanked and their schema threw errors. Priorities matter. A flawless sitemap pointing at slow, thin pages still fails. Fix the destination before you polish the map.
The supporting pieces reinforce each other. Solid schema markup with JSON-LD helps Google understand context. A tight on-page SEO checklist keeps each URL worth indexing. Fast Core Web Vitals keep crawlers efficient. And a coherent content cluster and pillar-page structure makes discovery natural before the sitemap even loads. As search shifts, our take on ranking in AI search shows why clean indexing is still the foundation.
Case study: from 22 percent to 81 percent indexed
A European SaaS site had 12,400 URLs, with 22 percent indexed and stagnant organic traffic. Three fixes over six weeks lifted indexing to 81 percent and grew organic sessions 47 percent, with no new content published. The lever was sitemap and indexing hygiene, not more pages.
Here is the before and after, with numbers. Before, the sitemap listed 12,400 URLs. Roughly 3,100 carried noindex tags yet still sat in the file. Lastmod was stamped identically on every regeneration. Bing received nothing because IndexNow was never configured. Google indexed 2,730 URLs, about 22 percent.
We did three things. First, we stripped every noindexed and canonicalised URL from the sitemap, cutting it to 8,900 genuinely indexable pages. Second, we rebuilt lastmod to reflect true edit dates, so Google trusted it again. Third, we enabled IndexNow through Rank Math for instant Bing and Yandex signals. Six weeks later Google indexed about 10,050 URLs, roughly 81 percent, and organic sessions rose 47 percent. No content was added. The pages already existed. We simply stopped confusing the crawlers.
Frequently asked questions
Does submitting a sitemap guarantee my pages get indexed?
No, and this is the most important thing to internalise. A sitemap controls discovery, not indexing. It tells Google and Bing that a URL exists and, with lastmod, when it changed. Whether the page gets indexed still depends on content quality, canonicalisation, internal linking, and crawl budget. Submitting a sitemap improves the conditions for indexing, but Google treats it as a hint, never a command. If pages stay unindexed, the fix lives in your content and architecture, not the sitemap.
Will the Google Indexing API index my blog posts faster?
No. The Indexing API officially supports only two page types, JobPosting pages and BroadcastEvent livestream pages. It was never built for blog posts, product pages, or service pages. Any plugin or service that submits ordinary content through it is misusing the API, and Google may revoke access without notice. If a page indexes after such a submission, it would almost certainly have indexed anyway. For everyday pages, use a clean sitemap for Google and IndexNow for Bing and Yandex instead.
What is IndexNow and does Google use it?
IndexNow is an open protocol that instantly notifies participating search engines when you add, update, or remove a URL. Bing, Yandex, and several partners support it, and it works for any URL type with no content restrictions. Google does not participate. So IndexNow will not speed up Google indexing, but it noticeably speeds up Bing and Yandex discovery. For US and EU sites where Bing carries real search share, enabling IndexNow through Yoast SEO or Rank Math is free, fast reach worth capturing.
How often should I update and resubmit my sitemap?
You rarely need to manually resubmit. Most sitemaps regenerate automatically when content changes, and Google recrawls them on its own schedule. You only resubmit manually after a major structural change, like a migration or a large batch of new pages. What matters far more is that lastmod stays accurate on each regeneration. An honest, auto-updating sitemap with a robots.txt reference beats obsessive manual resubmission every time. Set it up correctly once, then monitor the coverage report rather than the submit button.
Should I use priority and changefreq tags in my sitemap?
No, skip them. Google has confirmed it ignores the priority tag entirely and mostly ignores changefreq too. These fields are relics from an earlier era of the protocol. Spending time tuning them delivers zero benefit. Focus that energy on lastmod, which Google and Bing both actively use to prioritise recrawling. A sitemap with accurate lastmod and clean loc entries, and no priority or changefreq clutter, is the modern best-practice shape.
What are the size limits for an XML sitemap?
A single sitemap file caps at 50,000 URLs or 50MB uncompressed, whichever comes first. If you exceed either limit, you split into multiple sitemaps and tie them together with a sitemap index file. The index can reference up to 50,000 child sitemaps, giving a theoretical maximum of 2.5 billion URLs. Gzip compression is recommended and shrinks transfer size dramatically, though the 50MB ceiling always measures the uncompressed content, not the zipped file.
Why does Search Console say "Discovered, currently not indexed"?
That status means Google found the URL, often through your sitemap, but has not crawled or indexed it yet. It usually signals a crawl budget or quality issue. On large sites, Google prioritises which URLs to crawl, and lower-value pages wait. To improve it, strengthen internal links to those pages, raise content quality, and make sure the pages are genuinely worth indexing. Removing thin or duplicate URLs from the sitemap also helps, since it stops diluting your declared priorities.
Do I need separate sitemaps for images and videos?
Only if media discovery is a real problem. Image and video sitemaps help when your media loads behind heavy JavaScript that crawlers struggle to render. If your images and videos load in plain HTML, Google usually finds them through the normal page crawl without a dedicated file. For most blogs and brochure sites, a standard sitemap is enough. Build media sitemaps when you can prove, through Search Console or a crawl audit, that important media is being missed.
Can a bad sitemap actually hurt my SEO?
Yes, indirectly. A sitemap stuffed with noindexed, redirected, or duplicate URLs sends mixed signals and erodes Google's trust in your hygiene. Faked lastmod values get the field discounted across your whole domain. A bloated sitemap wastes crawl budget on large sites, leaving valuable pages under-crawled. The sitemap will not trigger a penalty, but it can quietly suppress indexing efficiency. A lean, honest sitemap is a small but genuine ranking-condition advantage.
What tools should I use to check my sitemap?
For live audits, Screaming Frog SEO Spider and Sitebulb both crawl your sitemap against real page responses and catch contradictions. For a quick XML syntax check, an XML formatter spots malformed tags fast. Google Search Console and Bing Webmaster Tools show submitted-versus-indexed counts, which is your true health metric. A full-site SEO score checker surfaces sitemap and indexing red flags in one pass. Combine a validator, a live crawler, and the webmaster consoles for complete coverage.
The bottom line for 2026
Let me return to that store with 42,000 URLs and 9,300 indexed. The Indexing API never had a role to play there, because product pages fall outside its two supported types. The win came from the boring work. A lean sitemap, honest lastmod, clean canonicals, and IndexNow for Bing. Indexing climbed to 34,000 in three weeks.
Your priority order is clear. First, make your sitemap lean and honest. Second, get lastmod right or remove it. Third, submit to Google Search Console and Bing Webmaster Tools and reference it in robots.txt. Fourth, enable IndexNow for Bing and Yandex speed. Only run the Indexing API if you publish job postings or livestreams. If you want a fast starting point, generate a clean file with our XML Sitemap Generator and validate it before you submit.
Here is my forward prediction. As search fragments across AI answers and multiple engines, clean discovery becomes more valuable, not less. The teams that treat sitemaps as honest plumbing rather than a growth hack will keep winning quietly. So what does your submitted-versus-indexed gap look like right now, and which of these four fixes will you run first?