Skip to content. | Skip to navigation

301 vs 302 Redirects

There are two types of HTTP redirect:

301 - Moved permanently

302 - Moved temporarily


If your site is returning 302 when redirecting from a legacy URL to a current URL, you might consider changing this to a 301, if possible.

Here's why:

Each legacy page is presumably already in Google's index. Associated with that page is all of the proprietary Google meta-data that is used to calculate relevance, results rankings, etc. You can think of it as each legacy page in Google has accumulated a certain value, based on, we might guess, how many external pages link to that page, how many times people click on that page in search results, etc. No one really knows exactly how that aspect of Google works.

When you redirect with "301 - Moved permanently", all of that Google "value" is transferred to the new page. When you redirect with "302 - Moved temporarily", that's not the case.

Now, when Google next crawls the site, all of those new pages will be just that, new pages. If, on the other hand, Google knows that a new  page is also a 301 redirect from some previous page that it knows about, the new page has history and value that it wouldn't
otherwise have.

Implementing 301 Redirects in ASP / Visual Basic

Many developers may chose to implement redirects using the Request.Redirect method. This results in a 302 Moved Temporarily which is usually not desirable. Instead, developers should do the following:

<%@ Language=VBScript %>
<%
' Permanent redirection
Response.Status = "301 Moved Permanently"
Response.AddHeader "Location", "http://www.somacon.com/"
Response.End
%>
 
For more information on this technique, visit Permanent Redirect with HTTP 301 This article also provides information on doing 301 redirects in Perl, PHP , ColdFusion, and mod_rewrite.

 
 
Document Actions