Staaarter

Sitemap Coverage Checker

Cross-checks a sitemap's <loc> entries against an independently gathered list of URLs (from a crawl, a CMS export, or a manual page inventory), showing which listed pages are missing from the sitemap and which sitemap entries no longer appear in the current list. A free online tool from Staaarter, right in your browser.

Runs locallyUpdated 2026-08-04
By Staaarter Team
checkerauditsitemap

Overview

Introduction

A sitemap is only useful if it actually reflects the site it describes. Pages get added without anyone regenerating the sitemap, sitemaps get regenerated without removing pages that were deleted months ago, and neither gap shows up just by opening the sitemap file and reading it, since it always looks internally consistent on its own.

This tool catches both kinds of drift by comparing the sitemap against a second, independent source of truth: a plain list of URLs you already have from a crawl, a CMS export, or a manual page inventory.

What Is Sitemap Coverage Checker?

A cross-checker that parses a sitemap's <urlset> entries (reusing the same parser as the XML Sitemap Validator) and diffs its URL set against a pasted list of URLs, one per line.

The output is two lists: URLs present in your list but missing from the sitemap, and URLs present in the sitemap but missing from your list. Neither direction is inherently the "good" one; both are gaps worth reviewing for different reasons.

How Sitemap Coverage Checker Works

The sitemap XML is parsed and validated using the same logic as the XML Sitemap Validator tool, so a malformed sitemap is reported as a parsing error rather than silently producing an empty comparison.

Each <loc> value and each pasted URL is normalized (lowercased host, trailing slash on the path stripped, fragment dropped) before comparison, then the two normalized sets are diffed in both directions to produce the missing-from-sitemap and missing-from-list results.

When To Use Sitemap Coverage Checker

After a crawl of your own site, to confirm every page the crawler found is also listed in the sitemap you submit to search engines.

After a CMS migration or bulk content import, to catch pages the migration created that never made it into the sitemap generator's scope.

Periodically on a large site, to catch sitemap entries for pages that were quietly deleted or redirected away without the sitemap being regenerated.

Features

Advantages

  • Catches drift in both directions at once (pages missing from the sitemap and stale entries still in it) instead of only checking one.
  • Works with any URL list you already have; it doesn't require live crawling or an account with a third-party crawling service.
  • Reuses the same battle-tested sitemap XML parser as the XML Sitemap Validator, so malformed sitemap XML is caught the same way in both tools.

Limitations

  • This tool is only as good as the URL list you provide; a stale or incomplete list will produce a misleading "missing from sitemap" result, since it can only compare against what you paste in.
  • The underlying sitemap parser caps the URL entries it returns at 200 for display and comparison purposes; sitemaps larger than that will show a truncation notice, and the missing-from-list side of the comparison may be incomplete for the remainder.
  • URL normalization treats paths differing only by a trailing slash as the same page, which is usually the right call but can mask an actual duplicate-content issue if the site serves genuinely different content at each variant.

Examples

A page missing from the sitemap

Input

Sitemap: https://example.com/, https://example.com/about
List: https://example.com/, https://example.com/about, https://example.com/pricing

Output

Missing from sitemap: https://example.com/pricing

The /pricing page exists in the URL list but has no matching <loc> entry in the sitemap, so it's flagged as a coverage gap.

Best Practices & Notes

Best Practices

  • Regenerate the sitemap and re-run this check right after any bulk content change (migration, mass redirect, category restructuring), when drift is most likely to be introduced.
  • Treat a large "missing from sitemap" list as higher priority than a large "missing from list" one; undiscovered live pages usually cost more in lost search visibility than stale sitemap entries do.
  • Cross-reference "missing from list" entries with a redirect or broken-link checker before deleting them from the sitemap; some may still be valid pages your crawl source simply missed.

Developer Notes

Comparison happens entirely client-side on normalized string keys built from URL.hostname/pathname/search, not on parsed URL objects, so the diff cost stays O(n) via two Maps rather than an O(n²) nested loop even on a full-size 200-entry sitemap.

Sitemap Coverage Checker Use Cases

  • Confirming sitemap coverage after adding new blog posts or product pages before resubmitting the sitemap to Search Console
  • Auditing an inherited site's sitemap against a fresh crawl to see how far it's drifted from reality
  • Verifying a sitemap-generation script's output against a hand-maintained list of pages that must always be included

Common Mistakes

  • Comparing a sitemap against a URL list pulled from the sitemap itself (e.g. via a sitemap-aware crawler), which produces a trivially perfect match and defeats the purpose of the check.
  • Ignoring the truncation notice on very large sitemaps and assuming a clean "missing from list" result means full coverage, when only the first 200 entries were actually compared.

Tips

  • If most entries land in "missing from sitemap," check whether the sitemap generator runs on a schedule or only manually; a stale scheduled job is the most common root cause.

References

Frequently Asked Questions