Your redirect map
Classify every URL before you map it
A redirect map is the last step, not the first. Every old URL needs a decision first: keep it, improve it, rewrite it, merge it into another page, redirect it, or remove it. Only the merge and redirect decisions produce a row in this map. Pages you are deliberately retiring with nothing equivalent behind them should return 410, which tells a search engine the removal was intentional and gets them dropped cleanly.
Skipping that classification is how sites end up redirecting a thousand URLs to the homepage. A redirect to a page that does not answer what the old one answered is treated as a soft 404: the old page keeps none of its ranking, and you have hidden the problem behind a 301 that looks fine in a crawler.
Chains and loops
A chain is a redirect pointing at a URL that is itself redirected. Every hop adds latency, and each one is another chance for a link to be dropped somewhere in the pipeline. If you have redirected pages before, a new migration will silently create chains through the old rules, which is why this tool checks the whole map against itself rather than each row in isolation.
A loop is a URL redirecting to itself, and it takes the page offline entirely. It usually appears through a trailing slash or a protocol difference, so both sides are normalised to a path here before they are compared.
Test before, verify after
Apply the rules on staging first and crawl the full list of old URLs against it. What you want to see is a single 301 to a 200, with no second hop. Then repeat the same crawl against the live site within a day of launch, because server configuration is one of the things that most often differs between the two environments.
Keep the rules in place for as long as anything still links to the old URLs, which in practice means indefinitely for anything that earned links. Planning and verifying that process is the substance of the website migration SEO service, and the crawl afterwards is part of an SEO audit.