Sitemap Not Working? Fix “Couldn’t Fetch” and “Could Not Be Read”
What does “Couldn't fetch” or “Sitemap could not be read” mean?
It means Google couldn't download your sitemap file. Google's help lists five causes: robots.txt blocking it, a manual action, a wrong URL, a server or other HTTP error, and low crawl demand.
- •Test the sitemap URL in URL Inspection: you want Page fetch = Successful.
- •“Has errors” is different: Google got the file, but parts didn't parse.
- •After a failed fetch, Google retries for a few days, then stops.
- •“Success” with few pages indexed is not a sitemap problem.
First, Which Problem Do You Have?
“My sitemap isn’t working” can mean three different things in Search Console’s Sitemaps report (Indexing > Sitemaps). The status tells you which:
| What you see | What it means | Go to |
|---|---|---|
| Couldn’t fetch (details page: “Sitemap could not be read”) | Google couldn’t download the file at all | Fetch problems, below |
| Has errors | Google got the file, but some of it couldn’t be parsed. URLs it could read are still used | Parsing errors, below |
| Success, but pages aren’t indexed | The sitemap works; Google chose not to index some pages | “Success but not indexed,” below |
Test the Sitemap the Way Google Does
Google’s help suggests confirming a fetch error in URL Inspection: paste the sitemap URL, click Test live URL, and open Page availability. You want “Crawl allowed?” = Yes and “Page fetch” = Successful. Whatever fails there is your cause. From a terminal, one command shows the status code, any redirects and the content type:
curl -sIL https://example.com/sitemap.xml | grep -iE '^(HTTP|location|content-type)' # Healthy: HTTP/2 200 and content-type: application/xml (or text/xml) # A 301/302 first, a 403, a 404 or a 5xx points to the causes below
Fetch Problems: “Couldn’t Fetch”
Google’s help lists five reasons Google can’t retrieve a sitemap. Work through them in this order; the first two cover most cases.
1. The URL is wrong (404)
The file isn’t at the address you submitted. It often moves when you change plugins: WordPress core serves /wp-sitemap.xml, while Yoast and Rank Math serve /sitemap_index.xml. Open the URL in a private window. If it 404s, find the real address (the Sitemap: line in /robots.txt is the usual place) and submit that one. Also make sure the sitemap sits on the same host as your Search Console property: a sitemap at https://www.example.com/ doesn’t belong in a property for https://example.com/.
2. robots.txt blocks it
Google respects robots.txt when fetching sitemaps. Look for rules that match the sitemap path, including broad patterns such as Disallow: /*.xml or a leftover Disallow: / from a staging site. Remove the rule, or add an Allow: for the sitemap URL.
3. A server or HTTP error
A 5xx, a timeout or another HTTP error. Some are temporary, so check whether Google keeps hitting it on later attempts. Common real causes: a firewall, CDN or security plugin that challenges bots (Googlebot can’t pass a CAPTCHA or login), HTTP authentication left on after launch, and very large sitemaps built from the database on every request. Allow Googlebot through the firewall, remove the login, and cache or pre-generate big sitemaps.
4. The site has a manual action
Google doesn’t read sitemaps while a manual action is unresolved. Check Security & Manual Actions > Manual actions, fix the issue, and then resubmit.
5. Low crawl demand
Sometimes nothing is broken: Google just isn’t prioritizing the file. Its help ties crawl demand to the quality of the site’s content. If the live test passes and the status still says “Couldn’t fetch,” resubmit once and focus on the pages themselves. See discovered - currently not indexed for the crawl-demand side.
Google says that after a failed fetch it retries for a few days, then stops if the sitemap is still unavailable. So once you’ve fixed the cause, submit the sitemap again.
Parsing Problems: “Has Errors”
Click the sitemap row to see the error names. These are the ones from Google’s list that come up most:
- Parsing error: Google couldn’t parse the XML, often because of an unescaped character in a URL. Write
&as&, and escape< > " 'too. - Leading whitespace: something prints before the
<?xmlline, often a stray space or blank line from a theme or plugin file. Google says this won’t stop processing, but it’s worth removing. - Invalid date:
lastmodisn’t in W3C Datetime format. Use2026-09-25or2026-09-25T10:30:00+00:00. - Incorrect namespace or Unsupported format: the root element must declare
xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"(plus the image, video or news namespace if you use those tags). - Too many URLs or a file-size error: more than 50,000 URLs or 50MB uncompressed. Split the file and list the parts in a sitemap index.
- Nested sitemap indexes: an index may list sitemaps, not other indexes.
- URL not allowed or Path mismatch: the sitemap lists URLs on a different host or above its own folder, or mixes www and non-www. List only URLs that match the sitemap’s own host.
- Temporary error: a problem on Google’s side. Google says you usually don’t need to resubmit; if it’s still there after several hours, resubmit.
Every error name with its fix is in sitemap errors in Search Console.
“Success” but Pages Aren’t Indexed
Success means Google read the file. “Discovered pages” is how many URLs it parsed, not how many are indexed, and Google says there’s no guarantee they’ll be crawled or indexed. To see what happened to them, open the Page indexing report and filter it by that sitemap. The reasons listed there, such as crawled - currently not indexed, soft 404 or page with redirect, are about the pages, not the sitemap.
The sitemap can still make that worse if it lists the wrong URLs. Keep it to canonical pages that return 200, have no noindex tag, and aren’t blocked by robots.txt.
Platform Notes
- WordPress: submit the sitemap your site actually serves (
/sitemap_index.xmlwith Yoast or Rank Math,/wp-sitemap.xmlwithout). Caching and security plugins are the usual suspects for fetch errors. - Shopify:
/sitemap.xmlis generated for you and can/sitemap.xmlis generated for you and can’t be edited, sorsquo;t be edited directly, so fetch problems usually come from the domain or property setup, not the file. - Wix:
/sitemap.xml; connecting Search Console through Wix’s SEO Setup Checklist submits it for you (Premium plan and connected domain needed). - Next.js:
app/sitemap.tsis served at/sitemap.xml. Make sure middleware or auth doesn’t cover that path, and that URLs use your production domain. See the Next.js sitemap guide.
After You Fix It
Submit the sitemap again in the Sitemaps report. You don’t need to delete it first; Google’s help notes that deleting a sitemap from the report doesn’t make Google forget it anyway. Keep a Sitemap: line in robots.txt as well, so Bing and other crawlers can find the file without a submission.
FAQ
Does “Couldn’t fetch” stop my pages from being indexed?
Not directly. Google can still find pages through links. But it can’t use the sitemap to discover new pages or see lastmod changes until the fetch works.
What does “Sitemaps temporary processing error” mean?
Search Console calls it “Temporary error”: a problem on Google’s side. Google says to wait, and to resubmit only if it lasts more than several hours.
The sitemap opens in my browser. Why can’t Google fetch it?
Your browser isn’t Googlebot. Firewalls, bot protection and geo rules can treat the two differently, and robots.txt only applies to crawlers. The URL Inspection live test shows what Google gets.