SEO QA · Verification process
Redirect map validation tests a source-to-destination redirect map against what the server actually does. Each row is requested without following redirects automatically, every hop is recorded, and the observed result is compared with the mapped destination. The output is the same spreadsheet with a verdict added to every row.
Definition
Redirect map validation is narrower than general redirect auditing. An audit finds redirect problems wherever they occur on the site. Validation starts from a list you own, the map, and confirms each line. For redirect types and concepts, see the Academy lessons on redirects and testing redirects.
Building the source list
A map is only as complete as its source list. Combine every place old URLs are known from.
| Source | Why it matters |
|---|---|
| Crawl of the old site | Every internally linked URL |
| Old XML sitemaps | URLs search engines were told about |
| Analytics landing pages | URLs that receive visits, even if unlinked |
| Backlink data | URLs with external links, imported via backlink audit |
| Previous redirect rules | Old sources that must now point to the newest URL |
Deduplicate after normalizing protocol, host, case and trailing slash, so each real URL appears once.
Validation columns
| Column | Recorded value |
|---|---|
| Source | Old URL from the list |
| Mapped destination | URL the map says it should reach |
| First status | Status of the first response |
| Hops | Number of redirects until a non-redirect response |
| Final URL | Where the chain ends |
| Final status | Status of the final URL |
| Result code | One code from the table below |
Result codes
| Code | Meaning | Fix |
|---|---|---|
| PASS | One 301 or 308 hop to the mapped URL, final 200 | None |
| CHAIN | Two or more hops | Point the rule straight at the final URL, see redirect chain |
| TEMP | 302 or 307 for a permanent move | Change to 301 or 308 |
| MISMATCH | Reaches a different URL than mapped | Correct the rule or the map |
| FALLBACK | Lands on homepage or a broad category | Map to the closest equivalent page |
| LOOP | Returns to a URL already visited | Break the cycle, see redirect loop |
| DEAD | Final status is 4xx or 5xx | Fix the destination or the rule |
| UNMAPPED | Source returns 404 with no rule | Add a rule, or confirm 410 is intended |
Example validation sheet
| Source | Mapped to | Observed | Code |
|---|---|---|---|
/blog/2019/seo-tips | /guides/seo-tips/ | 301 → /guides/seo-tips/ (200) | PASS |
/services/audit | /features/audit/ | 301 → /features/audit (301) → /features/audit/ (200) | CHAIN |
/old-pricing | /pricing/ | 302 → /pricing/ (200) | TEMP |
/team | /about/ | 301 → / (200) | FALLBACK |
/promo-2024 | 410 | 404 | UNMAPPED |
Destination parity spot check
A PASS proves the redirect works, not that the destination is a fair replacement. For your highest value sources, compare the old page with its destination.
H1: Crawl budget explained
Article schema: yes
inlinks: 34
H1: Crawl budget explained
Article schema: no
inlinks: 6
After validation
- Rerun on productionRedirects often live at the CDN or server, which staging may not share. Validate the full map again after launch.
- Update internal linksLinks should point to final URLs, not sources. Find them with links to redirect.
- Replace sitemap URLsSitemaps should list only final destinations.
- Keep the sheetThe validated map becomes the source list for the next URL change, which prevents chains from stacking up.
For the complete set of migration tasks around this step, use the website migration SEO checklist.