Redirect Configuration Generator
Turn a redirect map into Apache, nginx, Caddy or Netlify configuration, with loops and chains refused first.
About this tool
Takes a list of old and new URLs and writes the redirect rules for your server — and checks the map before it writes anything.
Three faults make a redirect list worse than useless, and none of them is visible in a spreadsheet:
**Loops.** A redirects to B and B redirects back to A. The page becomes unreachable and the browser gives up with an error. Usually created by adding a rule months after the one it contradicts.
**Chains.** A to B to C. Every hop is a round trip, and search engines follow a limited number before giving up. Chains are collapsed here, so A points straight at C.
**Duplicate sources.** The same URL redirected to two different places. Whichever rule the server reaches first wins, silently, and which one that is depends on the order they happened to be written in.
Output for Apache, nginx, Caddy and Netlify, all using a permanent 301 unless you choose otherwise.
Common questions
301 or 302?
301 for anything permanent — a moved page, a changed URL structure. 302 only where the original will genuinely come back, such as a temporary maintenance page. A 302 left in place for a year is a page whose ranking never transfers.
Why collapse chains?
Each hop is a full round trip for the visitor, and search engines follow a limited number before abandoning the chain. Pointing every old URL directly at the final destination costs nothing and removes the whole class of problem.
Should I keep redirects forever?
The ones with links or traffic, yes — a redirect is what keeps those alive, and there is no expiry after which it is safe to remove. Ones that have had no traffic in a year can go, and the file gets shorter.
What about redirecting everything to the homepage?
Do not. Google treats a redirect to an irrelevant page as a soft 404, so it passes nothing and the visitor lands somewhere that does not answer their question. A 410 is more honest and more useful.