Sitemap Compare
Compare two sitemap URLs or two pastes and list the page URLs that were added, removed, or shared between the two files.
Read this
The comparison Sitemap Compare is for
Sitemap Compare is the iSkills page for added, removed, and shared page URLs. Compare uses two inputs. Each one can be a sitemap URL or a paste. The first is the baseline. Added URLs are only in the second. Removed URLs are only in the first. Shared URLs are in both. Paste XML when you already have the file, or enter a public http or https sitemap URL when you want the server to fetch it within the published caps.
The caps are part of the result, not a hidden failure. Sitemap Compare stores at most 5,000 page URLs, fetches at most 20 child sitemaps, and stops nested indexes at depth 2. A truncated flag and a note tell you when the list is incomplete.
From the form
What a Sitemap Compare difference looks like
Input
Paste a urlset that contains https://example.com/blog/new-post once and the same address a second time. Sitemap Compare keeps one stored page and records the duplicate. Fetching https://example.com/sitemap-old.xml instead of pasting uses the same parser after the download. (Sitemap Compare, example 1.)
What you should see
If https://example.com/sitemap-old.xml is a sitemap index and https://example.com/sitemap-new.xml is the first child, a URL fetch can read that child until the depth and child caps. A paste of the index lists https://example.com/sitemap-new.xml and does not download it until you fetch the index URL. (Sitemap Compare, example 2.)
Field note
Use Sitemap Compare when
- The input for Sitemap Compare was XML or a public sitemap URL. (Sitemap Compare, check 1.)
- A truncated note was read before the list was treated as complete. (Sitemap Compare, check 2.)
- HTML or a challenge page was not accepted as a sitemap. (Sitemap Compare, check 3.)
- The copied result matches added, removed, and shared page URLs, not a different sitemap report. (Sitemap Compare, check 4.)
- Generated files were published by you, not by this page. (Sitemap Compare, check 5.)
Field note
Reading a Sitemap Compare result without mixing the sides
Sitemap Compare produces added, removed, and shared page URLs. Compare uses two inputs. Each one can be a sitemap URL or a paste. The first is the baseline. Added URLs are only in the second. Removed URLs are only in the first. Shared URLs are in both. You can paste XML into the box, or you can enter a public sitemap URL and let the server fetch it. A pasted urlset is parsed on the server without a second copy of the parser in the browser. The form stays near the top of the page, under the single title. (Sitemap Compare, guide 1.)
Use https://example.com/sitemap-old.xml as the file you are checking and https://example.com/blog/new-post as a page address you expect to see or not see, depending on the job. Compare the normalized addresses. A trailing slash on the path is folded, and the hash is ignored, so cosmetic differences do not look like new pages. If the file is a sitemap index, child documents such as https://example.com/sitemap-new.xml are fetched only when you supplied the index URL, only while the depth is within 2, and only until 20 child sitemap requests have been made. (Sitemap Compare, guide 2.)
Sitemap Compare shares one fetcher with the other sitemap tools. The fetcher allows http and https only. It rejects file, gopher, and data URLs, then blocks localhost, loopback, link-local, private ranges, CGNAT space, and the cloud metadata address before it opens a socket. DNS answers are checked before the connection, and a redirect is checked again. A redirect loop is reported instead of being followed forever. Three hops is the maximum. (Sitemap Compare, guide 3.)
Large files are cut at 5 MB, and the stored page list stops at 5,000 URLs. Gzip responses and addresses that end in .gz are decompressed before parsing. A DOCTYPE or an entity declaration is rejected so the parser cannot expand an external entity. An HTML document or a Cloudflare challenge body is reported as not a sitemap. The raw response body is not written to the log. (Sitemap Compare, guide 4.)
When a URL must be fetched, the page sends the job to the server and shows a short progress line while it polls. Small pastes return immediately with the same result shape: source URL, index or urlset, child sitemaps, page rows, errors, duplicates, redirect hops, status, truncated flag, and counts. Repeat fetches of the same normalized URL can reuse a finished parse for 10 minutes. Jobs sit in a file folder so more than one server process can see them, and they expire after 30 minutes. (Sitemap Compare, guide 5.)
Swapping the two boxes and then describing removed URLs as new. Added always means the second sitemap. After you read that distinction, look at the severity of any finding. An error means the document or the fetch failed the check this page is responsible for. A warning, such as a duplicate loc or a truncated file, means the rest of the result is still usable. A note explains a cap, a paste that did not download child files, or a sample crawl. (Sitemap Compare, guide 6.)
A concrete pass through Sitemap Compare starts with https://example.com/sitemap-old.xml. If that address is an index whose first child is https://example.com/sitemap-new.xml, the file list and the page list answer different questions. The page address https://example.com/blog/new-post belongs in the page list only when a urlset contains it. Keep the two lists apart when you copy them into a spreadsheet or a ticket. (Sitemap Compare, guide 7.)
The result panel uses the same dark block as the other tools on this site. Copy is there when a text result is useful. A download button appears only for a file this page actually builds, such as CSV, XLSX, XML, or llms.txt. Sitemap Compare does not add a second title to the page, and it does not restyle the tools around it. (Sitemap Compare, guide 8.)
Take Sitemap Compare as one step. The next page in this set is Sitemap URL Extractor, which answers a different question about the same sitemap. Sitemap Audit is the other close check. Finish the reading on this page before you switch, so you do not mix added, removed, and shared page URLs with a different report. (Sitemap Compare, guide 9.)
Sitemap Compare in order
Paste sitemap XML or enter the sitemap URL. For Sitemap Compare, the address to try first is https://example.com/sitemap-old.xml. (Sitemap Compare, step 1.)
Run the check. A short progress line stays on screen while a fetch is in a server job. (Sitemap Compare, step 2.)
Read added, removed, and shared page URLs. Confirm whether the result says the list was truncated. (Sitemap Compare, step 3.)
Copy the text you need, or download the file when this page offers one. Publish any generated XML yourself. (Sitemap Compare, step 4.)
What Sitemap Compare returns
- Sitemap Compare shows added, removed, and shared page URLs from one shared parse, so the XML rules match the other sitemap tools. (Sitemap Compare, result 1.)
- A paste and a fetched URL return the same kind of result, including errors, duplicates, and counts. (Sitemap Compare, result 2.)
- Private hosts, entity declarations, and oversized responses are refused before they can be used as a proxy. (Sitemap Compare, result 3.)
Easy to misread Sitemap Compare
Sitemap Compare: Mixing this result with another sitemap tool
Swapping the two boxes and then describing removed URLs as new. Added always means the second sitemap. (Sitemap Compare, mistake 1.)
Sitemap Compare: Ignoring a truncated list
Sitemap Compare stops at the published caps. A truncated note means you do not have the full file. (Sitemap Compare, mistake 2.)
Sitemap Compare: Sending a private URL
Localhost, link-local, private ranges, and the metadata address are blocked before a socket is opened. (Sitemap Compare, mistake 3.)
Sitemap Compare: Treating HTML as XML
An HTML page or a challenge interstitial is reported as not a sitemap. Fix the URL or the firewall rule, then run the check again. (Sitemap Compare, mistake 4.)
Note
Sitemap Compare in questions
What does Sitemap Compare return?
Sitemap Compare returns added, removed, and shared page URLs. Compare the normalized addresses. A trailing slash on the path is folded, and the hash is ignored, so cosmetic differences do not look like new pages. (Sitemap Compare, What does Sitemap Compare return?.)
Does Sitemap Compare fetch a pasted file?
A paste is parsed without a download. A sitemap URL is fetched on the server. Child files inside a pasted index are listed and are not downloaded until you fetch the index URL. (Sitemap Compare, Does Sitemap Compare fetch a pasted file?.)
What will Sitemap Compare refuse?
It refuses non-http schemes, private and metadata addresses, DOCTYPE and entity declarations, responses over 5 MB, and HTML that is not a sitemap. (Sitemap Compare, What will Sitemap Compare refuse?.)
How large a file can Sitemap Compare store?
The stored page list stops at 5,000 URLs. Child sitemap fetches stop at 20, nested indexes stop at depth 2, and redirects stop at 3. The screen says when the result is truncated. (Sitemap Compare, How large a file can Sitemap Compare store?.)