301 Redirect Checker

301 Redirect Checker

Confirm that a URL returns HTTP 301 — the only status code Google treats as a clean signal to consolidate link equity. Trace every hop, see the final destination, and catch silent 302s.

wifi_tethering
expand_more
link
info For testing self-signed certificates
verified

Status verdict

Tells you 301 vs 302/307/308 in plain English — no guessing.

route

Full chain

Shows every hop, the final URL, and total redirect count.

travel_explore

SEO signals

Pulls canonical, X-Robots-Tag, and Location on each hop.

What it does

Made for SEO migrations and link audits

A 301 is the only redirect status Google treats as a strong, permanent move. Any 302 or 307 in your migration path is leaking authority. This tool surfaces the exact status code at every hop so you can fix the chain before it costs traffic.

check_circle

Plain 301 verdict

See instantly whether each hop is 301 (good for migrations) or 302/303/307/308 — and what each means for link equity.

account_tree

Full hop-by-hop chain

Trace every redirect from your input URL to the final destination, including HTTPS upgrades and trailing-slash normalization.

storefront

Bot-eye view

Send the request as Googlebot, Bingbot, or any custom UA. Some sites only return a 301 to crawlers.

shield

Canonical & X-Robots-Tag

Inspect canonical and X-Robots-Tag on every hop — the two signals that decide whether a redirected URL ranks.

speed

Per-hop latency

See how many milliseconds each hop adds, so a chain of 301s does not become a Core Web Vitals problem.

webhook

JSON API

Same engine exposed at /api/check. Drop it into your CI to fail builds when a 301 silently flips to a 302.

How it works

Three steps, one verdict

Paste, run, read the verdict. The chain rendering shows you exactly where a 301 turns into something else.

  1. 1

    Paste your URL

    Use the old URL (the one you want to be redirected). HTTP or HTTPS, with or without www — we handle the rest.

  2. 2

    Pick a user agent

    Leave on Chrome for what users see, or switch to Googlebot to verify what search engines see.

  3. 3

    Read the chain

    Each hop shows status code, latency, canonical, and X-Robots-Tag. A clean migration is one 301 to the new URL — nothing else.

Who uses it

Built for the people who own redirects

Anyone touching URLs at scale eventually needs to prove that a redirect is permanent.

SEO managers running migrations

Audit your old → new URL map before launch day. A single 302 in the chain can leak rankings for weeks.

Developers shipping URL changes

Verify your framework actually emits a 301 — many defaults are 302 or 307, which is wrong for permanent moves.

Agencies auditing client sites

Quickly check whether legacy redirects are still serving 301s after a CMS or hosting change.

Content teams consolidating duplicates

Make sure your duplicate-content cleanup uses 301s so rankings consolidate into the canonical URL.

QA before deploys

Confirm that redirects shipped in the latest deploy still return 301 and end at the right URL.

Link builders verifying old URLs

Old backlinks pointing to deprecated URLs only pass authority if they end at a 301 — verify before you celebrate.

Best practices

How to pass a 301 audit

Five rules that separate a redirect that preserves rankings from one that quietly burns them.

looks_one One hop, not three

Each extra hop adds latency and risk. Redirect old URL → final URL directly, not old → temp → www → final.

sync_lock Use 301, never 302, for permanent moves

302 tells Google "this is temporary, keep the old URL indexed." If the move is permanent, that is the wrong signal.

language Pick one canonical host

Decide on www vs non-www and HTTPS vs HTTP up front. All other variants should 301 to the canonical one.

history Keep 301s in place for at least a year

Google needs months of repeated crawls to fully transfer signals. Removing the redirect early resets the clock.

link_off Avoid redirect loops

A redirect that points back to itself or to another URL in the same chain wastes crawl budget and serves a soft 404 to users.

FAQ

Common 301 questions

What is the difference between 301 and 302? expand_more

301 is a permanent redirect — Google transfers link equity to the new URL and eventually drops the old one from the index. 302 is temporary — Google keeps the old URL indexed and treats the move as reversible. Use 301 for migrations, 302 only for genuinely temporary redirects (A/B tests, sale pages, geographic landing).

Does a 301 pass full PageRank? expand_more

Yes. Since 2016 Google has confirmed that 301, 302, and other 3xx redirects pass link equity equivalently. The reason to prefer 301 for permanent moves is not equity transfer — it is index consolidation. A 301 tells Google to replace the old URL with the new one in its index.

How long should I keep a 301 in place? expand_more

At minimum 12 months, ideally indefinitely. Even after Google has fully transferred signals to the new URL, external sites still link to the old URL — removing the redirect creates 404s for those visitors. The cost of keeping a 301 forever is near zero; the cost of breaking it can be permanent traffic loss.

How many 301 redirects in a chain are too many? expand_more

Google has stated it will follow up to about 10 redirect hops, but every hop adds latency and dilutes user experience. Aim for at most one hop in production — if your audit shows three or more, rewrite the rules so the original URL points directly to the final destination.

Why does my server return 302 even though I configured 301? expand_more

Common causes: a CDN or reverse proxy in front of your origin is rewriting the response; a framework default (Express, Flask, Nuxt) emitted res.redirect() which is 302 by default; a WordPress plugin is intercepting the request. Use this checker with the Chrome UA to see what users get and with Googlebot to confirm crawlers see the same.

Do 301s work for HTTPS migrations? expand_more

Yes — in fact a 301 from http:// to https:// is the standard way to migrate. Combine it with HSTS so future visits skip the redirect entirely. Verify in this tool that the chain is one hop: http://example.com → https://example.com/ with status 301.

Is the result the same as cURL? expand_more

For status code and Location header, yes. This tool additionally extracts canonical, X-Robots-Tag, and renders the chain visually so you do not have to parse curl -IL output. The same engine is at /api if you prefer JSON.

Ready to audit a 301?

Paste any URL above and get the full redirect chain in under a second. Free, no signup, JSON API at /api.

north Check a 301 now