Sitemaps guide
How to fix “Sitemap could not be read”
A deterministic checklist for separating fetch failures, HTTP problems, malformed XML, namespace mistakes, and invalid sitemap entries.
7 min read · Updated 2026-08-21
The short answer
Test the sitemap URL as a crawler would, then validate the response body as XML and as a sitemap. A 200 response is not enough: redirects, HTML error pages, a missing sitemap namespace, relative URLs, and invalid child entries can all leave Search Console unable to process the file.Start with the response, not the XML
Open the exact URL submitted to Search Console in a private window and inspect the final response. The sitemap must be reachable without a session, return a successful status, and return the sitemap itself rather than an HTML login page, challenge, or branded 404.
Follow the whole redirect chain. A redirect is not automatically fatal, but it adds another host, certificate, caching layer, and access rule that can fail independently for Googlebot.
- Confirm the final response is HTTP 200.
- Confirm the body begins with XML or the root element, not <!doctype html>.
- Confirm robots.txt and firewall rules do not block the sitemap URL.
- Confirm the submitted hostname and protocol match the canonical site.
Check the smallest valid shape
A URL sitemap has one urlset root in the sitemap protocol namespace. Each url has exactly one loc containing an absolute URL. Remove optional fields while debugging; lastmod, changefreq, and priority cannot rescue an invalid loc.
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://example.com/</loc>
</url>
</urlset>Read the first useful error
XML parsers often report several messages after one defect. Fix the earliest location that points into your document, validate again, and only then act on later messages. A missing quote near the top can make every following element look broken.
After the file validates locally, resubmit it once and wait for another fetch. Repeated submissions do not repair a cached HTTP response or make crawling immediate.
- Malformed XML: repair the first parse error.
- Wrong root or namespace: generate a protocol-shaped sitemap.
- Invalid loc: use a fully qualified, escaped URL.
- Valid locally but unreadable remotely: investigate CDN, firewall, DNS, TLS, and cache behavior.
Prove the fix
- Validate the XMLGet the exact libxml2 error and line before checking sitemap rules.
- Validate the sitemapCheck root, limits, required children, dates, and URLs.
- Look up the parser messageMatch wording from libxml2, Xerces, expat, and .NET.
Related guides
- How to use sitemap lastmod correctlyWhat <lastmod> should measure, which date forms are valid, when to omit it, and why stamping every URL on every deploy destroys the signal.
- How to split a large XML sitemapDivide a sitemap before it crosses protocol limits, build a sitemap index, and choose boundaries that make failures and Search Console reports useful.
Get started
Bring order to the XML your team can't afford to ignore.
Create a free account and get a private workspace to search, validate, diff, and monitor your XML feeds, sitemaps, schemas, and vendor integrations.