11 Types Of Redirects & Their SEO Impact
A redirect sends people and search engines to a new web address when the old one has changed. It works a lot like mail forwarding. For example, when someone moves to a new home and sets up mail forwarding, their letters go to the new address. Redirects do the same thing for web pages; anyone trying to visit the old page gets sent to the new one.
When to Use Redirects
Redirects are useful when you:
- Move a website or a web page
- Combine pages that are too similar
- Merge two or more websites
- Remove a page, but still want to guide users somewhere
- Change your page URLs to make them cleaner
Types of Redirects and How They Affect SEO
Redirects help search engines figure out which page to show in search results. This is part of a process called canonicalization, where search engines choose one main version of a page.
Redirects are important for this and help avoid duplicate content problems.
There are many myths about redirects. We want to explain them clearly so they’re easy to understand.
Redirects can be either permanent or temporary. The type you use tells search engines whether the new page should stay or might change again. It also affects which page appears in search results.
Redirects can also be server-side (happening on the server) or client-side (happening in the browser). Server-side redirects might come from your hosting server, a CDN, or your domain name provider. Client-side redirects happen in the user’s browser and can be added in different ways.
Best Ways to Use Redirects
For permanent redirects, we prefer to use them in this order:
308 / 301 > Meta refresh 0 / HTTP refresh 0 > JavaScript > Crypto
For temporary redirects, this order works best:
307 / 302 / 303 > Meta refresh 0 / HTTP refresh 0
What Are Permanent Redirects?
Permanent redirects tell search engines that a page has moved and will not come back. Use a permanent redirect when you:
- Change the address of a page for good
- Move to a new domain
- Switch from HTTP to HTTPS
- Fix problems with www and non-www versions of your website
- Merge several pages or websites permanently
- Change the structure of your URLs for good
These redirects send link signals (like backlinks) to the new page. That way, the new page gets all the credit. For example, if the old page had 10 links pointing to it, the new page will now benefit from those same 10 links.
But if the old and new pages are not closely related, Google might ignore the redirect and treat it like a “soft 404,” meaning it thinks the old page is gone and doesn’t pass the link value.
For example, if a blog post is redirected to a homepage, and they are about very different things, Google may not transfer the link power.
Side note: In some rare cases, Google may still show the old URL in search, even if a redirect is in place. Sometimes, Google treats temporary redirects as permanent ones, and sometimes it does the opposite.
Want to Know How Google Sees Your Redirect?
Here’s how to check:
- Go to Google Search Console
- Click Links > External Links > Top linked pages
- Find and click on the new URL (use filters to help)
- Compare the referring domains of the old page (you can find these in Ahrefs’ Site Explorer)
- If you don’t see matches, Google may be treating it as a soft 404
- If you do see matches, click to view actual links. If the old page’s URL appears under “Target URL,” that means Google is sending the link value to the new page
Next, let’s look at some common types of permanent redirects.
HTTP 301:
A 301 redirect is a server-side redirect. It tells browsers and search engines that the page has moved to a new address for good. It forwards both people and bots to the new URL.
HTTP 308:
A 308 redirect is much like a 301. The main difference is that it keeps the original request method (GET or POST). This matters when forms are involved. For SEO, 308 works the same as 301.
JavaScript Redirects:
JavaScript redirects use code to tell the browser to go to a different page. Since this needs the page to load first, it happens on the user’s browser and is not always the best option. Google does try to load and understand these pages, but sometimes things go wrong. Other redirect types are more reliable. In some tools like Next.js, we can set JavaScript redirects using a redirect function in the settings.
Meta Refresh (0 seconds):
This type of redirect tells the browser to send the user to another page after a short delay, usually right away (0 seconds). It happens in the browser and needs to be placed in thesection of the HTML.
HTTP Refresh (0 seconds):
An HTTP refresh works like a meta refresh, but the message is in the HTTP header instead of the page itself. It can be added on the server, but it still runs on the browser.
Crypto Redirect:
A crypto redirect doesn’t actually send users to a new page, but shows a message saying the page has moved. Google often sees this as a permanent redirect and passes signals to the new page. Still, it’s better to use other redirect types because not all bots or search engines may understand this one.
Temporary Redirects:
Temporary redirects are used when a page moves for a short time. We can use temporary redirects when:
- We want to show users a different version of the site based on their location or language.
- We’re testing different designs or features on a webpage.
- We’re running a sale or offer and want to send users to that page for a limited time.
These redirects give a weak signal to Google. That means search engines may not move the page’s value (like backlinks) right away. Instead, they often keep the value on the original page.
But over time, if enough signals build up, Google might treat the temporary redirect as permanent. At first, the old page may still show in search results, but later, the new page might take its place.
There’s no fixed time for this change to happen. Sometimes it takes days, other times weeks or months. And in some cases, the switch never happens. For example, many global websites use 302 redirects to send users to local versions of their homepage, and Google still keeps the old URLs in the results.
Sometimes, Google even treats a temporary redirect as permanent right away. We once redirected one site to another using a 302 redirect. Google quickly removed the old site from the results and showed the new one instead.
To check how Google sees your redirect, you can use the URL Inspection tool in Google Search Console. If it says “URL is not on Google,” the redirect might be treated as permanent. If it’s still on Google, then it’s likely seen as temporary. Just check the last crawl date. If the crawl date is older than your redirect, ask Google to reindex and check again later.
Let’s now go over the different types of temporary redirects.
HTTP 302:
A 302 redirect sends users to a new URL and tells search engines that the page has only moved for a short time.
HTTP 307:
A 307 redirect works like a 302. But it keeps the original method (like GET or POST) when redirecting. This is useful if a form is being used. Switching between GET and POST could break the form. Sometimes you may see a different type of 307 in your browser. This is called a cached redirect and is linked to HSTS. It tells the browser to always use HTTPS.
Google won’t always see this 307 because it is stored in the browser. The first request will show a 301 or 302. But after that, your browser may show 307. To see the real code, use a fresh Incognito window.
HTTP 303:
A 303 redirect is also temporary. It sends users to a different but related page. It’s often used to stop form resubmissions when clicking the browser’s back button. It’s not common for SEO, but Google treats it like a 302 or 307.
Meta Refresh (>0 seconds):
If a meta refresh happens after more than 0 seconds, it is seen as temporary. This type tells the browser to redirect after a set number of seconds. It runs in the browser, so it’s client-side. You need to place this in thepart of the HTML.
HTTP Refresh (>0 seconds):
Like the meta refresh, if it’s more than 0 seconds, it’s seen as temporary. It works like a meta refresh but is set in the HTTP header. It runs on the browser even though it’s set on the server.
Server-side Redirects:
This type of redirect is handled by the server. It usually uses codes like 301, 302, 303, 307, or 308. This method is best for SEO.
Server-level:
These redirects happen directly on your web server. How you set them up depends on your hosting provider and server type. Popular server types include Nginx, Apache, Cloudflare, LiteSpeed, Microsoft-IIS, and Node.js. If you’re using a CMS like WordPress, Shopify, Wix, or Joomla, the redirects are likely server-level.
In WordPress, the redirect plugin edits the .htaccess file, which is in your site’s root folder. We also have examples of redirecting a domain, switching from www to non-www (or the other way), and moving from HTTP to HTTPS. Some systems apply the redirect right away. Others only apply it after the old page is removed. This can help avoid errors.
DNS-level:
DNS settings are often managed by your domain registrar or CDN provider. These are usually used for site migrations. Some hosts let you choose a redirect status code like 301 or 302.
Recently, some providers also allow HTTPS redirects at this level. This wasn’t possible before, but is now supported by some providers.
CDN-level:
Many CDNs let you set redirects in different ways. On Cloudflare, for example, you can create single or bulk redirects, page rules, or use workers to control headers and add redirects. We often prefer to use CDN-level redirects because they work fast and early in the request. But the best choice is what’s easiest for you. For many users, server-level is the simplest way.
Client-side Redirects:
These happen in the browser, not on the server. The user may see the old page before being redirected. You should only use client-side redirects if you don’t have other options.
HTML Redirects:
We already talked about meta refresh and JavaScript redirects. Both run in the browser and are client-side. Meta refresh should be added to thepart of your HTML.
HTTP Header Response
This is like a meta refresh, but happens in the HTTP response. Even though it is server-side, it still runs in the browser.
CDN-level (in some cases)
As mentioned, Cloudflare workers let you change content before users see it. You can add a client-side redirect this way, but it’s not common. Other methods are usually better and easier.
Best Practices for Redirects
Here are a few simple things to check when working with redirects:
1. Redirect from HTTP to HTTPS:
All websites should use HTTPS for better security. To check if your site redirects from HTTP to HTTPS, you can use the Ahrefs SEO Toolbar. Try going to the HTTP version of your homepage. It should redirect to the HTTPS version. This kind of redirect should be permanent, so you want to see a 301 or 308 status code. Sometimes, a 307 redirect shows up in the browser, but the server should still return a 301 or 308.
Here is another way to check:
- Open Ahrefs’ Site Audit
- Click + New Project
- Choose Add manually
- Set the scope to HTTP
- Enter your website’s domain
You should see a message saying “Not crawlable” for both www and non-www versions. You should also see a note that says “301 moved permanently.”
2. Use HSTS to Force HTTPS (Creates 307 Redirects):
When you set up HSTS (HTTP Strict Transport Security) on your server, it tells browsers to always use HTTPS. This means if someone tries to visit your site using HTTP, their browser will use a 307 redirect to switch it to HTTPS. This happens inside the browser, so bots and search engines don’t see this type of 307.
After setting up HSTS, it’s a good idea to add your site to the HSTS preload list. This helps all users get the secure version of your site, even if they’ve never visited it before.
3. Redirect Old Pages That Still Matter:
Websites change over time. In a study we did, we found that about two-thirds of web pages lost their links over nine years.
If your old pages have links from other websites and they’re not redirected to your new pages, those links won’t help your site anymore. You can still fix this and recover the value from those links. Redirecting old URLs can also help your new content rank better.
Here’s how to find pages that need redirects:
- Enter your domain in Ahrefs’ Site Explorer (also free in Ahrefs Webmaster Tools)
- Go to the Best by links report
- Filter by HTTP status code 404 Not Found
- Sort the list by “Referring domains” to see which pages had the most links
4. Avoid Long Redirect Chains:
Redirect chains happen when one URL sends visitors to another, which then sends them to another, and so on.
Google says it can follow up to 10 redirects in a row, so having a few isn’t always a problem. In one crawl, Googlebot follows 5 redirects, and it can come back later to finish the rest. But if there are more than 10 steps and the page doesn’t load, Google Search Console will show a redirect error in the Index Coverage report.
Some people try to remove even just one extra step in a chain. But this usually isn’t a big deal.
We don’t worry too much if a redirect chain has fewer than 5 steps. But if it goes beyond 5, there may be issues. That’s when we suggest fixing them.
Here’s how to check for long redirect chains using Ahrefs Webmaster Tools (free to use):
- Crawl your site using Site Audit
- Go to the Redirects report
- Click the Issues tab
- Look for the “Redirect chain too long” error
5. Avoid Redirect Loops:
Redirect loops happen when a URL keeps redirecting in a circle—either to itself or back to an earlier URL in the chain.
These loops can cause three main problems:
- For users: The page won’t load, and the browser shows a “too many redirects” error
- For bots: Search engines get stuck and waste their crawl budget
- For servers: The server keeps handling requests and wasting resources. Some bots might handle it, but others may not, and this can even lead to your server slowing down or going offline
You can find redirect loops easily with Ahrefs’ Site Audit tool:
- Run a crawl using Site Audit
- Go to the Redirects report
- Click the Issues tab
- Look for the “Redirect loop” error
- Click on it, then click “View affected URLs” to see which URLs are involved
To fix a loop, first check if the last URL in the loop is where you actually want users to land. If it is, just remove the extra redirect and make sure the page loads normally with a 200 status code.
It also helps to update any internal links so they go straight to the final URL instead of passing through a redirect.
6. Avoid Broad Redirect Rules:
Sometimes people set up redirect rules that are too general. For example, a rule might redirect everything after a certain folder to one page.
This means many different URLs might all end up going to one place, even if that’s not what users were looking for.
To test for this, try visiting a page like yourdomain.com/asfkljlkdfs or use a random folder.
- If it shows a 404 page, that’s okay
- If it redirects somewhere, there might be a redirect rule that’s too broad
While these rules aren’t always harmful, they can be confusing for users. In some cases, they can even cause trouble. For example, if a hacker added bad pages to your site and linked to them, and you later redirected those pages, you might accidentally give value to those spam links.
7. Watch Out for Expired Certificates:
If we move to a new domain and the old site used HTTPS, an expired certificate can cause problems. Bots may still go through, but real users might see an error and won’t get redirected properly.
To avoid this, we can use multi-domain certificates that work for several sites. Some DNS providers now also support HTTPS redirects, which helps prevent this issue.
8. Keep Redirects for at Least 1 Year:
Google recommends keeping redirects active for at least one year. After that, the page signals should stay in place.
We’ve tested this and found it to be true. It’s a good idea to keep redirects going as long as possible, maybe even forever.
Before removing any redirects, we should check if users are still visiting the old pages.
9. Don’t Forget to Redirect Other Files During a Migration:
When we move to a new site, it’s not just the web pages we need to redirect. We should also redirect things like images and PDF files, especially if they bring in traffic. There’s no need to worry about files like JS, CSS, or font files. Just focus on the files that show up in search results.
Tips for Troubleshooting Redirects for SEO
Here are some simple ways to check if redirects are working right:
1. Finding Which System Is Handling Redirects
In big websites, redirects can be handled by many systems. It’s important to know which one is causing the redirect.
We can look at the HTTP headers to find out. For example, if we use a plugin like “Redirection” on our blog, it adds a special header called X-redirected-by to show that it made the redirect.
2. Redirects Might Only Work for Certain User-Agents
Some redirects are set to happen only for specific user-agents (like different browsers or bots). We can test this by changing the user-agent in an SEO tool, like our SEO Toolbar, and see if the redirect still happens.
3. Redirects Can Show Wrong Status Codes
Sometimes a page might look like it’s working fine (200 OK status), but it’s still redirecting behind the scenes. We should always double-check and not rely only on what the status code says.
Partner with our Digital Marketing Agency
Ask Engage Coders to create a comprehensive and inclusive digital marketing plan that takes your business to new heights.
Final Thoughts
Using regular expressions (regex) can help save time when we need to set up many redirects at once. We can search online for regex guides or use a tool like regex101 to test patterns.