Configuring redirects on a website: how to avoid mistakes
What is a redirect
Redirects are used for the following purposes:
- using the .htaccess file in the root directory of the website;
- in the control panel of the hosting provider;
- on the page of a website using JS, PHP or HTML code.
Basic errors related to redirects
- multi-step redirects ("redirect chains") to pages where redirects are already configured. The redirect should lead to the desired page without a subsequent redirection;
- redirects to irrelevant pages. Redirects should lead to the content requested by a user. You must not configure redirects to a page that has significant differences from the original one, for example, to a completely different product in an online store;
- redirects to deleted or inactive pages. You can only configure redirects to pages with a server response 200 which indicates their correct operation;
- redirects for doorways, i.e. websites that are optimized for a number of queries and have no user value. These resources are created specifically for redirecting users to other websites and the use of them contradicts recommendations of search engines;
- configuring a redirect instead of rel=canonical. If the page content is duplicated, for example, in print or mobile versions, it is preferable to specify a canonical address;
- a very significant mistake is to configure a "302" redirect instead of a "301" redirect when changing a domain, deleting a page or changing a URL.
Redirect types
- 300 Multiple Choices — multiple choices. There are several addresses to which a user is redirected depending on their choice or the browser settings:

- 301 Moved Permanently is a permanent redirect to a new address. This is the most popular redirect type removing the old address from the index, but retaining all its parameters and passing them to the new one. This option is also suitable for removing duplicates. You can apply it if you no longer need to use the current page or domain;
- 302 Found is a temporary redirect to another address. A "302" redirect is leading you to a new page that is not indexed, and all results stay at the old URL. This type is not suitable if you change a domain;
- 303 See Other is a redirect to a page that uses the GET method to display it. This redirect indicates that the document was found, but you need to use the GET request method to go to it even if the HEAD or POST were originally used. It is rarely used, for example, when one document was found as a result of a user search on a website. In this case, you can immediately redirect the visitor to it using a "303" redirect without showing the search results separately;
- 304 Not Modified is a redirect indicating that the document has not been changed. This is a response the browser receives when it re-accesses a page that has not been modified. In this case, it must be downloaded from the browser cache;
- 305 Use Proxy is a redirect to a page which is performed through a proxy; its address is transmitted to the browser;
- 306 Switch Proxy is not used at the moment. This redirect previously meant that future requests should occur through the transmitted proxy;
- 307 Temporary Redirect is a redirect similar to a "302" redirect by its activity. It also temporarily replaces the address of the original version which is not removed from the index. Unlike a "302" redirect, it eliminates the ambiguity about whether to change the document request method.
How to configure redirects
How to specify a "301" redirect in .htaccess







Configuring a "301" redirect via scripts
To redirect the entire website, the following code must be placed in the index.php file:
<?php
header("HTTP/1.1 301 Moved Permanently");
header("Location: https://www.new-site.ru");
exit();
?>
JS Redirect
You can use various JavaScript functions to configure redirects. Regardless of the implementation you choose, you must place the code inside the <script> </script> tags on the HTML page. A JS redirect requires that the source page from which the redirect is configured continues to exist. Here are the options of the redirect functions:
- document.location="https://www.new-site.com";
- window.location.replace("https://www.new-site.com");
- window.location.reload("https://www.new-site.com");
- document.location.replace("https://www.new-site.com");
- location="https://www.new-site.com/";
- a redirect after 10 seconds with a redirect message to a user:
function Redirect()
{
window.location="https://www.new-site.com";
}
document.write("Our website has a new address, you will be redirected to it in 10 seconds");
setTimeout('Redirect()', 10000);
The code is written in the <head> element; a redirect occurs in 5 seconds:
<head>
<meta http-equiv="refresh"="5;URL=https://www.new-site.ru" />
</head>
Configuring redirects in the hosting control panel

Conclusion
- Using redirects allows you to redirect visitors when changing a domain, set redirects to similar products in the online store and fight duplicates;
- most often a "301" redirect is used for search engine optimization, as well as a "302" and a "307";
- technically you can implement redirects using the .htaccess file, or by placing the necessary HTML, JS or PHP codes on the website pages.

Run Site Audit |
Learn how to get the most out of Serpstat
Want to get a personal demo, trial period or bunch of successful use cases?
Send a request and our expert will contact you ;)
Cases, lifehacks, researches and useful articles
Don’t you have time to follow the news? No worries!
Our editor Stacy will choose articles that will definitely help you with your work. Join our cozy community :)
By clicking the button, you agree to our privacy policy.
Comments