How to Fix “Sitemap Could Not Be Read” for Hashnode in Google Search Console
Hashnode serves the correct sitemap when you add one small query parameter.

Search for a command to run...
Hashnode serves the correct sitemap when you add one small query parameter.

No comments yet. Be the first to comment.
How a simple rationale-capture skill evolved into a repository-native knowledge lifecycle without a database, daemon, or dashboard.

I turned four months of working with AI coding agents into an open-source skill for preserving the reasoning behind a codebase.

An open, just-for-fun prediction challenge for everyone using ChatGPT, Claude, Gemini, Grok, local models, or any other AI.

Using UBDCC on six low-cost Vultr nodes to synchronize 4026 replicated Binance Spot and Futures DepthCaches, monitor the cluster, and push the REST API with Grafana Cloud k6.

My Hashnode sitemap opened perfectly in the browser:
https://blog.technopathy.club/sitemap.xml
The XML looked valid, all URLs were present, and there was no obvious problem.
Google Search Console still refused to process it.
The error was:
Sitemap could not be read
In the submitted sitemap overview, Google showed:
Couldn't fetch
The solution turned out to be a single query parameter:
/sitemap.xml?sitemap=1
For my publication, the working URL is:
https://blog.technopathy.club/sitemap.xml?sitemap=1
I first submitted the standard Hashnode sitemap:
https://blog.technopathy.club/sitemap.xml
Google Search Console detected no pages and displayed:
Sitemap could not be read
The sitemap overview showed:
Type: Unknown
Status: Couldn't fetch
Discovered pages: 0
Discovered videos: 0
This was confusing because the same sitemap URL worked without any visible issue in a normal browser.
Opening this URL directly displayed a normal XML sitemap:
https://blog.technopathy.club/sitemap.xml
That made the failure look like a Google Search Console issue at first.
But a browser successfully displaying XML does not prove that the server is returning the correct HTTP headers.
Browsers are often tolerant and render the response based on its contents. Search engines and validators may be stricter.
My troubleshooting path eventually led to the sitemap validator at:
The validator reported the exact error:
Incorrect http header content-type: "text/html; charset=utf-8" (expected: "application/xml")
It also marked the sitemap as invalid:
Sitemap is valid: No
That explained the contradiction:
the sitemap content looked correct in the browser,
but the server returned it as text/html,
while the validator expected application/xml,
and Google Search Console therefore refused to process it.
Instead of submitting:
/sitemap.xml
submit:
/sitemap.xml?sitemap=1
For my Hashnode publication, that means:
https://blog.technopathy.club/sitemap.xml?sitemap=1
For another Hashnode publication, use:
https://your-domain.example/sitemap.xml?sitemap=1
That small query parameter makes Hashnode return the working sitemap response.
After submitting the parameterized URL, Google Search Console accepted it.
The overview showed:
Type: Sitemap
Status: Success
Discovered pages: 39
Discovered videos: 0
The detail page confirmed:
Sitemap processed successfully
The difference was only this:
/sitemap.xml
became:
/sitemap.xml?sitemap=1
Open Google Search Console and go to:
Indexing → Sitemaps
Submit:
sitemap.xml?sitemap=1
Or use the full URL:
https://your-domain.example/sitemap.xml?sitemap=1
Google should then recognize the type as Sitemap, fetch the file, and discover the contained pages.
You can inspect the response headers with curl.
Check the standard URL:
curl -I "https://your-domain.example/sitemap.xml"
Then compare it with:
curl -I "https://your-domain.example/sitemap.xml?sitemap=1"
The broken response may contain:
Content-Type: text/html; charset=utf-8
For a proper XML sitemap response, you would expect an XML content type such as:
Content-Type: application/xml
You can also inspect the response body:
curl -L "https://your-domain.example/sitemap.xml?sitemap=1"
The sitemap should contain valid XML and normally begin with something similar to:
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
Before finding this solution, I considered creating a wrapper on a separate subdomain that would:
fetch the Hashnode sitemap,
replace the incorrect HTTP header,
return it as application/xml,
and expose the corrected response to Google.
That would have worked, but it would also have added unnecessary infrastructure and another possible point of failure.
The query parameter solves the problem without:
PHP,
a reverse proxy,
a redirect,
a custom sitemap generator,
or additional hosting.
The standard Hashnode sitemap may look correct in a browser but still fail in Google Search Console because of the HTTP Content-Type header.
Do not submit:
https://your-domain.example/sitemap.xml
Submit:
https://your-domain.example/sitemap.xml?sitemap=1
This fixes the Google Search Console errors:
Sitemap could not be read
and:
Couldn't fetch
In my case, Google then processed the sitemap successfully and discovered all 39 pages.
I hope this quick fix saves you some time if Google Search Console refuses to process your Hashnode sitemap even though it looks perfectly valid in the browser.
Follow me on GitHub, Mastodon, X, and LinkedIn, or join Telegram for updates on my latest publications. Constructive feedback is always appreciated.
Thank you for reading, and happy indexing! ¯\_(ツ)_/¯