Submit a Sitemap in Google Search Console (and the 3 Status Lies)

The 2-minute sitemap submission flow, the exact meaning of Success / Has errors / Couldn't fetch, and how to fix each one.

Submitting a sitemap to Google takes about two minutes of typing and 24 to 72 hours of waiting. The hard part is reading the status afterward, because Search Console reports only three states (Success, Has errors, Couldn’t fetch), and “Success” can still hide a broken sitemap. Here is the exact flow plus how to decode what you see.

TL;DR

Open the Sitemaps report in Search Console, type just the path (sitemap.xml, no leading slash, no full URL), and click Submit. Within 24-72 hours the status should read Success with a Discovered URLs count that matches your real page count. If it says Couldn’t fetch, your URL is wrong or robots.txt is blocking the file. If Discovered URLs is far below your page count, your generator is dropping pages. Submitting a sitemap does not guarantee indexing — it only hands Google a clean list and a status report that catches bugs early.

What a submitted sitemap actually does

A sitemap is an XML file listing the URLs you want Google to discover. Submitting it does three things and one thing it does not:

  • It gives Google a single, authoritative list of every canonical URL on your site.
  • It surfaces a status report that catches fetch failures, encoding errors, and missing-page bugs you would otherwise never see.
  • It speeds up discovery on new or large sites where internal links alone are slow to crawl.
  • It does not force indexing. Google decides per URL based on content quality, links, and authority. A sitemap is “here is the list,” not “please index these.”

Note that Google ignores the <priority> and <changefreq> tags in your sitemap entirely (per Google’s sitemap documentation), so do not waste time tuning them. <lastmod> is used, but only when it is consistently accurate.

When you need this

  • You just launched and have no idea whether Google has seen your sitemap.
  • Search Console shows Couldn’t fetch next to your sitemap.
  • Your sitemap reports far fewer Discovered URLs than your site has pages.
  • You migrated domains or renamed the sitemap and the old entry is still listed.

Submit it: step by step

  1. Confirm the file exists. Open https://yourdomain.com/sitemap.xml in a browser. It should return an XML document listing your URLs. If it 404s, your framework is not generating one — fix that before going further. (Astro’s @astrojs/sitemap, Next.js sitemap.ts, and most CMS plugins produce one automatically.)
  2. Open the Sitemaps report. In Search Console, click Sitemaps in the left sidebar under “Indexing.”
  3. Enter the path only. In Add a new sitemap, type sitemap.xml — no leading slash, no https://. The domain is already filled in from your property. Click Submit.
  4. Wait 24-72 hours. The status row appears within minutes but often reads “Couldn’t fetch” or blank at first; that is normal. Re-check after a day.
  5. Check the count. When it reads Success, verify the Discovered URLs number matches your real page count. If your site has 50 pages and Search Console says 3, your sitemap is incomplete — usually a generator bug or a draft filter you forgot to disable.
  6. Spot-check 3 URLs. Open the sitemap again and pick three URLs at random. Are they live (HTTP 200)? Do they match your canonical scheme (https://, and www or non-www consistently)? A protocol or host mismatch invalidates the entire sitemap.
  7. Cross-check after a week. Compare the Pages report. “Submitted” vs. “Indexed” is rarely 100%, but a large “Crawled - currently not indexed” or “Discovered - currently not indexed” bucket points to a content or authority problem, not a sitemap problem.

The three status messages, decoded

Search Console reports exactly one of three statuses. This is the whole game:

StatusWhat it meansWhat to do
SuccessFetched and parsed cleanly. All URLs are queued for crawling.Verify the Discovered URLs count. “Success” with the wrong count is still a bug.
Has errorsFetched, but one or more entries are malformed. Valid URLs are still queued.Click into the sitemap to see the specific error lines and fix the XML.
Couldn’t fetchGoogle could not retrieve the file on its last HTTP attempt. No URLs are processed.Check the URL is correct, the file returns 200, and robots.txt is not blocking it. Resubmit.

The dangerous one is Success with a low Discovered URLs count, because nothing looks broken. Always confirm the number, not just the green label.

Fixing “Couldn’t fetch”

This is the most common failure on new sites. Work through these in order:

  1. Wrong path. Confirm the Sitemaps field shows sitemap.xml, not a page URL or a typo. Delete the bad entry and re-add it.
  2. File 404s or 500s. Load the URL yourself. If it does not return 200, your build is not emitting the file at that path. Some frameworks output sitemap-index.xml instead of sitemap.xml.
  3. robots.txt is blocking it. A Disallow: /sitemap.xml line (or a blanket disallow) stops Googlebot from reaching it. Use the URL Inspection tool’s “Test live URL” to confirm fetchability.
  4. Slow or flaky server. A timeout on Google’s fetch shows as “Couldn’t fetch.” Once your host stabilizes, resubmit. This often self-resolves within a few days.

This status does not depend on your host — it happens on Vercel, Firebase, Cloudflare Pages, and everywhere else. It is almost always one of the four causes above.

Common pitfalls

  • Pasting the full URL (https://yourdomain.com/sitemap.xml) into a field that expects only the path. Some properties accept both; the path is always safe.
  • Listing URLs that 301, 404, or carry noindex. Google reads these as conflicting signals and may distrust the whole sitemap. Keep the sitemap limited to canonical, indexable, 200-status URLs.
  • Host or protocol mismatch. A sitemap on a Domain property but pointing to http:// or a different subdomain gets ignored entirely.
  • Forgetting to update after a content move. Stale URLs linger in the indexing reports for months.
  • Over-splitting. A single sitemap holds up to 50,000 URLs or 50 MB uncompressed (gzip is allowed). Below that, one file is fine. Past it, use a sitemap index, which can reference up to 500 child sitemaps.

You do not need the ping endpoint anymore

The old “ping” trick — hitting https://www.google.com/ping?sitemap=... to nudge Google — was deprecated in 2023 and now returns 404 (Google Search Central). Google found the vast majority of unauthenticated pings were spam. The two supported ways to submit now are the Sitemaps report in Search Console and a Sitemap: line in robots.txt:

Sitemap: https://yourdomain.com/sitemap.xml

Listing it in robots.txt is worth doing in addition to Search Console — it is how Bing and other crawlers find it too.

Who this is for, and when to skip it

This matters for new sites in their first month, anyone migrating to a new domain, and sites with more than ~100 URLs that want Google to find them all quickly. A five-page brochure site with no growth plan can skip it — Google will discover five pages from internal links alone, and the sitemap is not the bottleneck.

FAQ

  • How long until my sitemap shows “Success”?: Usually 24-72 hours. If it still says “Couldn’t fetch” after three days, the URL is wrong, the file is not returning 200, or robots.txt is blocking it.
  • My sitemap shows Success but my pages are not indexed — what gives?: Submission is not an indexing guarantee. The sitemap is the list; indexing is a separate per-URL decision Google makes based on content, links, and authority. Check the Pages report to see which “not indexed” bucket the URLs fall into.
  • Do I need to resubmit when I publish a new post?: No. Once submitted, Google re-fetches the sitemap on its own schedule (typically every few days). Just make sure your generator regenerates the file on each deploy.
  • Should I submit sitemap_index.xml or the individual sitemaps?: Submit the index. Google follows it to every child sitemap automatically, and you get one row to monitor instead of dozens.
  • What are the hard limits?: 50,000 URLs or 50 MB uncompressed per sitemap, and up to 500 sitemaps referenced from one index file. UTF-8 encoding and fully absolute URLs are required.
  • Can I still ping Google to speed things up?: No. The ping endpoint was retired in 2023 and returns a 404. Use Search Console and robots.txt; for a single urgent page, use the URL Inspection tool’s “Request indexing.”

Tags: #Indie dev #SEO #Google #Search Console #Indexing #Getting started