ShipworkSite inspection
Sitemap

Crawlability

PaginationAre paginated pages set up right?Internal searchIs site search eating crawl budget?URL parametersAre parameters creating duplicates?Log analyserWhat does Googlebot actually crawl?Robots builderNeed a robots.txt file?Soft 404sAre pages “not found” but returning 200?JavaScriptCan crawlers see it without running JS?FreshnessIs my site quietly going stale?Robots.txtDoes robots.txt say what I think?

Indexing

Sitemap lastmodAre my sitemap dates valid?SitemapIs my sitemap actually fetchable?IndexingIs Google allowed to index my pages?CanonicalsIs Google indexing the wrong URL?Index signalsDo sitemap and index signals agree?Sitemap generatorNeed a sitemap.xml for my site?Bulk URL statusWhere does each of these URLs really land?Redirect builderNeed the redirect rules?RedirectsAre my URLs answering directly, over HTTPS?

On-page

Keyword ideasWhat are people searching for?SERP previewHow does my page look in Google?Content qualityAre your pages too thin or too alike?Image weightAre images slowing the page?CannibalizationAre pages competing with each other?On-page checkDoes the page use its target phrase?ImagesAre my images accessible and loading?Meta tag builderWhat should my title and share tags say?DuplicatesDo my pages compete for one query?

Links

Orphan pagesWhich pages can no link reach?Link graphHow deep do your pages sit?Anchor textDo links say what they point at?Outbound linksAre external links still alive?Broken linksAre internal links sending visitors nowhere?

Structured data

Rich resultsIs my markup eligible for a rich result?Structured dataIs my product schema valid?Schema coverageDo my key pages carry structured data?Social previewHow does my page look when shared?Schema vs pageDoes markup match the page price?Schema builderNeed valid JSON-LD?

International

Hreflang sitemapDo page and sitemap hreflang agree?HreflangDo my language versions link back?Hreflang builderNeed the hreflang tags?Redirect planMy site has dead links — what redirects do I write?Sitemap diffIs anything missing from my sitemap?Robots simulatorWhat does my robots.txt actually block?Can Googlebot?Can Googlebot fetch this URL?
Every error, explainedGuides
Pricing Learn Error guides Run free audit
Sign in

Sign in free and get one more free check this month. Your account keeps your reports, watches and connections on any device.

Sign in with GoogleOpens your account, or creates a free one Sign in with work emailWe email you a 6-digit code PricingPlans and credit packs for the paid jobs

All errorsSitemap could not be read

What "Sitemap could not be read" and "Couldn't fetch" really mean, and when to wait

What the error means

Search Console reports that it could not read the sitemap you submitted. Sometimes the reason is "General HTTP error"; often the status simply reads "Couldn't fetch" with 0 discovered URLs, even though the file opens in your browser.

Why Google rejects it

The status appears for two different reasons. Either Google really could not fetch or parse the file (a block, an error, invalid XML), or it has not processed a newly submitted sitemap yet and shows a placeholder status. The second case is common on new properties and clears without changes.

Couldn't fetchReal block or bad XMLNot processed yet
Same status, two causes. Test the file before waiting.

How to fix it

  1. Open the submitted sitemap URL in a private window and confirm it returns XML starting with <urlset or <sitemapindex.
  2. Check what an outside request receives, not your browser: a 403 or challenge page to crawlers produces this status.
  3. If the sitemap is an index, open one child sitemap too; a failing child can make the set unreadable.
  4. If everything returns 200 and valid XML, wait several days before changing anything. Newly submitted sitemaps often show Couldn't fetch until Google processes them.
  5. Do not keep deleting and resubmitting. Submit the correct URL once and check the Last read date.

Common causes

Sitemap is not yet processed

A newly submitted sitemap or a property with little history may show a placeholder or zero discovered URLs while Google has not completed a read. Check Last read and fetch details before changing a valid file. Repeatedly deleting and re-adding the sitemap can make diagnosis harder.

Google receives an error or challenge

A sitemap that opens in a logged-in browser may return 403, 429, 5xx, or a login page to Google. Robots rules can also block the sitemap itself. Test the exact submitted URL from outside the store and inspect edge logs.

Sitemap XML cannot be parsed

A response may contain HTML, invalid XML, an unescaped ampersand, or text injected before the XML declaration. If the submitted URL is an index, inspect child sitemaps too; one broken child can explain a partial read.

Wrong URL or stale sitemap host

Google fetches the exact address submitted. A sitemap on an old host, wrong protocol, or guessed path can fail even while a different sitemap works. Verify the live URL advertised by the platform or robots.txt.

Fix it on your platform

On Shopify

  1. Open the primary storefront domain's /sitemap.xml in a private window. Shopify generates it automatically and lists child files; do not upload a replacement file unless you understand the platform behavior.
  2. Submit the sitemap that matches the verified Search Console property and primary domain. Check that storefront password mode is off for public crawling.
  3. Open child sitemap URLs from the index and confirm each returns XML. Review CDN or security app rules if public requests differ from your browser.
  4. If the file is valid and accessible but just submitted, check Last read later rather than repeatedly resubmitting.

On WooCommerce

  1. Identify the active sitemap generator: WordPress core commonly uses /wp-sitemap.xml, while SEO plugins may publish a sitemap index. Submit the live address that actually responds.
  2. Avoid conflicting sitemap plugins. Inspect the index and child files for PHP notices, invalid XML, HTML error pages, or stale URLs.
  3. If virtual sitemap paths return 404 after a permalink change, save the existing Settings > Permalinks configuration to refresh rewrite rules.
  4. Check cache and security plugins for blocks or stale output on XML routes, then retest as an anonymous request.

On other platforms

  1. Locate the published sitemap URL in the platform's current SEO settings or generated robots.txt file; avoid guessing a conventional filename.
  2. Confirm the sitemap is publicly available on the canonical host and returns XML rather than preview, login, or challenge HTML.
  3. On custom sites, validate UTF-8 XML and verify every child sitemap in an index. Keep individual files within Google's size and URL limits.
  4. Check robots.txt and firewall rules for blocks on both the sitemap and the crawler requests to its children.

How to confirm it is fixed

  1. Open the exact sitemap URL from Search Console's details page and confirm its response and XML structure.
  2. If it is an index, test each child file directly and check that all listed URLs use the preferred host and protocol.
  3. Run the sitemap check from outside your network, then resubmit only after correcting a concrete fetch or parse issue.
  4. Check Last read and discovered URL count after Google processes it; successful processing does not guarantee crawling or indexing of each URL.

A worked example

Hypothetical case: a Shopify merchant submits a sitemap under an old www hostname after switching the store's primary domain. The old address opens in the owner's browser because it redirects, but a CDN rule challenges crawler requests to the child sitemap paths. Search Console reports Couldn't fetch with no useful discovery count. The owner confirms the live /sitemap.xml on the primary domain, removes the obsolete submission, and checks each child URL without cookies. They also narrow the CDN challenge for verified search crawlers. A later Last read date confirms Google fetched the sitemap; the merchant tracks indexing in the Page indexing report separately.

Questions

Why does Search Console say sitemap could not be read when it opens in my browser?
Your browser may have a session or receive a different response than Googlebot. The crawler may get a block, login page, server error, or invalid XML. Test the exact submitted URL from outside your network, inspect the index's child files, and check robots and firewall rules.
Should I keep resubmitting a sitemap that says Couldn't fetch?
First confirm that the exact submitted URL is public, valid XML, and not blocked. If it has just been submitted and works correctly, wait for Google's Last read update rather than deleting and resubmitting repeatedly. Resubmission cannot repair a wrong URL or inaccessible child sitemap.
Does a successful sitemap read mean my pages will be indexed?
No. It means Google could retrieve and parse the sitemap. A sitemap helps discovery but does not guarantee that Google will crawl or index every listed URL. Keep only canonical, useful URLs in the sitemap and inspect page statuses separately.
Find out if this is happening to you

Shipwork fetches your sitemap from outside your network, follows the first child in an index, validates the XML and checks sample URLs inside it. Free, no account, no signup. Paste your store address.

Check my store for Sitemap could not be read

Go deeper: Sitemap fetch errors, fixed

See the check: XML sitemaps, inspected

Other errors like this