Web Performance 101
Regularly tracking and maintaining existing redirects on your website is an important part of web site performance and optimization.
Join the DZone community and get the full member experience.Join For Free
Websites are no longer just simple HTML pages with static content — they’ve evolved into a dynamic interface with features and content that are updated regularly. Website administrators use different techniques to ensure the user is viewing the latest version of the page or content. When new features are being added to the site, or a web page resource has been moved to a new location, you don’t want the users to access these pages. Preventing access can be done with the use of web page redirects. Incoming HTTP requests can be redirected to another location on the site so the user experience is seamless. Web page redirects can be used to:
- Redirect users to the mobile version of the site.
- Redirect users to secured pages.
- Redirect users to the latest version of the resource/content.
- Redirect users to pages specific to their geolocation.
- Redirecting canonical URLs.
Types of Redirects
There are two main categories of redirects: server-side and client-side. A server-side redirect uses HTTP code to specify the status of the web page, which enables the server to redirect the user to the valid URL. The common server-side redirects are explained below.
301: Moved Permanently
When an HTTP request returns a 301 status code, it informs the browser that the requested resource has been permanently moved to a new location and provides the address of the new location. It is usually used when there is a domain change, or to redirect old or non-existent pages to new URLs.
These are temporary redirects that are used when a resource needs to be temporarily served from a different location. For example, if you are making changes to certain pages on your site and don’t want the users to access these pages, then you will need to set up redirects to forward the user to a different page.
307: Moved Temporarily
These function the same way as a 302 and is used when a page needs to be redirected temporarily, but 302 is only set up when the incoming request is either the HEAD or GET method; in all other instances of a temporary redirect, 307 is the recommended HTTP redirect.
304: Not Modified
The status code 304 specifies whether the requested resource has been modified since it was last requested. It then redirects the request to fetch the content from the cache instead of the server.
Performance Impact of Redirects
Each redirect on a page adds latency to the overall page load time. Too many redirects translate to higher page overhead and this delays the page load. When a user enters a domain into the browser and hits enter, the DNS resolution process is triggered and the domain is resolved to its corresponding IP address in a few milliseconds. If the landing page has another redirect, then the browser repeats the entire DNS resolution process once again to guide the user to the correct web page. The multiple redirect requests are taxing on the browser resources and slow down the page load.
Web page load time is also affected by internal redirects; for example, if the page tries to load content from a URL that has been redirected to newer or updated content, then the browser must create additional requests to fetch the valid content. These redirects result in additional round trips between the browser and the web server which pushes the load time higher; the perceived performance is degraded every time the browser encounters a redundant redirect.
Common Redirect Errors
Redirects are usually implemented to optimize SEO, to maintain page ranking, and to improve user experience by redirecting users away from outdated pages and serving fresh content. If the redirects are not implemented correctly, it can cause various performance issues that can have a negative impact on the user’s digital experience. Here are some issues caused by redirects:
The higher the number of redirects on a page, the higher is its page load time. Superficially, adding redirects may not seem like a major roadblock for performance. It is implemented mainly to improve SEO and provide a fluid user experience. The issues surface when there are too many redirects in the page structure. Multiple redirects are a huge overhead to the website and can slow it down significantly.
Consider the data below — the website has 160 objects on the page, out of which 46 are redirects, and this inevitably slows down the site. The page takes almost 13 seconds to fully load.
There are often instances where the website administrator sets up bulk redirects without verifying the validity of the redirects. The site may also have old redirects that were never cleaned up. This can cause several issues on the site like broken links and 404s.
When there are several redirects on the page that are linked to each other, it creates a chain of redirects which may loop back to the same URL that initiated the redirect. This results in a redirect loop error, like the one displayed below, and the user will not be able to access the site.
Implementing Redirects the Right Way
To ensure that user experience is not negatively affected by the redirects on your website, ensure you follow the best practices while implementing them. Here are some points to consider:
Avoid Redundant Redirects
It’s recommended to avoid redirects where possible and to use this method only when absolutely needed. This will cut down unnecessary overhead and improve the perceived performance of the page.
When a URL is linked to another URL, this creates a chained redirect. Each URL added to the chain adds latency to the page. Chained redirects have a negative impact not only on page speed but also SEO.
You may have hundreds of redirects on your website and it could be one of the main factors affecting page speed. Old redirects may conflict with new URLs and backlinks can cause odd errors on the page. It is recommended to verify all the redirects you have set up and to remove the ones that are no longer needed. Retain the old links that have major referral traffic, while those that are rarely accessed can be removed. This exercise will help improve page speed significantly.
It’s best to minimize the use of redirects. If it is an indispensable part of your SEO strategy, then check the existing redirects before adding new ones and delete those that are no longer needed. Regularly tracking and maintaining existing redirects on your website should be an important part of site optimization.
Published at DZone with permission of Kameerath Abdul Kareem, DZone MVB. See the original article here.
Opinions expressed by DZone contributors are their own.