SEO tools
Redirect Checker: Trace the Full Redirect Chain
Follows the URL you enter through every hop, reporting the status code at each step and the final destination — the detail a browser hides once the address bar settles.
What this redirect checker tests
One hop is correct. Two is tolerable. Three usually means separate rules are stacking — an HTTPS rule, a www rule, and a trailing-slash rule each adding a step that nobody designed together.
- The status code of the final response, and whether it is 200.
- Every intermediate hop, so a chain is visible rather than inferred.
- Whether the destination is served over HTTPS.
- Whether the chain is long enough to be worth collapsing.
Which status code should you be sending?
Every framework defaults to a temporary redirect, so a permanent move sent as 302 is the most common finding here. The old URL stays indexed and the signals never consolidate.
| Code | Meaning | Use when |
|---|---|---|
| 301 | Moved permanently | The URL changed for good; consolidate signals |
| 302 | Found (temporary) | A genuine temporary detour |
| 307 | Temporary, method preserved | POST must stay POST |
| 308 | Permanent, method preserved | Permanent move that must keep the method |
After a migration
Check a sample of old URLs across every template rather than the handful you remember. Keep redirects in place for at least a year — Google needs repeated crawls to consolidate, and external links keep arriving long after that. For collapsing chains see redirect chains, and for implementing them correctly see redirects in PHP, JS and Django.
- Does a redirect lose ranking signals?
- Google has said no PageRank is lost through 301 or 302 redirects. The reason to prefer 301 for a permanent move is that it states intent and consolidates the URLs.
- Why does the browser show no redirect when this tool finds one?
- Browsers cache redirects aggressively, especially 301s. This tool requests the URL fresh each time.
Other tools
Fetches the robots.txt file for the host you enter, reports whether it exists and whether it blocks every crawler, and reads the page-level robots directives alongside it.
Looks for the sitemap the way a crawler does — the robots.txt declaration first, then the conventional locations — then confirms it parses as XML and counts the URLs inside it.
Reads the canonical URL a page declares, then fetches that URL to confirm it resolves, is not redirected, and is not noindexed — the three ways a canonical silently becomes inert.
Parses the structured data on the page you enter, lists the schema.org types it finds, and flags blocks that fail to parse or are missing the properties their type requires.
Checks every signal that decides whether a page is allowed into the index — the status code, robots.txt access, meta robots, the X-Robots-Tag header, and the canonical.