Redirect Checker: See Every Hop Between a URL and Its Final Page
Enter a URL to trace the full redirect path, hop by hop, with the status code, destination and response time of each step.
A redirect sends visitors and crawlers from one URL to another. Done well, nobody notices: one hop, the right status code, the right destination. Done badly, redirects pile up into chains of three or four hops, loops that never resolve, or temporary codes on pages that moved for good.
This redirect checker requests the URL you enter and follows each Location header and meta refresh until it reaches a final page. For every hop you see the status code, the target and the timing, and the tool flags loops, long chains and whether the http, https, www and non-www versions of a site end up on one address.
How to check a redirect
Paste the starting URL
Use the exact address people or links use, including http:// or the old domain when you are testing a migration.
Read the chain
Each row is one hop with its status code, Location target and timing. The last row is the page that actually loads.
Fix what we flag
Point links and redirects straight at the final URL, use permanent codes for permanent moves and break any loop.
Which redirect status code to use
Redirect codes are defined in RFC 9110, and Google explains how it handles each in its redirects guide:
| Code | Meaning | Use it when |
|---|---|---|
| 301 | Moved Permanently | A page moved for good. Strong signal that the target should be canonical. |
| 308 | Permanent Redirect | Same as 301, but the method and body must not change (forms, APIs). |
| 302 | Found | A short-term move. Weak canonical signal; the original URL usually stays indexed. |
| 307 | Temporary Redirect | Temporary, with the method preserved. |
| Meta refresh | HTML fallback | You can’t touch the server. Google reads an instant refresh as permanent and a delayed one as temporary. |
Google treats 301 and 308 alike, and 302 and 307 alike, so choose by intent: permanent or temporary.
Chains, loops and the 10-hop limit
Googlebot follows up to 10 redirect hops and then reports a redirect error (Google’s HTTP status guide). Aim for one: each extra hop adds a round trip for visitors on mobile networks and one more URL for crawlers to fetch. A typical redirect chain after two redesigns:
http://example.com/shop 301 → https://example.com/shop
https://example.com/shop 301 → https://www.example.com/shop
https://www.example.com/shop 301 → https://www.example.com/store/
https://www.example.com/store/ 200
The fix is to send the first URL straight to https://www.example.com/store/ and update internal links to the final address. Loops usually come from two systems disagreeing: a CMS forcing www while the server forces non-www, or Cloudflare set to Flexible SSL while the origin redirects HTTP to HTTPS, so Cloudflare keeps requesting HTTP (Cloudflare’s redirect-loop guide).
Consolidate http, https, www and non-www in one hop
All four variants of your home page should reach the same final URL with a single 301. On Apache (.htaccess):
RewriteEngine On
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} !^www\.example\.com$ [NC]
RewriteRule ^ https://www.example.com%{REQUEST_URI} [L,R=301]
On Nginx, give the redirects their own server blocks:
server {
listen 80;
server_name example.com www.example.com;
return 301 https://www.example.com$request_uri;
}
server {
listen 443 ssl;
server_name example.com;
# ssl_certificate and ssl_certificate_key here
return 301 https://www.example.com$request_uri;
}
Behind a CDN or load balancer that terminates TLS, %{HTTPS} is always off at the origin and the Apache rule loops; test the X-Forwarded-Proto header instead, or redirect at the CDN. The canonical checker confirms your variants and canonical tags agree.
Redirects during a site migration
Map every old URL to its closest new equivalent, not to the home page: Google tends to treat mass redirects to an unrelated page as soft 404s. Keep the redirects for at least a year, as Google’s site move guide recommends, and longer if old URLs still earn links. To verify a whole mapping at once, paste the old URLs into the bulk HTTP status checker.
Tips for clean redirects
- Update internal links, canonicals and sitemap entries to the final URL instead of relying on redirects.
- Switch a 302 to a 301 as soon as you know a move is permanent.
- Let pages that are truly gone return 404 or 410 rather than redirecting them somewhere irrelevant.
- Test in a private window or with the checker: browsers cache 301s aggressively, so your own browser can hide a fixed or broken rule.
- Keep query strings when redirecting campaign URLs so analytics parameters survive the hop.
Limits to keep in mind
The checker follows HTTP redirects and meta refresh tags; it doesn’t run JavaScript, so redirects made with window.location won’t appear. It requests the URL from our server with one user agent and no cookies, so redirects based on country, language, device or login can differ from what your visitors get. For those cases, use the Network panel in Chrome DevTools with “Preserve log” turned on.
Last updated Oct 30, 2026 by the Yes SEO team.
Redirect Checker: frequently asked questions
What is the difference between a 301 and a 302 redirect?
A 301 says the page moved permanently, so Google moves its signals to the new URL and usually indexes that one. A 302 says the move is temporary, so the original URL tends to stay in the index. Use a 302 only for genuinely short-term cases such as a seasonal promotion.
Do redirects lose link value?
Google has stated that 30x redirects don’t cause a loss of PageRank. The real costs are extra load time for each hop and the risk of chains and loops, so keep redirects to one hop and update links to the final URL.
How many redirects in a row is too many?
One is ideal and two is tolerable. Googlebot gives up after 10 hops, but long before that each hop adds delay for visitors on slow connections.
Why does Chrome show a 307 Internal Redirect my server never sent?
That is HSTS. Once a site has sent a Strict-Transport-Security header, Chrome upgrades http links to https on its own and labels it a 307 Internal Redirect. This checker has no HSTS memory, so it shows your real server response.
Does a meta refresh count as a redirect for SEO?
Yes. Google treats an instant meta refresh like a permanent redirect and a delayed one like a temporary redirect. A server-side 301 is still better: it is faster and every crawler understands it.
Can I check many URLs at once?
This tool traces one URL in full detail. For a list, use the bulk HTTP status checker, which takes up to 50 URLs and shows each status code and redirect target.