CometWeb tools
Redirect generator
An old → new map as .htaccess, nginx or a plain list · locally in your browser
One pair per line. Separate with a space, tab, comma or arrow. Lines starting with # are skipped.
Paste your redirect map
An old URL and a new URL on one line. Validation and generation run locally — nothing is uploaded.
Review before deploying. The rules are anchored, so /old will not also match /old-pricing — the usual side effect of a plain Redirect.
Rules appear once you paste a map…
This redirect generator turns a pasted old → new map into .htaccess rules, nginx locations or a plain list. On the way it checks what actually breaks migrations: chains, loops, the same source mapped twice, and pages redirected to themselves. It runs locally — nothing is uploaded.
What breaks a URL migration
Chains are what several migrations in a row leave behind: /a goes to /b, /b goes to /c. Every hop is another request and more latency, and a long enough chain can stop a crawler before the end of it. Collapse everything to one step straight to the final URL.
A plain Redirect matches a prefix. Redirect 301 /old /new also catches /old-pricing and /oldest-post. That is why this generator emits an anchored RedirectMatch with ^ and $.
301 redirects do not lose PageRank — Google said so in 2016. Chains are worth shortening for speed and reliability, not because they "leak link equity".
Validation works on the list you paste. The tool fetches nothing, so it cannot tell you whether a target returns 200 — check that separately after deploying.
Prepare the map before migration
Match each old URL to a page with the same purpose or the closest relevant content. Avoid redirecting every removed page to the homepage. Review loops, duplicates and chains before generating configuration.
What can go wrong
- →→Chain
- /a goes to /b and /b goes to /c. It works, at the cost of one extra request per hop.
- ↻Loop
- /a goes to /b and /b goes back to /a. The browser gives up with an error and the URL is unreachable.
- 2×Duplicate source
- The same old URL on two lines with different targets. The first rule wins.
- ^$Anchoring
- Without ^ and $ the pattern matches a prefix, so /old also catches /old-pricing.
Paste your old → new map, one pair per line, and pick the Apache format. The tool validates the map and generates anchored RedirectMatch rules ready to paste into an .htaccess file. Everything is computed locally in your browser.
Because Redirect matches a prefix: a rule for /old also catches /old-pricing and /oldest-post. RedirectMatch with ^ and $ matches that one path exactly, with an optional trailing slash.
Not through lost PageRank — Google confirmed in 2016 that 3xx redirects do not lose it. It hurts performance: every hop is another request, and a long enough chain can stop a crawler before it reaches the destination.
No. It runs locally on the list you paste and fetches nothing, so it cannot confirm a 200 or that the target exists. It checks what is visible in the map itself: chains, loops, duplicates and self-redirects.
RedirectMatch matches the path only; Apache appends the query string to the target. If the rule needs to depend on a parameter, that takes a separate RewriteCond on %{QUERY_STRING} before a RewriteRule.
What else might come in handy
Indexability, metadata and structure — with priorities and a client report.