Check the redirect plan before testing it live
CoreAEX Redirect Map Checker finds structural problems in a redirect plan you paste from a spreadsheet. It identifies conflicting destinations, loops, unnecessary chains, duplicate mappings and unusable rows, then names the rows that need attention.
Open the Redirect Map Checker. The tool is free, requires no account and analyzes the map in your browser tab. It does not upload your paste, visit the URLs or save a map history. It checks the plan you supplied; live redirect testing is a separate step.
Prepare two spreadsheet columns
Put the old URL in the first column and the new URL in the second. Both must be full http:// or https:// URLs. Copy just those two columns and paste them into the textbox labelled Old URL and new URL, tab separated. Copying cells from a spreadsheet supplies the tab separator automatically.
The first row may contain old_url and new_url headers, but the header is optional. Do not add a status-code column, notes or comma separators to the paste. This input accepts exactly two tab-separated cells per row; it is not a general CSV-file importer.
| old_url | new_url |
|---|---|
| https://example.com/old-pricing | https://example.com/pricing |
| https://example.com/old-docs | https://example.com/docs |
These are fictional formatting examples. The checker does not contact example.com. A path such as /old-pricing on its own is not accepted, because the tool does not guess a base domain.
Run the check
The page starts with a built-in example. Replace it with your two columns, or choose Clear before pasting.
Choose Check map. Read the summary, then inspect each error and warning with its row numbers and suggested action.
Correct the source spreadsheet, paste the updated map and check it again. Editing the textbox invalidates the old result; it does not automatically rerun the analysis.
When findings exist, use Download issues as CSV to keep an issue list for the people responsible for the map.
Rows are numbered as pasted, including the header if present. Keep that in mind if the pasted range begins below row one of a larger spreadsheet.
Understand exact URL matching
The checker compares accepted URL strings exactly and case-sensitively. It preserves the spelling you supplied rather than guessing which URLs your server treats as equivalent. A difference in scheme, path case, percent encoding, trailing slash, query string/order or fragment can make a different graph node.
| Example | How the checker treats it |
|---|---|
| https://example.com and https://example.com/ | Both are valid host-only/slash spellings, but are distinct strings. |
| /Pricing and /pricing in full URLs | Different paths, so different nodes. |
| ?a=1&b=2 and ?b=2&a=1 | Different query-string order remains significant. |
| https://EXAMPLE.com/page | Rejected for correction because the browser parser changes the host spelling. |
| https://example.com:443/page | Rejected for correction because the browser parser removes the default port. |
| https://example.com/a/../b | Rejected for correction because the parser resolves the dot segment. |
The shortened paths and query strings in this table illustrate differences; your input still needs full URLs. Do not remove or normalize a variant simply to get a clean result. First decide how the real server should handle it and keep the plan consistent with that decision.
Why some URL spellings are rejected
A browser URL parser can silently reinterpret a URL. The checker flags these cases for correction rather than analyzing a rewritten value. Backslashes, automatically encoded characters, explicit default ports and uppercase hosts can trigger this check. Credentials, whitespace, control characters and unsupported schemes such as ftp:// are also rejected.
A valid host-only URL is a specific exception: it stays accepted exactly as pasted, without a slash being added. Accepted strings form the graph; invalid rows remain visible as findings and can prevent a safe chain suggestion.
What exact matching does not model
The checker does not reproduce server-specific normalization, rewrite patterns, wildcard rules or rule precedence. If two different spellings reach the same page on your server, that must be verified separately. A plan that looks consistent here can still behave differently once deployed.
Read the errors and warnings
Errors appear before warnings. Each finding includes its type, affected rows, relevant URLs or path, an explanation and a suggested action. Fix unusable rows and ambiguous destinations first, then recheck before acting on a chain suggestion.
| Finding | What to do |
|---|---|
| Unusable old or new URL | Correct the named cell using the intended full HTTP or HTTPS URL. |
| Row is not two columns | Copy exactly two spreadsheet columns; remove extra cells or add the missing destination. |
| Conflicting destinations | Choose one intended destination for the source. The tool does not choose a winning server rule. |
| Redirects to itself | Remove the self-mapping or select the intended destination. |
| Redirect loop | Break the closed cycle by choosing an appropriate destination outside it. |
| Potential redirect loop | Resolve the conflicting source as well as the possible cycle. Actual behavior depends on rule selection. |
| Redirect chain | Review the suggested terminal and map sources directly to it when appropriate. |
| Chain stops at a conflict, unusable URL or loop | Resolve the blocker first; a final destination cannot yet be recommended. |
| Duplicate mapping | Keep one copy of the identical pair and remove redundant rows. |
| Blank row | Delete the internal blank row or supply the mapping it should contain. |
Interpret chains within the map
If A maps to B and B maps to C, the tool can recommend pointing the sources directly to C. Here C means a terminal in the supplied map. The checker has not visited C and cannot know whether it redirects again, fails or serves the right content.
Several old URLs can share a destination
A many-to-one pattern is not automatically an error. Several retired pages may have one genuine successor. The checker tests the relationships in the map; you still need to confirm that the shared destination is appropriate for each old URL.
Work through the built-in example
Choose Load example, then Check map. At the time of writing, the fictional example contains 14 data rows and produces four errors and two warnings across 13 usable mappings. The header is row one, so the first mapping is row two.
| Finding | Example rows | Next action |
|---|---|---|
| Conflicting destinations | 2 and 6 | old-pricing.html points to both pricing and plans. Decide which destination is intended. |
| Redirects to itself | 7 | about.html maps to itself. Remove or correct that row. |
| Redirect loop | 8 and 9 | a.html and b.html point back to one another. Break the cycle. |
| Unusable new URL | 15 | An ftp:// destination is unsupported. Correct the intended URL. |
| Duplicate mapping | 3 and 10 | The features mapping is repeated. Keep one copy. |
| Redirect chain | 4 and 5 | The docs path has two hops. Review the map terminal before mapping directly to it. |
The remaining many-to-one rows do not become conflicts because each source has only one destination. A conflict is one source pointing to multiple destinations, not multiple sources sharing a destination.
Export the issue list
Download issues as CSV creates redirect-map-issues.csv. It contains issue type, severity, rows, URLs, path, explanation and suggested action. The first line explains export protection; the column headers follow that note.
Cells that begin with = + - @ or whitespace/control characters receive a leading apostrophe so spreadsheet software treats them as text. CSV quoting also preserves commas, quotes and line breaks. This protection does not change the values displayed on the page.
The export is an issue report. It is not a corrected redirect map or a server configuration file. Make the actual edits in your source spreadsheet and use your normal implementation and validation process. Download is disabled when there are no findings or the input has changed since the last check.
Limits, troubleshooting and the next check
The maximum paste is 2,000 data rows and 1 MiB, measured as 1,048,576 UTF-8 bytes. The optional header is excluded from the data-row count. If either limit is exceeded, nothing is analyzed; the tool does not silently truncate the map.
Splitting a large map can hide a conflict, loop or chain that crosses the split. Use a method that can assess the complete plan when those relationships matter. A smaller paste is useful for inspecting a known subset, but its result only covers that subset.
| What you see | What to check |
|---|---|
| A header but no result | Add at least one mapping row. Header-only input is not a completed clean check. |
| The map changed message | Choose Check map again after editing. Previous findings and export are invalidated. |
| Row is not two columns | Paste cells directly from two columns. Commas or spaces do not replace a tab. |
| Parser reads a different URL | Correct the spelling deliberately; the tool will not silently normalize it. |
| No issues found in this map | The supported checks found none in the supplied plan. Continue live validation. |
What still needs live and editorial validation
The checker cannot establish that the redirects are deployed, that source requests return the intended redirect, or that destinations exist and return 200. It does not inspect destination content, indexability or relevance. A URL missing from the paste is invisible to it. Server normalization and rule precedence remain outside this check.
After correcting the plan, validate the implemented redirects and destination pages through your normal migration checks. A clean map result is a useful planning signal, not approval to launch or a guarantee of preserved search performance.
Continue with the right resource
Open the Redirect Map Checker, or see the other free CoreAEX tools.
For inventory and mapping decisions, read URL inventory and redirect mapping for SaaS migrations. For the broader migration checklist, read the technical SEO checklist for SaaS website migrations. For a deeper migration review, see CoreAEX services.
About the author
Zarko Zivkovic is the founder of CoreAEX, building technical SEO, AEO, and AI-visibility systems for B2B SaaS companies. Connect on LinkedIn.