What the validator checks
| Issue | Why it matters |
|---|---|
| Chains (A → B → C) | Every extra hop slows the page down, and search engines may stop following after several hops. Old URLs should point straight at the final page. |
| Loops (A → B → A) | The page never loads. Browsers show an error and search engines drop the URL. |
| Conflicts | The same old URL is mapped to two different destinations, so only one rule will ever run, usually the first one. |
| Self-redirects | A URL redirecting to itself causes a loop. |
| Homepage dumps | Sending many unrelated old pages to the homepage is often treated by Google as a “soft 404”, so their value is not passed on. Map each page to its closest equivalent instead. |
| Exact duplicates | Harmless, but they clutter the file and hide real conflicts. |
| Query strings and fragments | Simple redirect rules usually ignore everything after “?” and never see “#”, so these lines may not work as written. |
| Mixed case or spaces | Paths are case-sensitive on most servers, and unencoded spaces break rules. |
How the flattened map is built
The validator normalises every URL (lower-case host, optional trailing slash, your own domain stripped to a path), builds a graph of old → new, then follows each chain to its end. If the end is reached without revisiting a URL, the old URL is mapped directly to it. If a URL is revisited, the chain is reported as a loop and left out of the export.
How to use the exports
- CSV: for redirect plugins (such as Rank Math or Redirection in WordPress), Shopify’s URL redirect import, or a developer.
- Apache .htaccess:
Redirect 301 /old /newlines. These match path prefixes, so put more specific rules first and test a sample before going live. - Nginx: exact-match
locationblocks returning a 301, for your server configuration.
Only rules whose old URL is a path on your site can be written as server rules. Back up existing configuration before adding anything.
Migration tips
- Build the map from a full list of old URLs: your XML sitemap, a crawl, and the pages with traffic or links in Search Console and analytics.
- Map every page with traffic or backlinks to its closest relevant new page, not just “somewhere”.
- Pages that genuinely have no replacement can return 404 or 410. That is better than a misleading redirect.
- After launch, crawl the old URL list and confirm each one returns a single 301 to a 200 page.
Read our guide to migrating a website without losing SEO rankings for the full process, and use the Website Launch Checklist on launch day.
What this tool does not do
It does not visit your URLs, so it cannot see redirects that already exist on your server or check that new pages load. It validates the map you give it, which is where most migration mistakes start.