Redirect Checker
Paste a URL and see every redirect it goes through: each 301, 302 or meta refresh, the HTTP status code of every hop, and where it finally lands. Chains, loops and broken destinations are flagged with the fix. Up to 10 URLs at once, free, no signup.
What the redirect checker shows
Browsers follow redirects silently, so a page that takes three hops to load looks exactly like one that loads directly. This tool follows the redirects itself, one request per hop, and writes each one down:
- The HTTP status code of every hop, from the first 301 or 302 to the final 200, 404 or 500, with what each code means for Google.
- What each redirect changes: HTTP to HTTPS, adding or dropping www, a trailing slash, letter case, another path or another domain.
- Meta refresh redirects in the HTML, which server-only tools miss, with their delay.
- The response time of each hop, and the X-Redirect-By header that names the WordPress plugin or system that set the redirect, when the site sends one.
- A verdict with the fix: chains to collapse, loops to break, temporary redirects that should be permanent, HTTPS downgrades and destinations that answer with an error.
Paste one URL, or up to 10 one per line to check a migration or a list of old links in one go.
301, 302, 307 or 308: which redirect to use
Use a 301 (or 308) whenever a page has moved for good, which is almost always: a new URL structure, HTTPS, a new domain, merging two pages. Google treats a permanent redirect as a strong signal that the new URL is the one to index and moves the old URL's signals to it. A 302 or 307 tells Google the old URL is coming back, so it may keep showing the old one. Leaving a temporary redirect in place for months is one of the most common reasons a new URL takes a long time to replace the old one in search.
| Status code | What it means for Google |
|---|---|
| 301 Moved Permanently | The page moved for good. Google indexes the new URL. Use it for migrations, HTTPS and domain changes. |
| 308 Permanent Redirect | Same as 301 for Google, and the request method is kept. Fine for any permanent move. |
| 302 Found | A temporary move. Google may keep the old URL indexed. Use it only for moves you will undo. |
| 307 Temporary Redirect | Same as 302 for Google, with the method kept. Also sent by browsers for HSTS upgrades. |
| Meta refresh | A redirect in the HTML, not the server. Google follows an instant one; a delayed one counts as temporary. |
| 200 OK | The final page loads. This is where every chain should end. |
| 404 Not Found, 410 Gone | The destination does not exist. Google drops it, and the redirect sends visitors to an error. |
| 5xx, 429 | Server errors or rate limits. Google retries, but lasting errors push pages out of the index. |
How to fix redirect chains and loops
A redirect chain is A to B to C: each hop costs visitors a round trip and Google a crawl, and one broken hop in the middle strands the whole chain. Chains usually grow by accident, when an HTTPS rule, a www rule and a trailing slash rule each add their own hop, or when a page that already redirected moves again. The fix is to send A straight to C with one 301, then update internal links, canonical tags and your sitemap to C so nothing points at the old addresses.
A redirect loop is a chain that comes back to itself, such as a www rule and a non-www rule fighting each other. Browsers show "too many redirects" and Google cannot index any URL in the loop. Look at the two hops the checker shows on either side of the loop: they name the rules that disagree. Google follows up to 10 hops before it gives up, so a long chain fails the same way a loop does.
Redirected URLs should never be listed in an XML sitemap: list only final pages that answer 200. The sitemap checker finds and tests your sitemap, and the guide to Page with redirect in Search Console explains what Google reports for these URLs.
Check redirects as Googlebot or Bingbot
Some sites redirect differently depending on who asks: mobile visitors to an m. subdomain, other countries to a local version, bots to a login page. Run the same URL as a browser and as Googlebot Smartphone or Bingbot and compare the chains. A redirect only crawlers get, or a 403 only Googlebot gets, is worth fixing first. Our requests come from our own servers, so a firewall that checks Google's IP addresses may refuse the Googlebot run; the Googlebot simulator shows the full response and compares it with a browser's.
The checker does not run JavaScript, so a redirect made with window.location will not show up. Google can follow JavaScript redirects after rendering, but a server-side 301 is faster and more reliable for every search engine.
Redirects are fixed. Now get the new URLs indexed
After a migration or a URL change, the old addresses drop out of Google as the new ones get indexed, and every day in between costs traffic. If a page still is not indexed once its redirects are clean, the why is my page not indexed checker finds the reason.
IndexMachine gets the new URLs in on autopilot. It runs Google's own Request Indexing in your Search Console for every page Google hasn't indexed, with your full daily quota on every site, and sends every new URL to Bing, Yandex, Seznam and Naver through unlimited IndexNow. No link farms. Of 1,841 pages IndexMachine requested, 1,418 (77%) were on Google, typically by our first check about 3 days after the request. Sign up free to see which of your pages Google hasn't indexed, or compare plans on the pricing page.
FAQ
What does a redirect checker do?
It requests a URL and follows every redirect the server sends, one hop at a time, until it reaches a final page. For each hop it shows the HTTP status code, the address it leads to and how long the server took, so you can see chains, loops, temporary redirects and broken destinations that a browser hides.
What is the difference between a 301 and a 302 redirect?
A 301 (or 308) says the page has moved for good: Google indexes the new URL and passes the old one's signals to it. A 302 (or 307) says the move is temporary: Google may keep the old URL in its index. Use 301 for migrations, HTTPS and domain changes, and 302 only for moves you will undo.
How many redirects are too many?
Aim for one. Google follows up to 10 redirect hops and reports a redirect error after that, but every extra hop slows visitors down and wastes crawling. When the checker shows two or more hops, point the first URL straight at the final one and update your links and sitemap to the final URL.
Do redirect chains hurt SEO?
A short chain does not lose ranking signals, but it slows pages down, uses crawl budget and breaks easily: one bad hop in the middle and the final page is never reached. Long chains and loops stop Google from indexing the page at all. Collapsing each chain to a single 301 fixes all of that.
Why does a URL redirect for Googlebot but not in my browser?
Some sites redirect by user agent, country or cookie, and some firewalls refuse requests that claim to be Googlebot but do not come from Google's addresses. Run the check once as a browser and once as Googlebot: a different chain or a 403 for Googlebot only shows where to look. Confirm with URL Inspection in Search Console.
Can I check redirects in bulk?
Yes. Paste up to 10 URLs, one per line, and each gets its own chain and verdict, with a summary of how many are clean, need work or are broken. It is a quick way to spot check a migration: paste a sample of old URLs and confirm each lands on its new page with one 301.
Elevate your digital presence
Getting your pages indexed by Google is the first crucial step in your search engine optimization journey.
Fix indexing issues. Let the SEO magic begin.
Free account. Import may take a while for big sites, Google rate-limits Search Console.
See pricing