Redirect Plan Tester
Moving old URLs can produce unexpected destinations when ordered rules overlap or queries are handled differently. This tool applies its explicit exact/prefix contract to supplied samples and shows each selected rule, declared status and hop. Its normalized output is review CSV, not Apache/nginx configuration or proof that every possible URL is safe.
Key features
- First matching CSV rule wins at each simulated hop
- Exact paths or one trailing /* source prefix and one target capture
- Explicit preserve, drop and replace query policies
- Per-sample paths, overlaps, loops, conflicts and bounded failures
- Differentiate identical and conflicting source rules while retaining record evidence
- Export results CSV, complete JSON and conditionally normalized-plan CSV
How to use
- Enter ordered rules with from,to,status and optional query columns.
- Enter representative absolute sample URLs, one per line.
- Run the simulation and inspect each sample’s stopping point and outcome.
- Review applied order, overlaps, queries and cross-origin moves in detailed paths.
- Add samples for unapplied rules and save reports or normalized review-plan CSV as needed.
Use cases
- Check path-prefix migrations and exception ordering before a move
- Test whether tracking queries should be retained or discarded
- Find conflicting mappings for the same old URL
- Check whether a proposed single redirect becomes a chain or cycle
Frequently asked questions
Do passing samples prove the whole rule set has no loops?
No. Only supplied samples are evaluated. neverSelected lists representative rules not applied to those samples; non-reachability, precedence or conflicts may explain it. Add separate samples for untested rules. Whole-rule-set safety and deployment compatibility are not guaranteed.
Do exact rules beat wildcard rules?
CSV order wins, regardless of rule type. The first matching rule is applied and overlapping record numbers are shown. Sources support one trailing /*, whose remaining path is inserted literally into one optional target-path *. Regex rules are unsupported.
How are query strings handled?
preserve uses the target query when present, otherwise the current input query. drop removes all query text, including a query written in the target. replace uses exactly the target query. A source query must match in full and in order; a source with no query accepts any query.
Are the displayed status codes live HTTP responses?
They are 301, 302, 303, 307 or 308 values declared in the CSV. Requests, responses, method preservation and indexing are not checked. A stopping point means no further rule matched, not that the page exists or returns 200.
Can normalized-plan CSV be deployed directly?
No. It uses this tool’s from,to,status,query review format, not Apache/nginx syntax. Server-specific matching and query behavior are not verified. Conflicting rules or sample loops, conflicts, hop limits and URL-length failures block this export.
What are the bounds and URL normalization rules?
Use up to 200 rules and 200 samples, with 30 hops per sample. Raw and generated URLs are limited to 2,048 characters; a generated-length failure stops only that sample. Standard HTTP(S) URL serialization is used, while path case, query order, encoding and trailing slashes are not arbitrarily unified. Fragments are rejected.
Privacy
Rules and sample URLs are processed in browser memory without visiting those URLs. Input is not sent to servers, analytics, URLs or browser storage, and is not saved automatically. Selected CSV and pasted text use the same local checking path. Files are created only when you request a download.
Comments & questions