Sitemap Snapshot Diff
Pricing
$5.00 / 1,000 complete sitemap comparisons
Sitemap Snapshot Diff
Compare two saved XML sitemaps without hosting the old snapshot. Paste before/after urlset XML; get added, removed and metadata-changed URLs in one JSON report. USD0.005 per completed comparison.
Pricing
$5.00 / 1,000 complete sitemap comparisons
Rating
0.0
(0)
Developer
Vladimir Oprea
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
6 days ago
Last modified
Categories
Share
Compare two saved XML sitemaps before and after a site release or migration.
Paste the old and new urlset XML into the input form; you do not need to host
an old copy at a public URL. Get one JSON report with added URLs, removed URLs,
metadata changes and unchanged counts. No page or sitemap URLs are fetched.
When to use it
Use this for two snapshots of the same sitemap scope. For example, compare an exported product sitemap before a release with its export after the release. A URL missing from the second snapshot is reported as removed from that snapshot, not as a deleted page, a broken link or a search-indexing change. If one snapshot is incomplete, the Actor cannot know what was omitted.
Input
beforeXml: complete earlier XMLurlsettext.afterXml: complete later XMLurlsettext.
Each input is limited to 2,000,000 UTF-8 bytes and 5,000 <url> entries.
Standard sitemap namespace or unnamespaced urlset files are accepted.
Sitemap indexes, gzip files, DTDs and custom XML entities are rejected.
Unzip files and supply the matching child urlset yourself where applicable.
Invalid input, excessive size, missing/invalid loc or conflicting duplicate
URL metadata fails the entire comparison; it is never silently truncated.
Identical duplicates collapse to one URL, with duplicate counts in the report.
Reading the report
The default dataset contains one row per completed comparison, including
when the two snapshots have no differences. Its changes array contains one
object per added, removed or metadata-changed URL. Unchanged URLs are counted,
but are not repeated in the array. Export JSON to preserve this nested structure.
SUMMARY records completion, input error or an insufficient run budget.
URLs match by exact loc text after XML entity decoding and trimming outer
whitespace. HTTP and HTTPS, www and non-www, path case, query strings and trailing
slashes remain different URLs. lastmod, changefreq and priority compare as
trimmed strings: equivalent dates or numeric formats can appear as changes.
Other sitemap extensions, such as image/video/hreflang data, are ignored.
This is a snapshot comparator, not a full sitemap protocol validator.
Synthetic example: an old snapshot lists /keep with lastmod 2026-09-01 and
/old; a new snapshot lists /keep with lastmod 2026-09-02 and /new.
The report has added: 1, removed: 1, changed: 1, unchanged: 0.
Use the prefilled synthetic example to see that structure before your own data.
Price and limits
USD0.005 per completed comparison report (USD5 per 1,000 reports), including reports with zero changes. Platform usage is included. There is no start fee, per-URL fee or extra dataset-item fee. Invalid-input and insufficient-budget runs store no comparison report and charge no comparison event. Set a run budget of at least USD0.005 for one report. Each later completed run is a new report and charges again, even with the same inputs.
This Actor does not crawl, retain cross-run comparison state, set schedules, send alerts, rewrite sitemaps or determine SEO impact. You provide both snapshots. Inputs and output are stored in your Apify run storage under its retention and access settings. Only submit sitemap data you are authorized to process; omit credentials, private URLs and sensitive query parameters.
Built by EcomOpsKits. See the Sitemaps protocol for the source XML format. A no-change report only means the compared URL and supported metadata strings agree; it does not establish site health.