Sitemap XML Content-Type Errors: The Silent Bug Killing Your Rankings

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

  1. What is a Content-Type header mismatch?
  2. Why Google cares about Content-Type
  3. The three most common sitemap Content-Type errors
  4. How to check your sitemap in 30 seconds
  5. How to fix it (by platform)
  6. Other sitemap bugs to check while you're at it

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:

Correct Response Header
Content-Type: application/xml; charset=UTF-8

or alternatively:

Also Acceptable
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:

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 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:

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:

Terminal Command
curl -sI https://yourdomain.com/sitemap.xml | grep -i content-type

You should see:

What you want to 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:

Check robots.txt
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:

  1. Go to Site Settings → SEO → Sitemap and regenerate it
  2. If the issue persists, contact Webflow support to confirm your sitemap is being served with application/xml
  3. 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:

Next.js / Vercel

If you're generating sitemaps dynamically in Next.js, ensure your route handler sets the correct Content-Type:

Next.js App Router — sitemap.ts
// 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:

vercel.json — Force correct Content-Type
{
  "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:

Nginx — nginx.conf
location ~* \.xml$ {
  add_header Content-Type "application/xml; charset=UTF-8";
}
Apache — .htaccess
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.

Is your sitemap silently broken?

Get a free technical SEO audit. We'll check your sitemap headers, schema, crawlability, and everything else — then tell you exactly what to fix.

Get Your Free Audit →

Related reading: Technical SEO Checklist for SaaS · Fix Noindex & Canonical Issues · Schema Markup for SaaS · Why Your SaaS Website Isn't Ranking · Crawl Budget Optimization