Direct answer: Paste a sitemap XML (urlset or sitemapindex) and the tool checks six things locally: does it parse, what is the root element, does it exceed 50,000 URLs or 50MB, are loc values absolute and on the same host, are URLs duplicated, and do lastmod values look like dates. It does not crawl and does not judge indexing.

In the earlier scan, only 13 of 24 sites served a usable sitemap; two returned 200 without being a sitemap (empty body, HTML) and nine returned 404. That measured "is it there". This tool measures "is it right once it is there".

Structure, not indexing

Parsing, count, host, duplicates, lastmod.
Passing is not crawled, and not indexed.
No network: it only reads the pasted XML.

The tool: paste → check

      The list shows the first 20 problems; counts cover every entry.

      The default sample reports three issues: /product and /product/ count as duplicates, one lastmod is written as 02/11/2026, and one loc points at another domain. Clear the site URL and the cross-host warning disappears — the host check depends on the base you provide.

      Six checks

      CheckLevelMeaning
      XML parsesErrorClosing tags, encoding, entities
      Root elementErrorMust be urlset or sitemapindex
      Entry limitsError50,000 URLs, 50MB per file
      Absolute locErrorRelative paths are invalid
      Host consistencyWarningDiffers from the site URL provided
      Duplicates / lastmodWarningTrailing-slash duplicates; non-W3C dates

      Five common problems

      1. HTML served as a sitemap. A soft-404 or front-end fallback page that returns 200 but fails XML parsing.
      2. Too many URLs in one file. Over 50,000 belongs in a sitemapindex with children, or the file may be ignored.
      3. Relative locs. /product is not an absolute URL.
      4. Duplicates. With and without a trailing slash, or with parameters, are treated as separate pages.
      5. Local date formats. 02/11/2026 is ambiguous, so machines can only ignore it.

      Boundaries

      • No fetching: it reads pasted text and does not know the live status code.
      • No indexing claim: correct structure is only a candidate condition.
      • No index recursion: child sitemaps must be pasted and checked one by one.
      • No lastmod truth check: format only, not freshness.

      Tests and recalculation

      The logic lives in js/sitemap-check.js (no dependencies, no network); scripts/test_sitemap_check.js covers 30 assertions: URL normalisation, host extraction, date formats, missing/relative locs, cross-host, duplicates, the 50,000 and 50MB limits, index and empty sets. Run:

      node scripts/test_sitemap_check.js

      Related: the 24-site sitemap scan (13 usable, 9 404, 2 fake), the robots.txt matcher and the 12 acceptance clauses.

      Sources and definitions

      1. sitemaps.org protocol (50,000 URLs, 50MB, W3C Datetime for lastmod): sitemaps.org.
      2. W3C Datetime format: w3.org.
      About the author

      Lingyi Information Official (delivery team) works on requirements, solutions and acceptance for corporate websites, brand systems and smart manufacturing projects. This is a rules implementation and method note; a result describes only the pasted XML and promises nothing about indexing, ranking or traffic.

      Put sitemap structure into acceptance

      URL limit, host consistency, duplicates and lastmod format, recorded with a file hash and capture time.

      Request a sitemap review