Check the 301 and 302 redirections of a website

Pages and links | Images and files | Redirections

A redirection is not an error, so no broken link report will ever show it to you. That is exactly why redirects accumulate unnoticed until half your internal links arrive at their destination the slow way. This tool crawls your site and lists every address that answers with a 301, 302, 307 or 308, together with the pages that link to it.



Analysing the site, this can take a few minutes on a large website. Please leave this page open.

Current status: Initialising...
Pages processed: 0
Redirections found: 0

What the report sorts out for you

Not every redirection is a problem. Most sites need a few, and a correctly configured one costs almost nothing. The report separates the harmless from the expensive so that you only spend time on what matters.

What we reportWhy it appearsWhat to do
LoopThe redirections point at each other, so the page never arrives. The browser gives up and shows an error.Repair immediately. This page is unreachable for everyone.
Dead endThe redirection works but the final address answers 404 or another error.Repair. This is a broken link wearing a disguise, and a plain broken link report will not catch it.
ChainTwo or more redirections in a row before reaching the page.Point the first address straight at the final one.
TemporaryA 302 or 307, which tells search engines the move is not permanent.Check it is really temporary. If the move is permanent, use a 301 instead.
PermanentA single 301 or 308 landing on a working page.Usually nothing. Worth updating the internal link anyway, see below.

Why redirections deserve attention

Chains cost time on every single visit

Each hop in a chain is a full round trip: a request leaves the browser, the server answers, and the browser starts again at the new address. Three redirects before the page appears means three round trips paid by every visitor, on every visit, before a single byte of your content is delivered. On a mobile connection this is measured in whole seconds.

Search engine crawlers apply their own patience limit and may stop following before reaching the end of a long chain. When that happens the destination page is simply not seen.

An internal link should never need a redirect at all

A redirection exists to catch addresses you do not control: old links on other sites, bookmarks, printed references. Inside your own site you control both ends, so a link pointing at an address that redirects is a link you forgot to update. Keep the redirect for the outside world, and correct the internal link so your own pages go straight to the destination.

The distinction between 301 and 302 is not cosmetic

A 301 tells search engines the move is permanent: they transfer the accumulated ranking signals to the new address and eventually drop the old one. A 302 tells them the opposite, that the old address is the real one and will come back, so they keep it indexed and pass nothing along. Using a 302 for a permanent move is one of the most expensive small mistakes in web maintenance, and it is invisible until you look at the codes. Google states which code to use in which case in Redirects and Google Search. The status code reference covers the whole family, including 307 and 308.

The canonical chain almost every site has

This one is worth checking on your own site right now. A visitor typing the address without the prefix often travels like this:

http://example.com/page
  301  ->  https://example.com/page
  301  ->  https://www.example.com/page
  200      the page finally loads

Two redirections where one would do. Both rules are individually correct, which is why nobody notices: each was added at a different time for a good reason. The fix is a single rule that applies the protocol and the host in one step, so the first request lands directly on the final address.

Reading the results

Each entry shows the address as it was requested, then every hop with its code, then the final destination and its status. Under it you get the pages that link to that address, up to five of them, because those are the files you open to correct the link.

Work through the list in the order the report gives you: loops first since those pages are unreachable, then dead ends, then chains, then temporary redirects you meant to be permanent. Single permanent redirects landing on a working page can be left alone if you are short on time.

Fixing them

On Apache the rules live in the .htaccess file at the root of your site. To collapse the protocol and host chain shown above into one step:

RewriteEngine On
RewriteCond %{HTTPS} !=on [OR]
RewriteCond %{HTTP_HOST} !^www\.example\.com$ [NC]
RewriteRule ^ https://www.example.com%{REQUEST_URI} [R=301,L,NE]

To make a single move permanent rather than temporary, the code is part of the directive:

Redirect 301 /old-page.html https://www.example.com/new-page.html
Change one block at a time. A mistake in a rewrite rule does not produce a warning, it produces a 500 error on the whole site, or a loop that makes every page unreachable. Keep a copy of the working file before you edit, and reload the site after each change.

Our guide on fixing 404 errors covers the rest of the repair decisions, and the glossary defines redirect chain, redirect loop and canonical URL.

Common questions

Are redirections bad for my rankings?

A correctly configured permanent redirect is not. What costs you is the wrong type, chains that slow every request, and redirects that end on a missing page. Those three are what this report isolates.

How many redirects in a row is too many?

One is normal. Two is worth collapsing. Beyond that you are paying a real cost on every visit, and crawlers may not follow to the end. Google documents that its crawlers follow up to ten hops before giving up, in How HTTP status codes affect Google's crawlers. Our crawler stops after five hops and reports the address as having too many redirects.

Should I remove old redirects eventually?

Not quickly. External links and bookmarks pointing at the old address can survive for years, and removing the rule turns each of them into a 404. Fix the internal links so your own pages do not use it, and leave the rule in place for the outside world.

Why does an address I never linked appear in the report?

The crawler follows the links it finds in your pages, so every address in the report is linked from somewhere on your site. The source pages listed under the entry tell you exactly where.