Back to tool

Redirect Map Checker — User Guide

This tool analyzes a list of redirects for the issues that quietly hurt SEO and performance — chains, loops, and wrong status codes — and generates ready-to-use Next.js or Vercel config. Everything runs in your browser.

Quick start

  1. Paste your old → new URL map into the box — or click Load sample.
  2. Read the issues panel: redirect count, errors, and warnings.
  3. Switch the output between Next.js and Vercel.
  4. Copy or Download the generated config.

Input format

One redirect per line. Separators accepted: ->, , a comma, a tab, or two-plus spaces. An optional trailing status code (301, 302, 307, or 308) sets the type — the default is 301.

/old-path -> /new-path 301
/about-us, /about
https://old.com/x   https://new.com/x
# lines starting with # are ignored

Both paths and full URLs work.

What it detects

  • Self-redirect — a URL that points to itself (an infinite loop). Error.
  • Redirect loop — a cycle like A → B → A. Error.
  • Redirect chain — A → B → C, where you should point A directly at C to save a hop. Warning.
  • Duplicate source — the same from listed twice; only the first applies. Error.
  • Insecure target — a redirect to an http:// URL instead of HTTPS. Warning.
  • Temporary status — 302/307 used where a permanent 301/308 is usually intended for SEO. Warning.

Each issue lists the line number(s) involved.

Generated config

  • Next.js — a next.config.js redirects() block. 301/308 produce permanent: true; 302/307 produce permanent: false.
  • Vercel — a vercel.json redirects array with the same permanent mapping.

Why chains and loops matter

Every extra hop adds latency and dilutes link equity; loops break the page entirely. Collapsing chains so each old URL points directly to its final destination is one of the highest-value redirect cleanups.

Tips

  • Export your current redirects from your CMS or server and paste them here to audit an existing setup.
  • Prefer 301/308 for permanent moves so search engines transfer ranking signals.