Redirect checker
This redirect checker follows a URL one hop at a time and shows the HTTP status code, the redirect target and the response time at every step, up to 10 redirects. It flags loops, chains of more than one hop, temporary redirects where a permanent one is likely meant, HTTPS-to-HTTP downgrades and dead ends, then tells you the final URL and status.
- Follows
- up to 10 hops
- Records
- status, target and time per hop
- Cost
- free, no signup
Hops and flags
Before a run, these are the chain-level checks. After a run, each hop is listed first, then any problem found
-
Not runRedirect loop—
Why it mattersA loop is when the chain returns to a URL it has already visited, so it never reaches a page. Browsers stop and show an error, and search engines cannot crawl or index the URL. Loops usually come from two rules that undo each other, such as an HTTPS rule at the CDN clashing with one on the server.
How to fixUse the hop list to see which URLs bounce between each other, then find the rule behind each in your server config, CDN or redirect plugin. Remove or narrow one rule so each URL redirects once, straight to the final page.
-
Not runTen-hop limit reached—
Why it mattersGoogle's documentation says Googlebot follows up to 10 redirect hops and reports a redirect error if it gets no content within that limit. The checker stops at 10 too, so this flag means the URL was still redirecting when it ran out, and the real destination is unknown.
How to fixRun the last URL in the list through the checker to see where the chain goes next. Then replace the whole chain with a single redirect from the first URL to the final page.
-
Not runHTTPS to HTTP downgrade—
Why it mattersA hop that sends a visitor from an https:// URL to an http:// one drops the connection to an unencrypted page, even if a later hop goes back to https://. It also sends search engines a mixed signal about which version is canonical.
How to fixFind the redirect rule that writes http:// into the Location header, often a hard-coded site URL in the CMS settings or an old rule written before the HTTPS move, and change it to the https:// address. Every hop in the chain should stay on https://.
-
Not runRedirect chain—
Why it mattersA chain is more than one redirect before the final page, such as http:// to https:// to www to the new path. Each hop is another round trip before the page loads, and long chains waste crawl requests.
How to fixChange the first redirect so it points straight at the final URL, and do the same for every old URL in the chain. Then update internal links and sitemaps to the final address.
Every hop
Each request in order, with its status code and time
Nothing to show yet. After a check, this table lists every URL requested, the status code it returned and how long it took, ending with the final response.
What each status code means here
The checker does not score the URL. It counts the redirects and marks each hop by its status code. A clean result is zero or one redirect, every redirect a 301 or 308, and a final 200.
| Status | Meaning | Shown as |
|---|---|---|
| 200 to 299 | Success: the page answered with content. The chain ends here. | Pass |
| 301, 308 | Permanent redirect: the page has moved for good. | Pass |
| 302, 303, 307 | Temporary redirect: the old URL is expected back. | Needs work |
| Other 3xx | Rarely used redirect codes, such as 300. | Needs work |
| 400 to 499 | Client error: the URL is missing, gone or blocked, such as 404, 410 or 403. | Fail |
| 500 to 599 | Server error: the server failed to answer properly. | Fail |
| No response | Timed out after 8 seconds, or the connection, DNS or certificate failed. | Fail |
The URL answers itself. Ideal for internal links and sitemap URLs.
Normal for an old URL, as long as it is a 301 or 308 to a live page.
Worth flattening so the first URL goes straight to the final one.
A hop is shown as a temporary redirect when its code is 302, 303 or 307. Loop detection compares URLs exactly as written, so a loop that varies a query string on each hop shows as a long chain that hits the 10-hop limit instead. Status codes are explained in Google's guide to redirects and Google Search.
How to check a redirect chain
Test the URLs that matter most after a move: old addresses with backlinks and the http:// and non-www versions of the home page.
-
Step 1
Enter the old URL, not the new one
Paste the address links actually use, such as an old blog path or the domain without www. The checker adds https:// if you leave the protocol off, so type http:// yourself when that is the version you want to test.
-
Step 2
Read the hop rows from top to bottom
Each row is one request. A 301 or 308 shows as a pass, a 302, 303 or 307 as needs work, and a 4xx, 5xx or no response as a fail.
-
Step 3
Check the summary flags
Below the hops, the checker adds a row if it found a loop, hit the 10-hop limit, dropped from https:// to http://, or needed more than one redirect.
-
Step 4
Fix the source, then check again
Point the first redirect straight at the final URL, change temporary codes to 301 where the move is permanent, and update internal links and sitemaps to the final address. Then run the URL again.
Why redirect chains build up, and what they cost
Most chains are not designed. A site moves from http:// to https://, then from a non-www to a www address, then to a new URL structure, and each change adds a rule on top of the last. An old link now passes through three or four hops before it reaches a page. Each hop is a separate request, so visitors wait longer and crawlers spend requests on URLs with no content.
Google's documentation says Googlebot follows up to 10 redirect hops. That is a ceiling, not a target. Well before it, a chain is slower and more fragile than a single redirect, because one broken rule in the middle breaks everything after it.
The code matters as much as the count. Google's documentation describes 301 and 308 as permanent redirects, which are a strong signal that the new URL should be shown in search, and 302, 303 and 307 as temporary ones, which are a weaker signal. For a permanent move, Google recommends a permanent server-side redirect wherever possible. Our technical SEO work covers redirect mapping for site migrations.
What the checker does
- Requests each hop itself, without auto-following
- Uses HEAD, and repeats as GET when HEAD is refused
- Records the status code, Location target and time per hop
- Flags loops, chains, temporary codes, downgrades and errors
- Shows the final URL, final status and total time
What it does not do
- Run JavaScript or follow JavaScript redirects
- Follow meta refresh redirects in the HTML
- Send cookies, log in, or vary location or device
- Follow more than 10 hops
- Check redirects in bulk or crawl your whole site
Reading the result after a site move
Start with the final status. If it is not a 200, the chain ends somewhere that is not a working page: a 404 means the target was never created or has been deleted, and no response often means a DNS or certificate problem on an old domain. Fix that first.
Then look at the codes. A 302 on an old URL that will never come back is the most common mistake after a migration, often because a plugin defaults to temporary redirects. Change it to a 301.
Finally, check the start of the chain. If the first hop is http:// to https:// and the second is non-www to www, write one rule that sends every variant straight to the final https:// address. The Internal Link Finder helps you find internal links that still point at redirected URLs.
Planning a migration or untangling old redirects?
Map old URLs to new ones, flatten chains and check status codes across the whole site, not one URL at a time.
Redirects, answered plainly
Short, standalone answers. Email editorial@moxseo.com if any of them is wrong.
What does the Redirect Checker do?
It requests the URL you enter without following redirects, records the status code, the Location header and the time taken, then requests the next URL itself. It repeats this up to 10 times, then shows the final URL, final status and total time, and flags loops, chains, temporary redirects, HTTPS-to-HTTP downgrades and errors.
Is a 302 redirect bad for SEO?
Not always. A temporary code is correct when the move really is temporary, such as a maintenance page. Google's documentation describes permanent redirects as a strong signal that the target should be treated as canonical, and temporary redirects as a weaker one, so a 302 left in place for a move that is actually permanent is the common mistake. The checker marks temporary codes as needs work, not as failures.
How many redirects will Google follow?
Google's documentation says Googlebot follows up to 10 redirect hops, and reports a redirect error in Search Console if it does not reach content within that limit. The checker stops at the same number. One hop is still the target.
Why does my browser show a different result from the checker?
The checker requests from our server with its own user agent and no cookies, and it does not run JavaScript or read meta refresh tags. Redirects that depend on location, language, login, cookies or device can differ in your browser, and browsers cache 301 redirects, so compare in a private window.
Does the checker follow meta refresh or JavaScript redirects?
No. It only follows server-side redirects, which arrive as a 3xx status code with a Location header. A page that redirects with a meta refresh tag or a script shows here as its own status, usually 200, and the chain ends there. Google can follow those methods, but its documentation recommends server-side redirects where you can use them.
Why does a hop show 403 or 405 when the page loads fine?
The checker starts with a HEAD request, which asks for headers only. Some servers refuse HEAD, so when a hop answers 403, 405 or 501 the checker repeats it once as a GET and reports that answer instead. A 403 that remains may mean the site blocks automated requests.
Is the Redirect Checker free, and is my URL stored?
It is free with no signup. Each hop is requested from our server as it happens and nothing is cached. It keeps only a short-lived request counter for rate limiting, which allows 40 checks per 5 minutes, and it does not ask for any personal data.
Run the next check
All 23 free tools- On-Page and Indexability AuditCheck the final page's canonical, robots tags and indexability.
- XML Sitemap ValidatorConfirm your sitemap lists final URLs, not redirects.
- Internal Link FinderFind internal links that still point at old, redirected URLs.
- Robots.txt TesterMake sure robots.txt does not block the redirect target.
One clean hop keeps the move simple.
A redirect map keeps it intact.
Site migrations usually go wrong in the redirect map: old URLs left out, sent to the home page, or chained through earlier moves. Book a free 30-minute call with Sakshi Kumari or Ashish Khan, or see our technical SEO services.
A call is not an engagement. We never guarantee rankings or AI citations.




