In-depth practical guides

Compare two sitemaps before publishing or migrating

Find added or removed URLs, duplicates and lastmod or hreflang changes with a local comparator and an exportable report.

Updated :

Which URLs and metadata actually changed between two versions?

A sitemap describes URLs proposed for crawling. Comparing files checks a publication scope, but does not measure indexing or rankings. Separate the change observed in the file from the checks still needed on the pages.

  1. Freeze comparable versions

    Keep before and after files, their origin and coverage. Compare the same type: an index describes child sitemaps; a urlset describes pages. Identify partial extracts.

  2. Compare addresses without merging them

    The comparator uses exact XML-decoded loc values. Scheme, host, case, trailing slash and parameters remain distinct. Similar removed and added URLs suggest a migration to investigate, not a proven redirect.

  3. Review issues and metadata

    Inspect duplicates and invalid loc values before interpreting totals. For lastmod, identify a significant content change: regeneration alone does not justify a new date. Compare declared hreflang destinations, then check reciprocity on the pages.

  4. Check pages and retain decisions

    Check HTTP responses, canonicals and indexing exclusions for affected URLs. Record reasons for intentional removals and an equivalent replacement if one exists. Export the report, assign actions and repeat after corrections.

Compare two XML sitemaps

Files stay in your browser. No upload or requests to contained URLs. The export includes complete URLs: review it before sharing.

Uncompressed UTF-8; at most 5 MiB and 20,000 entries per file. Two urlset files or two sitemapindex files. Child sitemaps are not downloaded.

Choose two versions to compare.

Situations and decisions

Typical situations for preparing a check. They do not describe completed assignments or actual observations.

A language disappears

French URLs remain while Finnish versions are removed. A modest overall change may hide a language gap: filter URLs and inspect hreflang links.

Every date changes

loc values stay the same and only lastmod changes. Check editorial history before keeping a blanket new date. Equal URL counts do not mean equal metadata.

The index stays stable

Child sitemap references stay identical while their contents may change. An index comparison does not replace the relevant urlset comparisons.

Record to retain

  • Origin, filename, collection date and complete or partial scope of both files.
  • Full report of added/removed URLs, metadata changes, duplicates and skipped entries.
  • HTTP and canonical findings for pages actually checked, with check dates.
  • Decision, owner, correction and verification after regeneration.

Official references

Related protocols

Checks before reaching a conclusion

  • Do both files cover the same site and scope?
  • Do invalid entries or duplicates explain count differences?
  • Is every removal or language change documented?
  • Were affected pages checked separately from the XML file?

Frequently asked questions

Does removing a sitemap URL deindex it?

Removal from the file does not establish removal from the index. Check content, HTTP response and served directives, then the state observable in available tools.

Why keep parameters and trailing slashes?

Different forms may serve different pages or redirects. Automatic merging would hide a difference needing investigation.

Why a lower limit than the protocol?

The protocol permits up to 50,000 URLs and 50 MB uncompressed per sitemap. The comparator uses a lower local limit for manageable browser processing; use segmented files beyond it.

TOOLS / REGISTERS

Write a record

Two uncompressed UTF-8 XML files, at most 5 MiB and 20,000 entries each. No page or child-sitemap download, no image/video extension comparison and no complete protocol validation. Invalid loc values are reported and excluded from matching. The export contains complete URLs.

  • Access date and time zone
  • Exact URL
  • Before/after files and scope
  • Added/removed URLs and changed metadata
  • Duplicates and excluded entries
  • HTTP status / redirect
  • Declared canonical URL
  • Language / region
  • Reason and supporting document
  • Decision / next action
  • Review owner
  • Next review