IndexDoctor.io
Sitemap

Google can't fetch sitemap: what it means and how to fix it

Search Console marks your sitemap as "Couldn't fetch." Here's what Google is actually telling you and the fastest way to verify it.

What this usually means

When Google Search Console reports "Couldn't fetch" for a sitemap, it means Googlebot tried to download the sitemap URL and failed before it could parse a single <url> entry. The submission is rejected, and any URLs inside the sitemap are not queued for crawl through that path.

Why it matters

A sitemap that Google can't fetch silently removes one of the most reliable discovery channels for your site. Pages that depend on sitemap submission, such as new product URLs, fresh blog posts, or paginated content, may take much longer to be discovered, indexed, and refreshed.

Common causes
  • The sitemap URL returns 404, 403, or a 5xx error.
  • The server returns HTML (a login page, app shell, or generic error page) instead of XML.
  • The Content-Type header is wrong, e.g. text/html instead of application/xml or text/xml.
  • The XML is malformed: missing declaration, wrong root tag, unescaped characters, or extra leading whitespace.
  • A CDN or WAF blocks Googlebot or returns a JavaScript challenge.
  • A sitemap index works, but its child sitemap URLs are 404 or redirected.
  • Temporary timeout or origin instability while Google was retrying.
How to diagnose it
  1. Open Sitemap Checker and paste the exact URL Search Console submitted.
  2. Confirm the HTTP status is 200 and the Content-Type is XML, not HTML.
  3. Verify the response parses as XML and the root element is <urlset> or <sitemapindex>.
  4. If it's a sitemap index, check that each child sitemap URL is reachable and returns XML.
  5. Test with curl from a different network if your origin only fails for some IP ranges.
How to fix it
  1. 1

    Fix the HTTP status

    Make sure the sitemap URL responds with 200. If it 301/302 redirects, point the canonical sitemap URL at the final destination directly to avoid a confused submission state.

  2. 2

    Set the right Content-Type

    Configure your server, framework, or CDN to return application/xml or text/xml for sitemap files. Many SPAs serve text/html for everything by default, which breaks Google's parser.

  3. 3

    Clean up the XML body

    Ensure there is no whitespace, BOM, or HTML before <?xml. Validate against the sitemap protocol and escape ampersands and angle brackets in URL values.

  4. 4

    Repair child sitemaps in indexes

    If your file is a sitemap index, walk every <loc> and confirm each child sitemap returns 200 with XML. A single broken child can make the whole index look unhealthy.

  5. 5

    Allow Googlebot through your CDN

    Inspect Cloudflare, AWS WAF, or similar. Disable bot challenges for /sitemap*.xml paths and verify with the user-agent Googlebot.

  6. 6

    Resubmit and watch for retries

    After fixing, resubmit in Search Console. Google retries on its own schedule, but a manual resubmit speeds up the next attempt.

FAQ
Does "Couldn't fetch" always mean my pages are not indexed?

No. URLs may still be discovered through internal links, external backlinks, or older sitemap submissions. But you lose the most direct signal you can give Google about which URLs you care about, so discovery and refresh times get worse.

How long does Google take to retry a sitemap?

There is no fixed schedule. Google retries periodically, often within hours to a few days, but you can force a retry by resubmitting the sitemap in Search Console after you've shipped a fix.

Can a sitemap be valid but still have broken child sitemaps?

Yes. A sitemap index can return valid XML at the top level while its child sitemaps return 404 or HTML. Use Sitemap Checker to walk the children and find the broken ones.

Related fixes

Ready to diagnose your URL?

Sitemap Checker runs the exact checks discussed above.

Run Sitemap Checker