Parse without inventing precision
Each raw lastmod, calendar date, instant, timezone, precision, source file, and snapshot date is preserved. Date-only values remain date-only.
Local technical SEO QA
Compare one sitemap snapshot or a dated history to see whether <lastmod> values are valid, precise, stable, reversed, future-dated, broadly reset, or disconnected from supplied content-hash evidence.
Step 1
Use XML URL sets, sitemap indexes, or CSV files with URL, lastmod, and optional sitemap name columns. ZIP and GZIP archives are supported. Snapshot dates are inferred from filenames when possible.
Drop XML, CSV, ZIP, GZ, or GZIP files here, or choose files.
CSV columns: URL, hash, crawl date, and optional status, canonical, and template.
Step 2
No files added yet. Load the sample or choose sitemap files above.
| File | Role | Size | Snapshot date | Action |
|---|
For an archive, the selected date is a fallback. A valid date inside each child filename takes precedence. Sitemap indexes are resolved against uploaded filenames only.
Step 3
Step 4
Parsing, comparison, and aggregation run in a Web Worker so the page remains responsive. Cancel any long job without losing the selected files.
Add files or load the sample to begin.
Step 5
Transparent score
The summary score is the equal-weight average of these named factors. Counts and reasoning remain visible; no finding is hidden behind the score.
| Severity | Finding | Evidence | Next action | URL or group | Snapshot |
|---|
| Snapshot | Records | URLs | Added | Removed | Re-added | Advanced | Unchanged | Reversed |
|---|
No clusters met the configured thresholds.
| Issue type | Timestamp | Snapshot | Count | Share | Paths | Templates |
|---|
| URL | Template | Events | Change sequence |
|---|
Each raw lastmod, calendar date, instant, timezone, precision, source file, and snapshot date is preserved. Date-only values remain date-only.
The analyzer tracks additions, removals, re-additions, advances, reversals, stale evidence, uniform resets, precision shifts, timezone shifts, and peer cadence.
Hash and lastmod transitions are compared in four explicit combinations. Equal hashes are never treated as proof that a page did not meaningfully change.
Accepted: XML sitemap URL sets and indexes, sitemap CSV, ZIP/GZIP archives, and content-hash CSV.
Not fetched: child sitemap URLs, live pages, Search Console, Merchant Center, analytics, or third-party APIs.
Limits: 1,000,000 URL-snapshot records; 200 MiB per compressed file; 300 MiB combined input; 500 MiB expanded archive data; 500 archive entries. Split larger histories into separate audits.
Unsupported: encrypted archives, non-UTF-8 text, user-defined regular expressions, and treating image/video/news extensions as HTML pages.
No. Files are parsed and compared in your browser. The application does not send file contents, URLs, hashes, titles, or issue examples to the server or analytics.
No. Stable pages can legitimately retain the same lastmod. Update timestamps only when meaningful page content changes; do not manufacture freshness.
It is evidence from the supplied extraction. A changed hash with an unchanged lastmod may indicate missed timestamp updates, while an unchanged hash with a changed lastmod may indicate broad resets. Hash equality does not prove that nothing meaningful changed.
No. The local-only MVP resolves relationships among uploaded files and reports referenced children that were not supplied. Upload each child sitemap you want included.
This auditor makes no ranking, indexing, or recrawl promise. It helps teams validate whether their own lastmod implementation is internally consistent and plausibly tied to meaningful changes.
Review details: 2026-07-13 · Marc LaClear · v1.0
Reference sources:
Known limits: