Quick answer: The fastest way to check if a link redirects is to paste it into a free online redirect checker. It shows every hop, each status code (301, 302, 307, 308) and the final URL. If you're comfortable with a terminal, curl -sIL https://example.com does the same thing in one line. For a whole website, run a crawler such as Screaming Frog and filter for 3xx responses. Opening the link in your browser only shows the final address, not the steps in between.

I check redirects constantly. I do it before every site migration, after every redesign, and every time a dental client's "new website" suddenly loses its Google Maps calls. A link that quietly bounces through three redirects, or ends on a 404, costs you rankings and patients. Here are seven free ways to check, from a two-second test to a full-site audit.

Redirect status codes, explained in one table

Code Meaning When to use it SEO note
301 Moved permanently A page or domain has moved for good Google treats it as a strong signal to index the new URL
302 Found (temporary) Short-term moves, A/B tests Google may keep the old URL indexed
307 Temporary, keeps the request method Temporary moves where POST data must survive Same as 302 for SEO
308 Permanent, keeps the request method Permanent moves for forms and APIs Same as 301 for SEO
Meta refresh HTML tag redirect after a delay Avoid if you can Slower for users and a weaker signal than a 3xx
JavaScript window.location in a script Avoid for SEO-critical pages Only seen after the page renders. Many checkers miss it

Google explains how it handles each type in Redirects and Google Search.

1. Watch the address bar (2 seconds, final URL only)

Paste the link into your browser and watch the address bar. If the URL changes, the link redirected. Limitation: you won't see how many hops it took or which status codes were used. A 302 looks exactly like a 301.

2. Use a free online redirect checker (best for most people)

Search "redirect checker" and you'll find many free tools that trace a URL hop by hop. Paste the link, run it, and read:

  • Each hop in the chain
  • The status code for each step
  • The final URL and its status. You want a 200.

These tools are the safest way to check a shortened or suspicious link (bit.ly, t.co and so on), because you never open the destination in your own browser.

3. Chrome DevTools: Network tab (see everything, no install)

  1. Open Chrome, press F12 (or Cmd + Option + I on a Mac) and go to the Network tab.
  2. Tick Preserve log so the redirect steps aren't wiped.
  3. Paste the URL in the address bar and press Enter.
  4. Look at the first rows. Redirects show a Status of 301/302/307/308. Click one and check the Location response header to see where it points.

This is also how to check URL redirection in Chrome for JavaScript redirects. They appear as a new document request after the page loads.

4. Use a browser extension

Redirect-tracing extensions such as Link Redirect Trace show the full chain and status codes in one click while you browse. They're useful for spot checks during an SEO audit, and also for checking affiliate and ad tracking links.

5. Use curl in the terminal (fast and scriptable)

# Show only the first response (one hop)
curl -sI https://example.com/old-page

# Follow every redirect and print each hop's headers
curl -sIL https://example.com/old-page

# Print just the final URL and status
curl -sL -o /dev/null -w "%{http_code} %{url_effective}\n" https://example.com/old-page

Look for HTTP/2 301 (or 302, 307, 308) and the location: header on each hop. Limitation: curl doesn't run JavaScript, so it won't see JS or most meta-refresh redirects.

6. Check redirects in bulk with a crawler

For a whole website, use a crawler. Screaming Frog SEO Spider is the one I use, and it has a free version limited to 500 URLs:

  1. Enter your domain and start the crawl. Or switch to List mode and paste the URLs you want checked, such as your old sitemap.
  2. Open Response Codes β†’ Redirection (3xx).
  3. Export Reports β†’ Redirects β†’ Redirect Chains to find multi-hop chains and loops.

This is essential before and after a site migration. It's step one in my SEO website migration checklist.

7. A short script for long URL lists

import requests

urls = ["https://example.com/a", "https://example.com/b"]
for url in urls:
    r = requests.get(url, allow_redirects=True, timeout=15)
    hops = " -> ".join(f"{h.status_code} {h.url}" for h in r.history)
    print(f"{url}\n  {hops or 'no redirect'}\n  final: {r.status_code} {r.url}\n")

r.history holds every redirect response in order. Swap the list for a CSV of URLs to check thousands at once.

Which method should you use?

Situation Best method
One suspicious or shortened link Online redirect checker
Debugging your own page Chrome DevTools
Spot checks while browsing Browser extension
Developer or quick header check curl -sIL
Whole site or migration Crawler (Screaming Frog)
Thousands of URLs, scheduled Script

What to fix once you've found redirects

  • Redirect chains (A β†’ B β†’ C). Point A straight at C. Every extra hop slows the page and wastes crawl budget.
  • Redirect loops (A β†’ B β†’ A). Fix these immediately. The page can't load at all.
  • 302s that should be 301s. If the move is permanent, say so.
  • Redirects to irrelevant pages. Sending every old URL to the homepage gets treated like a soft 404. Redirect to the closest matching page, or return a 410 if there's no equivalent.
  • Internal links that hit a redirect. Update the links to the final URL.
  • http β†’ https β†’ www β†’ trailing slash. Combine these into a single hop where your server allows it.

On dental and home-service sites, the costly version of this problem is usually a redesign. The old service pages, "dental implants" or "emergency plumbing", end up redirecting to the homepage, and those rankings vanish. If you've recently moved sites and calls have dropped, my free audit checks your top pages, redirects and Google Business Profile link in one pass. For larger technical projects, see SEO consulting.

FAQ

How can I tell if a link redirects without clicking it?

Paste it into an online redirect checker. It requests the URL for you and lists every hop and the final destination, so you never open the page yourself.

How do I check redirects in Chrome?

Open DevTools (F12), go to the Network tab, tick Preserve log, then load the URL. Redirect rows show a 3xx status, and the Location header shows where each one points.

How do I check a redirect with curl?

Run curl -sIL https://example.com. The -I flag fetches headers only, and -L follows each redirect, so you see every status code and Location header in order.

What's the difference between a 301 and a 302 redirect?

A 301 says the page moved permanently, so Google moves its indexing to the new URL. A 302 says the move is temporary, so Google may keep showing the original URL.

What is a redirect chain and why is it bad?

A redirect chain is when one URL redirects to another that redirects again (A β†’ B β†’ C). Each hop adds load time and makes crawling less efficient. Point the first URL straight at the final one.

How do I check all the redirects on my website?

Crawl the site with a tool like Screaming Frog. Filter the Response Codes report for 3xx, then export the Redirect Chains report.


Khalid Hossen has worked in SEO and Google Ads for 14+ years and has served 150+ dental & local service businesses. Get a free audit to find broken redirects and lost pages on your site.