Sitemap Checker: Validate sitemap.xml Online

Check XML sitemap: URL count, lastmod, priorities, validity. Sitemap index support.

Sitemap.xml Analysis — Site Map Check

Check the XML sitemap: URL count, lastmod dates, priorities, XML validity. Auto-detect sitemap via robots.txt. Ensure the sitemap is correct and helps indexation.

Automatic sitemap detection
URL count
Lastmod date check
Priority and frequency analysis
XML syntax validation
Sitemap index support

How to Use

  1. Enter domain or direct sitemap.xml link
  2. Wait for sitemap parsing and analysis
  3. Fix errors and update outdated dates

Use Cases

  • Validate a sitemap before submitting it to Google Search Console.
  • Monitor large sitemap files after URL migrations.

Limitations

  • Validates sitemap structure but does not guarantee URL indexation.
  • Very large sitemap files may require longer processing time.

Example Input / Output

Example Input
https://example.com/sitemap.xml
Example Output
URLs: 1240, lastmod coverage: 78%, and 2 XML structural issues.

FAQ

Enter a domain or a direct sitemap.xml link. We find the sitemap via robots.txt, validate the XML, count URLs and parse nested sitemap indexes, lastmod dates and priorities. After fixing it, resubmit the sitemap in Google Search Console.

Only canonical pages returning 200. Remove redirects, 404s, noindex pages, parameter duplicates and non-canonical versions — those URLs confuse Google and waste crawl budget.

Yes, especially for sites with 100+ pages, new sites, sites with deep structure. Sitemap helps Google discover and re-index pages faster.

Sitemap should update automatically when pages are added/changed. Lastmod dates should be current — Google uses them to prioritize re-crawling.

How to check a sitemap online and read the report

To check a sitemap.xml online, enter a domain or the direct sitemap URL in the field above. With a bare domain, the tool first reads the Sitemap: lines in robots.txt, then tries /sitemap.xml and /sitemap_index.xml, and uses the first URL that returns 200 and contains <urlset> or <sitemapindex>. If your sitemap exists but isn't found, it isn't listed in robots.txt and lives at a non-standard path — paste the full file URL instead.

The sitemap report gives a 0–100 score plus a few counters. The score is a simple set of deductions:

FindingPenaltyFix
Empty sitemap: no URLs and no child sitemaps−40Check the generator — usually a stale plugin cache or a sitemap built before pages were published.
Invalid XML−20Look for an unescaped & in URLs, a BOM or whitespace before <?xml, or a PHP warning printed at the top of the file.
Fewer than half of URLs have lastmod−15Turn on modification dates in your generator.
More than 50,000 URLs in one file−20Split it into several files and list them in a sitemap index.

The “Fresh (90 days)” and “Older than a year” counters show how lastmod dates are distributed. If every URL carries today's date, the generator is stamping the build time rather than the real edit date, and Google soon stops trusting that lastmod. If the file is a sitemap index, the report lists its child sitemaps — paste each child URL separately to validate it.

Sitemap requirements Google actually enforces

  • Limits: 50,000 URLs and 50 MB uncompressed per file. A sitemap index can reference up to 50,000 sitemaps. Gzip is allowed, but the 50 MB limit applies to the uncompressed size.
  • UTF-8 encoding with entity escaping: & → &amp;, < → &lt;, ' → &apos;.
  • Absolute URLs on the same protocol and host as the site: https://example.com/page/, not /page/ or http://www.example.com/page/.
  • lastmod in W3C Datetime format: 2026-10-12 or 2026-10-12T09:30:00+00:00. Google uses lastmod when it is consistently and verifiably accurate — tied to real content changes, not to file generation or a footer update.
  • priority and changefreq are ignored by Google. Keeping them is harmless; tuning them is wasted effort.

What should not be in your sitemap

A sitemap is the list of pages you are asking Google to index. Every junk URL in it sends a contradictory signal:

  • 301/302 redirects — list the final URL. Classic cause: an http→https or trailing-slash migration the generator never picked up.
  • 404 and 410 pages — deleted products and posts the plugin forgot to drop.
  • noindex pages — you request indexing and forbid it at the same time. Search Console reports this as “Submitted URL marked ‘noindex’”.
  • Non-canonical URLs — if rel="canonical" points elsewhere, the sitemap should contain the canonical target.
  • Parameter URLs — filters, sort orders, UTM tags, WordPress ?replytocom=.
  • URLs blocked in robots.txt — Google can't crawl them anyway.

The sitemap analyzer doesn't request the listed pages, so it won't see their status codes. Take the URL list from the report and run it through the HTTP status checker, and verify crawl rules with the robots.txt checker.

How to find a website's sitemap

  • robots.txt — the line Sitemap: https://example.com/sitemap_index.xml. The most reliable source, and the first place this tool looks.
  • WordPress core (5.5+) — /wp-sitemap.xml.
  • Yoast SEO and Rank Math — /sitemap_index.xml; both disable the core WordPress sitemap.
  • Shopify, Wix, Squarespace — generated automatically at /sitemap.xml.

No sitemap at all? Build one with the sitemap generator and reference it in robots.txt so every search engine finds it, not only the ones you submit to manually.

Example of a valid sitemap.xml

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url>
    <loc>https://example.com/catalog/shoes/</loc>
    <lastmod>2026-10-01</lastmod>
  </url>
  <url>
    <loc>https://example.com/search/?q=boots&amp;sort=price</loc>
  </url>
</urlset>

The second URL is only there to show &amp; escaping — search and sort pages don't belong in a real sitemap. A sitemap index looks like this:

<?xml version="1.0" encoding="UTF-8"?>
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <sitemap>
    <loc>https://example.com/sitemap-posts.xml</loc>
    <lastmod>2026-10-10</lastmod>
  </sitemap>
  <sitemap>
    <loc>https://example.com/sitemap-products.xml.gz</loc>
  </sitemap>
</sitemapindex>

Search Console sitemap statuses explained

Submit the sitemap under “Sitemaps” in Search Console (see connecting Search Console). The old google.com/ping?sitemap= endpoint was retired in 2023 — Search Console and the robots.txt line are what's left.

  • “Couldn't fetch” — Googlebot failed to download the file. It can appear briefly right after submission; if it persists for a day or more, the file returns 404/5xx, is blocked in robots.txt, sits behind authentication, or a firewall or Cloudflare rule is blocking Googlebot. If this tool opens the sitemap but Google can't, bot blocking on the server is the usual culprit.
  • “Has errors” — the file was fetched but parts couldn't be parsed: broken XML, wrong date format, URLs from another host.
  • “Discovered – currently not indexed” in the Page indexing report — Google knows the URL (often from the sitemap) but hasn't crawled it yet. That's not a sitemap problem: it points to crawl budget, weak internal linking or low perceived value. Link to those pages internally and remove junk URLs from the sitemap that eat the budget.

A quick way to confirm the server serves the sitemap to Googlebot is a request with its user agent:

curl -sI -A "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)" https://example.com/sitemap.xml

You want HTTP/2 200 (or HTTP/1.1 200) and Content-Type: application/xml or text/xml. A 403 or a browser-challenge page means a protection layer is blocking the bot — add a verified-bots exception to your WAF rules. This only tests the user agent; real Googlebot comes from Google IP ranges, so IP-based rules need a separate check.

To see how many sitemap pages are actually indexed, use the site index checker.

Sitemaps for large and multilingual sites

With tens of thousands of pages, split the sitemap by content type — products, categories, articles. Search Console then shows which section indexes worse, and a generator failure breaks one file instead of the whole sitemap. Language versions can be declared directly in the sitemap with xhtml:link; each URL lists every alternate, including itself:

<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
        xmlns:xhtml="http://www.w3.org/1999/xhtml">
  <url>
    <loc>https://example.com/page/</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://example.com/page/"/>
    <xhtml:link rel="alternate" hreflang="de" href="https://example.com/de/page/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://example.com/page/"/>
  </url>
</urlset>

The German URL in the same file must carry the identical set of links; Google drops pairs without a return link. Check reciprocity and x-default with the hreflang validator. The full format is in Google's documentation.

Improve search rankings

SEO problems may be costing you traffic. Cascade link building will improve site visibility in search.

Cascade link promotion for your site $30 bonusBacklinks 5→50→5000 across 100+ platforms. From $30 to start, plus a $30 bonus for newcomers.