TrueURL

Free redirect tool

301 Redirect Checker

Find out whether a URL redirects permanently or temporarily. TrueURL inspects every hop and tells you whether search engines will treat the move as permanent.

Permanent or temporary: why the status code matters

The status code is how a server tells search engines what kind of move it is. A permanent redirect (301 or 308) says the old URL is gone for good, so search engines index the new URL and consolidate signals such as links on it. A temporary redirect (302, 303 or 307) says the old URL will be back, so it usually stays indexed.

Visitors never notice the difference, which is why a wrong code can go unnoticed for months. Many tools send a temporary redirect unless told otherwise: PHP's header('Location: ...'), Express's res.redirect() and Apache's Redirect directive all default to 302.

How to read the verdict

TrueURL checks every hop of the chain, not just the first one:

  • Every redirect is a 301 or 308: the move is permanent. This is what you want for moved pages, domain changes and HTTPS upgrades.
  • At least one hop is a 302, 303 or 307, or a meta refresh or JavaScript redirect: the chain isn't fully permanent. Unless the move really is temporary, change those hops to a server-side 301.
  • No redirect at all: the URL answered directly. If you expected a redirect, the rule isn't active, or a cache is still serving the old page.
  • The final page doesn't load: the redirect works, but its target returns a 404, 410 or 5xx error, or a hop fails. Fix the destination, or point the redirect at the closest relevant page.

301 vs 308, and 302 vs 307

301 and 308 are both permanent, and Google treats them the same way. The difference is the request method: after a 301, browsers may turn a POST into a GET, while a 308 guarantees that the method and body are kept. Use 301 for normal pages and 308 for API endpoints or form targets that must keep receiving POST requests. The temporary pair works the same way: a 302 may change the method, a 307 never does.

For a full comparison of every 3xx code, read HTTP redirect status codes explained.

When a temporary redirect is the right choice

  • A/B tests and short campaigns that send traffic to another page for a few weeks.
  • Short outages, where a temporary redirect to a status page works, although a 503 on the original URL is the better signal for search engines.
  • Redirects based on the visitor's language, location, device or login state, where the original URL must stay indexed.
  • After a form submission (the Post/Redirect/Get pattern), where a 303 See Other sends the browser to a results page.

For everything else, especially migrations and changed URLs, use a 301.

Guides

Frequently asked questions

How do I check if a redirect is a 301 or a 302?

Enter the old URL above. TrueURL requests it without following redirects automatically and shows the exact status code of every hop. On the command line, curl -I https://example.com/old-page shows only the first response unless you add -L, and it doesn't detect meta refresh or JavaScript redirects. Our guide on how to check URL redirects explains the curl options.

Does a 301 redirect pass full SEO value?

Google has said that 301, 302 and other server-side redirects don't lose PageRank. What differs is the canonical signal: a 301 tells Google to index the new URL, while a 302 suggests keeping the old one. Rankings usually settle on the new URL once both pages have been recrawled.

How long should I keep a 301 redirect in place?

Google recommends keeping redirects for at least a year, and keeping them indefinitely is safer: old links, bookmarks and references on other sites keep using the old URL for years. A redirect rule costs almost nothing to keep.

Why does my 301 redirect show up as a 302?

Common causes are a plugin or framework that defaults to 302, a CDN or hosting rule that runs before yours, or a cached old response. Look at each hop: if the 302 comes from a different host or path than your rule handles, another layer is adding it.

Do browsers cache 301 redirects?

Yes. Browsers may cache 301 and 308 redirects for a long time, often until the cache is cleared, so a wrong 301 can stick for visitors who already followed it. While testing a new rule, use a 302 or a short Cache-Control: max-age, and switch to 301 once it's right. TrueURL doesn't cache responses, so it always shows what the server sends now.

Is a 308 redirect better than a 301?

Not for SEO, where Google treats them the same. A 308 is only better when the request method must be kept, for example for an API endpoint that receives POST requests. Some very old clients don't understand 308, so 301 remains the safe default for web pages.

Should I 301 a deleted page to the home page?

Only if the home page really is the best replacement. Google may treat redirects of removed pages to the home page as soft 404s. Redirect to the closest equivalent page, or return 410 Gone or 404 Not Found if there isn't one.