301→302
A temporary redirect where a permanent one belongs. Found by Redirect checker →
redirect loop
The URL redirects back to itself and never settles. Found by Redirect checker →
Audit

Redirect checker: chains, loops and 302s

Follow a live redirect chain hop by hop, find chains, loops and temporary redirects in a crawl, and generate redirect rules for Apache or Nginx from URL pairs.

Redirect checker: chains, loops and 302s

Chains and loops

Every hop with status and location; internal links that point to redirects are reported with their source.

Redirect checker: chains, loops and 302s

Generate rules

redirects-generate turns old/new URL pairs into Apache mod_rewrite, Redirect or Nginx rules.

  • Offline, no network
  • Custom templates
How it works

Three steps, one saved scan

  1. Crawl or check one URL

    A crawl records every hop; a single URL is followed live with status and location per hop.

  2. Find chains and loops

    Internal links that point to redirected pages are reported with the page and position that links to them.

  3. Generate the rules

    Turn old and new URL pairs into Apache or Nginx rules, offline, with custom templates.

What it checks

Checks in this feature

CheckWhat it meansSeverityEvidence
REDIRECT_CHAINMore than one hop before the final URLImportantEvery hop with status
REDIRECT_LOOPThe chain returns to a URL it already visitedCriticalLoop path
BAD_REDIRECT_TYPETemporary 302/307 where a permanent move is meantImportantStatus per hop
INTERNAL_LINK_TO_REDIRECTAn internal link points to a redirecting URLTipSource page, DOM position
META_REFRESH_REDIRECTThe page redirects with a meta refreshImportantMeta tag value
How to run it

One command

bash
seohead redirects-check --url http://example.com/old-page

Install first: installation guide. Every command also runs as an MCP tool for AI agents.

Related checks

From the check registry

REDIRECT_CHAINREDIRECT_LOOPBAD_REDIRECT_TYPEINTERNAL_LINK_TO_REDIRECTMETA_REFRESH_REDIRECT
FAQ

Questions

Redirect checker: chains, loops and 302s
No. Checks are read-only requests; generated redirect rules are files you review and deploy yourself.

Check your redirects locally