sfw/fix
Couldn't fetch high

Sitemap Couldn't Fetch in Search Console

Google failed to retrieve your sitemap file at all, so none of the URLs inside it get discovered through it.

What you see

Sitemaps
Submitted: /sitemap.xml
Status: Couldn't fetch
Discovered URLs: —

What’s actually happening

You submit the sitemap, Search Console accepts the submission, then status flips to "Couldn't fetch" — sometimes immediately, sometimes after a retry or two. It means Google's fetcher never got a usable file back. "Couldn't fetch" is about retrieving the sitemap itself, not the pages listed in it; the URLs inside go undiscovered through this channel until the fetch succeeds. Note the status can lag: a sitemap that now loads fine may sit on a stale "Couldn't fetch" for a day or two.

Common causes

  • The sitemap URL is blocked by robots.txt (a Disallow that also covers /sitemap.xml)
  • Wrong or redirecting URL — you submitted /sitemap.xml but it 301s elsewhere, or the real file is /sitemap_index.xml
  • The server returns 403, 404, or 5xx for the sitemap (firewall, missing file, app error)
  • Invalid XML — a BOM, a leading blank line, an unescaped & in a URL, or an HTML error page served with a .xml name
  • The sitemap is gzipped or served with the wrong Content-Type, or it's so large/slow it times out

How to fix it

  1. Fetch it the way Google doescurl -I https://yourdomain.com/sitemap.xml — you want HTTP/2 200 and content-type: application/xml (or text/xml). A 301/302 means submit the final URL instead; a 403/404/5xx is your real bug to chase.
  2. Confirm robots.txt isn't blocking itOpen /robots.txt and check no Disallow line covers the sitemap path. While you're there, add Sitemap: https://yourdomain.com/sitemap.xml so Google can find it independently. Test the path in Search Console's robots.txt report.
  3. Validate the XML byte-for-bytecurl -s https://yourdomain.com/sitemap.xml | head -c 200 — the very first characters must be <?xml , with no BOM and no blank line ahead of it. Run the body through an XML validator to catch unescaped ampersands or a stray HTML error page wearing a .xml extension.
  4. Check the URL you actually submittedMany CMS/SEO plugins publish an index at /sitemap_index.xml and 404 a bare /sitemap.xml . Open the live file in a browser, copy the URL that genuinely returns XML, and submit that exact one.
  5. Resubmit and give the status time to refreshRemove the broken entry, re-add the working URL, and resubmit. Because the status is cached, treat a 200-returning sitemap as fixed even if Search Console still shows "Couldn't fetch" for a day.

Stop it recurring

After any platform migration or robots.txt edit, curl the sitemap URL and confirm a 200 with valid XML before assuming discovery still works.

Related errors