Sample crawl diff
WordPress to Next.js crawl diff demo
This demo shows the output SEOParity expects before a risky migration ships: old WordPress URL, new Next.js URL, changed SEO signals, severity, and the implementation note a developer can act on.
| Severity | Old URL | New URL | Diff finding | Implementation note |
|---|---|---|---|---|
| P0 | /old-service | /services/main-service | Old URL returns 404 instead of 301 | Add direct 301 and retest final canonical |
| P0 | /products/widget-a | /products/widget-a | New page canonical points to retired WordPress URL | Generate canonical from production frontend URL |
| P1 | /category/glass | /categories/glass | Category title changed from commercial query to generic brand copy | Restore query-matched title pattern |
| P1 | /blog/migration-guide | /blog/migration-guide | BlogPosting schema missing on new route | Render BlogPosting JSON-LD from post metadata |
| P2 | /about | /about | Meta description shortened too aggressively | Rewrite snippet around founder, proof, and migration focus |
| Monitor | /contact | /contact | Page is equivalent, but GA4 lead event changed | Verify generate_lead and lead_submit_success after deploy |
Redirects
Missing 301s, temporary redirects, chains, loops, and homepage catch-alls.
Canonicals
Old-domain canonicals, staging canonicals, duplicate templates, and redirected canonical targets.
Metadata
Lost titles, weak descriptions, missing Open Graph state, and query-misaligned headings.
Schema
Lost Product, Article, Breadcrumb, Organization, or Person markup that was visible before launch.
Indexability
Noindex, robots, soft 404, non-200 sitemap rows, and pages omitted from the new sitemap.
Tracking
GA4/GTM event changes that hide whether organic leads survived the launch.
Required export columns
A useful crawl diff is not a screenshot comparison. It needs structured old/new rows that can be sorted by severity and handed to developers.
old_urlnew_urlold_statusnew_statusredirect_statusold_titlenew_titleold_canonicalnew_canonicalold_schema_typesnew_schema_typessitemap_stateseverityimplementation_noteWhy this is a demo, not an open crawler
Public cross-site crawling needs queueing, robots handling, upload privacy, rate limits, and data retention rules. This public demo shows the output format while the paid audit applies the same comparison to private crawl exports and Search Console evidence.