Every page on the web has an address, a URL, which stands for ‘Uniform Resource Locator’. Sometimes, content moves from one URL to another URL. That’s when you need a redirect. A redirect automatically makes a browser go from one URL to another URL.
A redirect can point to any other URL: it doesn’t need to point to the same website. Redirects to another domain are sometimes referred to as cross-domain redirects.
Types of redirects
There are several ways of making a browser redirect. Redirects can be divided into two classes: serverside redirects and client-side redirects. Each of these can then be sub-divided into several types.
Serverside redirects are performed directly on the server and result in a tiny bit of content being sent to the browser, in so-called HTTP status headers. The browsers then know where to go and will follow immediately. These HTTP headers have a code for the type of serverside redirects, and a new location to which the browser should take you.
Browsers will cache a 301 redirect and immediately perform it again next time without needing to fetch the original URL again until the cache is cleared. This is, for instance, the case with language or geo-location based redirects. Browsers will not cache a 302 redirect, so the server will be getting a request for the original URL every time. Search engines will follow the redirect, but maintain the old URL in their index. Because too many systems use a 302 by default, instead of a 301, search engines tend to treat long-standing 302s like 301s in many ways. Browsers will never cache 307 redirects. Search engines might not always follow 307 redirects as they’re deemed temporary.
|Redirect type||Use case||Browser impact||SEO Impact|
|301||A permanent redirect, used for when a page has moved or for when a page has been deleted and similar content can be found elsewhere.||Search engines follow the redirect and will add the new URL to the index. Links pointing to the old URL will be counted towards the ranking of the new URL.|
|302||A temporary redirect, used for when a page needs to be temporarily moved, or for when the original URL should always be requested.||307||An “improved” temporary redirect, that will always be treated as temporary by search engines.|
|308||Hardly ever used, a 308 means “follow this redirect and never go to the old URL again”.||Browsers will hard cache 308 redirects.||Similar to a 301.|
A client-side redirect is the result of some code that runs in the browser and then redirects the ‘client’, the browser, to another URL. To be able to run that code, it needs to be sent to the browser first, and therefore this is always a slower solution. Prevent client-side redirects as much as possible.
There are two types of client-side redirects: the so-called
When to create a redirect
You should create redirects when:
- You’re moving from one system to another and change URLs because of that.
- You deleted a page and there is similar content available elsewhere.
- You’re merging the content of several pages into one.
Read more: Which redirect should I use? »