URL Reroutes For SEO: A Technical Guide

Posted by

Reroutes for SEO must be used correctly since they affect how sites are crawled and indexed by Google.

While the majority of people think about redirects as an internet detour indication, much more is occurring, and it’s surprisingly satisfying to discover.

Keep checking out for a detailed overview of redirects and the appropriate application for technical SEO.

What Is A Redirect?

Website reroutes tell internet browsers and search engines info about a URL and where to discover the webpage.

A URL redirect includes code implemented to a particular URL, or a group of URLs so that the user (or search engine) is sent out to a various page to the actual URL that was input or clicked.

A redirect can be set as a:

  • Momentary redirect: 302, 303, 307, 308.
  • Irreversible redirect: 301.

When To Utilize Redirects

The main reasons to utilize redirects are:

  • A private page or whole domain has been moved (URL altered).
  • To permit the use of URL shorteners or ‘quite URLs.’
  • Website migration (e.g., HTTP to HTTPS).

For SEO functions, URL redirects are very important because they:

  • Forward authority of any links pointing to a page that has moved or been erased.
  • Avoid 404 page not discovered errors (although often it is better to leave a 404).

Redirects can be executed on a group or domain-wide basis however frequently require to be set on a specific basis to avoid concerns.

When utilizing RegEX for group redirects, it can have unanticipated outcomes if your logic isn’t perfect!

Kinds of Redirects

There are three primary types of redirects:

  • Meta Refresh redirects are set at the page level however are usually not suggested for SEO functions. There are 2 kinds of meta redirect: delayed which is seen as a short-term redirect, and immediate, which is viewed as an irreversible redirect.
  • Javascript reroutes are also set on the client side’s page and can trigger SEO issues. Google has mentioned a preference for HTTP server-side reroutes.
  • HTTP redirects are set server-side and the best method for SEO purposes– we covered in-depth listed below.

What Is A HTTP Reaction Status Code?

Internet browsers and search engine spiders like GoogleBot are called user agents.

When a user agent tries to access a web page, what takes place is that the user agent makes a demand, and the site server issues an action.

The response is called an HTTP response status code. It offers a status for the ask for a URL.

In the situation where a user representative like GoogleBot requests a URL, the server provides a reaction.

For instance, if the request for a URL achieves success, the server will provide a reaction code of 200, which indicates the ask for a URL was successful.

So, when you consider a GoogleBot reaching a website and attempting to crawl it, what’s taking place is a series of requests and reactions.

HTTP Redirects

An HTTP redirect is a server action to request a URL.

If the URL exists at a various URL (because it was moved), the server tells the user representative that the URL demand is being rerouted to a various URL.

The action code for an altered URL is normally in the type of a 301 or 302 response status code.

The entire 3xx series of reaction codes interact much information that can optionally be acted upon by the user agent.

An example of an action that the user agent can take is to conserve a cache of the new URL so that the next time the old URL is requested, it will request the brand-new URL instead.

So, a 301 and a 302 redirect is more than a web road indication that states, “Go here, not there.”

3XX Series Of Status Codes

Redirects are more than just the two status codes everybody recognizes with, the 301 and 302 response codes.

There are a total of seven official 3xx reaction status codes.

These are the various kinds of redirects offered for use:

  • 300 Several Choices.
  • 301 Moved Completely.
  • 302 Found.
  • 303 See Other.
  • 304 Not Customized.
  • 305 Usage Proxy.
  • 306 (Unused).
  • 307 Short-lived Redirect.
  • 308 Long-term Redirect.

A few of the above status codes have not been around as long and might not be used. So, before using any redirect code other than 301 or 302, be sure that the desired user representative can translate it.

Due to the fact that GoogleBot utilizes the latest version of Chrome (called a headless web browser), it’s simple to examine if a status code works by inspecting if Chrome acknowledges the status code with a browser compatibility list.

For SEO, one must adhere to using the 301 and 302 response codes unless there is a particular factor to utilize one of the other codes.

301: Moved Permanently

The 301 status code is regularly referenced as the 301 redirects. But the main name is 301 Moved Completely.

The 301 redirect shows to a user representative that the URL (often referred to as a target resource or merely resource) was altered to another area which it must utilize the new URL for future requests.

As discussed previously, there is more info also.

The 301 status code also suggests to the user representative:

  • Future ask for the URL ought to be made with the new URL.
  • Whoever is making the demand must upgrade their links to the new URL.
  • Subsequent requests can be changed from GET to POST.

That last point is a technical problem. According to the main standards for the 301 status code:

“Note: For historic reasons, a user agent MAY change the request approach from POST to GET for the subsequent demand. If this habits is undesired, the 308 (Irreversible Redirect) status code can be used rather.”

For SEO, when online search engine see a 301 redirect, they pass the old page’s ranking to the brand-new one.

Before making a change, you need to take care when using a 301 redirect. The 301 redirects must just be utilized when the change to a brand-new URL is permanent.

The 301 status code must not be utilized when the change is momentary.

Furthermore, if you change your mind later on and go back to the old URL, the old URL might not rank any longer and may take some time to gain back the rankings.

So, the main thing to remember is that a 301 status code will be utilized when the modification is long-term.

302: Found

The main point to understand about the 302 status code is that it’s useful for situations where a URL is briefly changed.

The meaning of this reaction code is that the URL is momentarily at a various URL, and it is suggested to use the old URL for future demands.

The 302 redirect status code also comes with a technical caution related to GET and Post:

“Keep in mind: For historic factors, a user agent MAY change the request technique from POST to GET for the subsequent demand. If this habits is undesired, the 307 (Short-lived Redirect) status code can be utilized instead.”

The recommendation to “historic reasons” may describe old or buggy user representatives that might change the demand method.

307: Temporary Redirect

A 307 redirect means the requested URL is briefly moved, and the user representative ought to utilize the original URL for future requests.

The only difference between a 302 and a 307 status code is that a user agent should request the brand-new URL with the same HTTP demand used to ask for the original URL.

That implies if the user representative demands the page with a GET demand, then the user agent need to utilize a GET request for the brand-new temporary URL and can not use the POST request.

The Mozilla documents of the 307 status code explains it more clearly than the main documentation.

“The server sends this reaction to direct the client to get the asked for resource at another URI with very same method that was utilized in the prior request.

This has the same semantics as the 302 Found HTTP action code, with the exception that the user representative must not change the HTTP approach utilized: if a POST was utilized in the very first demand, a POST needs to be utilized in the second demand.”

Other than the 307 status code needing subsequent requests to be of the exact same kind (POST or GET) which the 302 can go in any case, everything else is the exact same between the 302 and the 307 status codes.

302 Vs. 307

You might manage a redirect via server config files.htaccess on Apache, example.conf file on Nginx or via plugins if you are using WordPress.

In all circumstances, they have the exact same syntax for composing redirect guidelines. They vary only with commands utilized in setup files. For example, a redirect on Apache will look like this:

Choices +FollowSymlinks RewriteEngine on RedirectMatch 301 ^/ oldfolder// newfolder/

(You can read about symlinks here.)

On Nginx servers, it will look like this:

reword ^/ oldfolder// newfolder/ irreversible;

The commands used to tell the server’s status code of redirect and the action command vary.

For instance:

  • Servers status code of redirect: “301 ″ vs. “long-term.”
  • Action command: “RedirectMatch” vs. “rewrite.”

But the redirect syntax (^/ oldfolder// newfolder/) is the very same for both.

On Apache, ensure that mod_rewrite and mod_alias modules (responsible for handling redirects) are enabled on your server.

Given that the most widely spread server type is Apache, here are examples for.htaccess apache files.

Make certain that the.htaccess file has these 2 lines above the redirect rules and put the guidelines listed below them:

Choices +FollowSymlinks RewriteEngine on

Read the main documentation to learn more about the RewriteEngine.

To comprehend the examples listed below, you may describe the table listed below on RegExp fundamentals.

* absolutely no or more times
+ One or more times
. any single character
? Absolutely no or one time
^ Start of the string
$ End of the string
| b OR operadn” |” a or b
(z) remembers the match to be utilized when calling $1

How To Create Redirects

How To Develop A Redirect For A Single URL

The most common and widely used kind of redirect is when deleting pages or changing URLs.

For example, state you altered the URL from/ old-page/ to/ new-page/. The redirect rule would be:

RewriteRule ^ old-page(/? |/. *)$/ new-page/ [R=301, L] Or RedirectMatch 301 ^/ old-page(/? |/. *)$/ new-page/

The only distinction in between the 2 methods is that the first uses the Apache mod_rewrite module, and the second uses mod_alias. It can be done using both techniques.

The routine expression “^” means the URL must begin with “/ old-page” while (/? |/. *)$ shows that anything that follows “/ old-page/” with a slash “/” or without an exact match needs to be rerouted to/ new-page/.

We might likewise use (. *), i.e., ^/ old-page(. *), however the issue is, if you have another page with a similar URL like/ old-page-other/, it will likewise be redirected when we only want to reroute/ old-page/.

The following URLs will match and be directed to a brand-new page:

/ old-page/ / new-page/
/ old-page / new-page/
/ old-page/? utm_source=facebook.com / new-page/? utm_source=facebook.com
/ old-page/child-page/ / new-page/

It will redirect any variation of the page URL to a brand-new one. If we utilize reroute in the following type:

Redirect 301/ old-page// new-page/

Without routine expressions, all URLs with UTM inquiry string, e.g.,/ old-page? utm_source=facebook.com (which prevails considering that URLs are used to be shared over a social network), would wind up as 404s.

Even/ old-page without a tracking slash “/” would wind up as a 404.

Redirect All Other than

Let’s state we have a lot of URLs like/ category/old-subcategory -1/,/ category/old-subcategory -2/,/ category/final-subcategory/ and want to combine all subcategories into/ category/final-subcategory/. We require the “all except” guideline here.

RewriteCond % REQUEST_URI!/ category/final-subcategory/ RewriteCond % REQUEST_FILENAME!-f RewriteRule ^(classification/)./ category/final-subcategory/ [R=301, L] Here, we wish to redirect all under/ category/ on the third line except if it is/ category/final-subcategory/ on the fourth line. We also have the “!-f” rule on the second line, disregarding any file like images, CSS, or JavaScript files.

Otherwise, if we have some possessions like “/ category/image. jpg,” it will likewise be redirected to “/ final-subcategory/” and trigger an image break.

Directory site Modification

You can use the rule listed below if you did a classification restructuring and want to move everything from the old directory to the new one.

RewriteRule ^ old-directory$/ new-directory/ [R=301, NC, L] RewriteRule ^ old-directory/(. *)$/ new-directory/$1 [R=301, NC, L] I used $1 in the target to inform the server that it ought to remember everything in the URL that follows/ old-directory/ (i.e.,/ old-directory/subdirectory/) and pass it (i.e., “/ subdirectory/”) onto the destination. As a result, it will be redirected to/ new-directory/subdirectory/.

I used two guidelines: one case without any tracking slash at the end and the other one with a tracking slash.

I could combine them into one guideline using (/? |. *)$ RegExp at the end, but it would trigger problems and include a “//” slash to the end of the URL when the requested URL without any tracking slash has an inquiry string (i.e., “/ old-directory? utm_source=facebook” would be redirected to “/ new-directory//? utm_source=facebook”).

Remove A Word From URL

Let’s state you have 100 URLs on your website with the city name “Chicago” and wish to eliminate them.

For the URL http://yourwebiste.com/example-chicago-event/, the redirect guideline would be:

RewriteRule ^(. *)-chicago-(. *) http://% /$1-$2 [NC, R=301, L] If the example URL remains in the form http://yourwebiste.com/example/chicago/event/, then the redirect would be: RewriteRule ^(. *)/ chicago/(. *) http://% SERVER_NAME/$1/$2 [NC, R=301, L] Set A Canonical URL

Having canonical URLs is the most important part of SEO.

If missing, you might endanger your website with duplicate content issues due to the fact that search engines treat URLs with “www” and “non-www” versions as various pages with the same material.

Therefore, you must guarantee you run the website only with one version you select.

If you want to run your website with the “www” variation, utilize this guideline:

RewriteCond % HTTP_HOST ^ yourwebsite.com [NC] RewriteRule ^(. *)$ http://www.yourwebsite.com/$1 [L, R=301] For a “non-www” variation: RewriteCond % HTTP_HOST ^ www.yourwebsite.com [NC] RewriteRule ^(. *)$ http://yourwebsite.com/$1 [L, R=301] Tracking slash is also part of canonicalization because URLs with a slash at the end or without are likewise dealt with differently. RewriteCond % REQUEST_FILENAME!-f RewriteRule ^(. * [^/]$/$1/ [L, R=301] This will make certain the/ example-page is rerouted to/ example-page/. You may pick to remove the slash rather of adding then you will require the other rule below: RewriteCond % REQUEST_FILENAME!-d RewriteRule ^(. *)/$/$1 [L, R=301]HTTP To HTTPS Redirect

After Google’s initiative to motivate site owners to use SSL, migrating to HTTPS is one of the commonly used redirects that practically every website has.

The rewrite guideline listed below can be utilized to force HTTPS on every website.

RewriteCond % ^ yourwebsite.com [NC, OR] RewriteCond % HTTP_HOST ^ www.yourwebsite.com [NC] RewriteRule ^(. *)$ https://www.yourwebsite.com/$1 [L, R=301, NC] Utilizing this, you can combine a www or non-www version reroute into one HTTPS redirect rule.

Redirect From Old Domain To New

This is also one of the most secondhand redirects when you decide to rebrand and need to change your domain. The rule below redirects old-domain. com to new-domain. com.

RewriteCond % ^ old-domain. com$ [OR] RewriteCond % ^ www.old-domain.com$ RewriteRule (. *)$ http://www.new-domain.com/$1 [R=301, L] It uses 2 cases: one with the “www” version of URLs and another “non-www” due to the fact that any page for historic reasons might have incoming links to both variations.

A lot of website owners use WordPress and might not require a.htaccess file for redirects however use a plugin instead.

Handling redirects utilizing plugins may be slightly various from what we went over above. You may require to read their documents to manage RegExp correctly for the specific plugin.

From the existing ones, I would recommend a totally free plugin called Redirection, which has many specifications to manage redirect guidelines and many helpful docs.

Redirect Best Practices

1. Do not Reroute All 404 Broken URLs To The Homepage

This case frequently happens when you are too lazy to examine your 404 URLs and map them to the appropriate landing page.

According to Google, they are still all dealt with as 404s.

If you have too many pages like this, you must think about creating gorgeous 404 pages and engaging users to browse additional or discover something aside from what they were trying to find by showing a search choice.

It is strongly suggested by Google that rerouted page content ought to be equivalent to the old page. Otherwise, such a redirect might be considered a soft 404, and you will lose the rank of that page.

2. Get Mobile Page-Specific Reroutes Right

If you have different URLs for desktop and mobile websites (i.e., “example.com” for desktop and “m.example.com” for mobile), you need to make sure to reroute users to the appropriate page of the mobile variation.

Correct: “example.com/sport/” to “m.example.com/sport/”
Incorrect: “example.com/sport/” to “m.example.com”

Likewise, you need to make sure that if one page is 404 on the desktop, it should also be 404 on mobile.

If you have no mobile version for a page, you can prevent rerouting to the mobile variation and keep them on the desktop page.

3. How To Utilize Meta Refresh

It is possible to do a redirect using a meta revitalize tag like the example below:

If you insert this tag in/ old-page/, it will reroute the user right away to/ new-page/.

Google does not restrict this redirect, however it doesn’t advise utilizing it.

According to John Mueller, search engines might not have the ability to acknowledge that kind of redirect appropriately. The exact same is likewise real about JavaScript reroutes.

4. Avoid Redirect Chains

This message shows when you have an incorrect regular expression setup and winds up in an unlimited loop.

Screenshot by author, December 2022 Generally, this happens when you have a redirect chain. Let’s state you redirected page 1 to page 2 a very long time earlier. You may have forgotten that

page 1 is redirected and chosen to redirect page 2 to page 1 once again. As an outcome, you will end up with a guideline like this: RewriteRule ^ page1/ page2 [R

=301, NC, L] RewriteRule ^ page2/ page1 [R=301, NC, L] This will create an unlimited loop and produce the error shown above. Conclusion Understanding what

redirects are and which situation needs a specific status code is fundamental to


web pages correctly. It’s a core part of understanding SEO. Many scenarios need exact knowledge of redirects, such as migrating a site to a new domain or creating a momentary holding page URL for a website that will return under its typical URL. While so much is possible with a plugin, plugins can be misused without properly understanding when and why to utilize a particular

type of redirect. More Resources: Featured Image: