You've submitted your sitemap in Google Search Console. The green checkmark is there. Everything looks fine.
But there's a bug your dashboard will never show you — and it's quietly limiting how many of your pages Google actually discovers and indexes.
It's a Content-Type header mismatch on your sitemap.xml. And we find it on a significant percentage of funded SaaS sites we audit.
In this article
What is a Content-Type header mismatch?
When your web server delivers any file — a page, an image, a sitemap — it sends an HTTP header telling the browser (and Google's crawler) what kind of file this is. This is the Content-Type header.
For a sitemap.xml file, the correct Content-Type is:
Content-Type: application/xml; charset=UTF-8
or alternatively:
Content-Type: text/xml; charset=UTF-8
When a sitemap is served with the wrong Content-Type — like application/rss+xml or text/html — Google's crawler receives a confusing signal. It fetches the URL, sees a header claiming this is an RSS feed or an HTML page, and may fail to parse the sitemap XML correctly.
🔴 The result: Google can't reliably process your sitemap → your pages aren't discovered → they don't get indexed → they don't rank. All while Google Search Console shows your sitemap as "submitted."
Why Google cares about Content-Type
Google processes billions of URLs daily. Its crawlers are fast and efficient, but they follow web standards. When a response header says Content-Type: application/rss+xml, Googlebot expects RSS feed format — not sitemap XML.
According to Google's own documentation, sitemaps should be served as application/xml or text/xml. Any other Content-Type is non-standard for sitemaps and may cause parsing failures.
The insidious part: Google Search Console's sitemap report often shows a "Success" status even when there's a Content-Type mismatch. It may have fetched and partially parsed the file, but the underlying processing may be incomplete.
You'd only discover the problem if you:
- Noticed unusually low page counts in Search Console's indexed pages
- Found key pages missing from Google's index despite being in the sitemap
- Ran a technical SEO audit that checked HTTP response headers (not just sitemap content)
The three most common sitemap Content-Type errors
1. application/rss+xml
This is the most common error we find in SaaS sites. It happens when:
- The site is built on Webflow and the sitemap generation has a misconfiguration
- A WordPress plugin generates the sitemap and serves it with RSS headers
- A custom sitemap route is added by a developer without specifying the correct Content-Type
The application/rss+xml type is for RSS feeds — the format that powers blog post subscriptions. It is structurally similar to XML but carries different semantic meaning. Google's crawler, when it sees this header, switches to RSS parsing mode. Sitemap-specific elements like <urlset> and <changefreq> may not be understood.
⚠️ We've found this exact bug on funded SaaS sites in fintech, HR tech, and voice AI — including companies with 20,000+ visitor/month traffic. Their sitemap was submitted; Google was silently failing to parse it correctly.
2. text/html
This occurs when a server-side redirect sends Googlebot to an HTML page instead of the actual sitemap XML. Common causes:
- A redirect misconfiguration that sends
/sitemap.xmlto a landing page - An authentication wall that intercepts crawlers and serves a login HTML page
- A CDN rule that incorrectly rewrites sitemap requests
When Google fetches your sitemap URL and gets back HTML, it knows immediately this isn't a sitemap. It will log a parsing error — often silently in Search Console under "Couldn't fetch" or "Couldn't parse."
3. Missing Content-Type header
Less common, but some servers return no Content-Type header at all for sitemap requests. Google then has to guess the file type from the content. While Google is usually good at this, it introduces unnecessary ambiguity and risk.
How to check your sitemap in 30 seconds
You don't need any special tool. Just run this in your terminal:
curl -sI https://yourdomain.com/sitemap.xml | grep -i content-type
You should see:
content-type: application/xml; charset=UTF-8
If you see application/rss+xml, text/html, or anything other than application/xml or text/xml — you have a problem.
Also check your robots.txt to confirm the sitemap URL listed there actually resolves correctly:
curl -s https://yourdomain.com/robots.txt | grep -i sitemap
The URL in robots.txt should match your actual sitemap URL exactly, and that URL should return the correct Content-Type. Mismatches between the two are another common failure point.
How to fix it (by platform)
Webflow
Webflow generates sitemaps automatically, but some configurations produce incorrect headers. The fix:
- Go to Site Settings → SEO → Sitemap and regenerate it
- If the issue persists, contact Webflow support to confirm your sitemap is being served with
application/xml - As a workaround, you can create a custom sitemap at a different URL and serve it via a redirect with the correct headers
WordPress
With WordPress, the fix depends on your sitemap plugin:
- Yoast SEO: Update to the latest version — older versions had an
application/rss+xmlbug for certain sitemap routes. Check your sitemap index at/sitemap_index.xmland individual sitemaps. - Rank Math: Go to SEO → Sitemap Settings and ensure "Enable Sitemap" is on. Rank Math typically serves correct headers; if not, try deactivating/reactivating the plugin.
- Custom sitemap: If you've built a custom sitemap, ensure your PHP includes:
header('Content-Type: application/xml; charset=UTF-8');
Next.js / Vercel
If you're generating sitemaps dynamically in Next.js, ensure your route handler sets the correct Content-Type:
// Using Next.js built-in sitemap generation (recommended)
// In app/sitemap.ts — automatically serves with correct headers
export default function sitemap(): MetadataRoute.Sitemap {
return [{ url: 'https://yourdomain.com', lastModified: new Date() }]
}
If you're using a custom route at /sitemap.xml, set headers explicitly in your API route or Vercel's vercel.json:
{
"headers": [{
"source": "/sitemap.xml",
"headers": [{ "key": "Content-Type", "value": "application/xml; charset=UTF-8" }]
}]
}
Custom / other platforms
Configure your web server (Nginx, Apache, or CDN) to force the correct Content-Type for .xml files:
location ~* \.xml$ {
add_header Content-Type "application/xml; charset=UTF-8";
}
AddType application/xml .xml
Other sitemap bugs to check while you're at it
While you're verifying your Content-Type, do a quick check on these other common sitemap issues:
1. Sitemap URL in robots.txt doesn't match actual sitemap
If robots.txt references /sitemap_index.xml but your actual sitemap is at /sitemap.xml — or vice versa — Google may crawl the wrong URL or fail to find your sitemap at all. Confirm both URLs resolve and return valid XML.
2. Pages blocked by robots.txt but included in sitemap
A classic contradiction. If a URL is in your sitemap but disallowed in robots.txt, Google will see it's listed for indexing but can't crawl it. Either remove it from the sitemap or allow it in robots.txt.
3. Sitemap includes noindex pages
If pages in your sitemap carry a noindex meta tag, Google has to process the contradiction and decide what to do. Best practice: only include pages you want indexed in your sitemap.
4. Sitemap has broken or redirect URLs
All URLs in your sitemap should return 200 OK. Any 301 redirects in the sitemap waste crawl budget; 404 errors are even worse. Run your sitemap URLs through a quick crawler to verify they're all live.
5. Sitemap exceeds limits
Each sitemap file has a 50,000 URL limit and 50MB uncompressed size limit. If your site is large, you need a sitemap index file pointing to multiple sitemaps. Exceeding these limits can cause Google to partially or fully ignore the sitemap.
💡 Pro tip: After fixing any sitemap issue, go to Google Search Console → Sitemaps, delete the old submission, and resubmit. Then request indexing on your most important pages. It can take a few days for Google to re-crawl and update the index.
The bottom line
A sitemap Content-Type error is one of those bugs that's easy to miss and surprisingly common. Your site looks fine. Search Console shows the sitemap as submitted. But Google has been quietly struggling to parse it for months.
The fix, once you've identified the issue, is usually a one-line server configuration change. It takes minutes. But the impact on crawlability and indexation can be significant — especially for larger sites with hundreds of pages.
Run the curl -sI command above on your site right now. If your Content-Type isn't application/xml or text/xml, you've found a ranking-limiting bug. Fix it today.
And if you'd rather have an expert run a full technical audit — covering sitemap issues, schema markup, crawlability, Core Web Vitals, and more — we do that for free.