Moz Q&A is closed.
After more than 13 years, and tens of thousands of questions, Moz Q&A closed on 12th December 2024. Whilst we’re not completely removing the content - many posts will still be possible to view - we have locked both new posts and new replies. More details here.
Multiple 301 redirects for a HTTPS URL. Good or bad?
-
I'm working on an ecommerce website that has a few snags and issues with it's coding.
They're using https, and when you access the website through domain.com, theres a 301 redirect to http://www.domain.com and then this, in turn, redirected to https://www.domain.com.
Would this have a deterimental effect or is that considered the best way to do it. Have the website redirect to http and then all http access is redirected to the https URL?
Thanks
-
My personal rule of thumb - as few redirect jumps as possible. Three main reasons:
1. User journey + Browsers - Sometimes when there are too many redirects taking place, some browsers find it difficult to follow through and would simply not load the page. Also, even if there were only 2-3, the browser may load, but users on slower connections may find it tiresome waiting for content to load.
2. As ThompsonPaul highlights, you COULD lose some link value due to dilution through 301 redirects.
3. Multiple 301 redirects are often used by spammers and I foresee in the near future these causing a lot of ranking headaches. The older the site, the longer the chain might end up - for example, imagine you had a product at:
https://domain.com/product1
Links to that page exist at domain.com/product1The journey would be: domain.com/product1 >http://domain.com/product1 > https://domain.com/product1
Now imagine a year down the line, product 1 is discontinued and you decide to redirect https://domain.com/product1 to domain.com/product2
Imagine your journey now:
domain.com/product1 >http://domain.com/product1 > https://domain.com/product1 > domain.com/product2 >http://domain.com/product2 > https://domain.com/product2
This could carry on indefinitely in the lifetime of the site...
Best solution: Decide what version of the site you want to use and simply try and use only one redirect, not a chain. Periodically check for chained redirects and resolve as you go along. (I try and do this bi annually).
-
To answer your specific question, Jason, yes, there's an issue with those URLs going through two consecutive redirects.
Each redirect, like any link, costs a little bit of "link juice". So running through two consecutive redirects is wasting twice as much link juice as if the origin URL redirects immediately to the final URL without the intermediate step. It's not a massive difference, but on an e-commerce site especially, there's no point in wasting any. (Some folks reckon the loss could be as high as 15% per link/redirect.) Plus, I've occasionally seen problems with referrer data being maintained across multiple redirects (anecdotal).
Hope that answers your specific question?
Paul
-
I agree with Jane. Unless there are reasons why the whole site needs to be secure, it makes more sense for just the areas where sensitive information is being submitted to be SSL encrypted.
http: requests are processed more quickly than https: ones due to the SSL handshake required to produce the cryptographic parameters for the user's session - so your site would be a little quicker if you weren't using SSL.
However, if you do decide to use http: rather than https: for the product & category pages like Jane has suggested - you'd need to ensure that the https: versions of these pages redirect to http:... again to avoid duplicate content.
-
Hi Jason,
To add to what Yusuf has said, is there a specific reason why the whole site has to use SSL, rather than just the parts of the website where sensitive information is passed? If so, I would be tempted to recommend that the e-commerce pages (products, categories, etc.) remain on HTTP URLs.
Cheers,
Jane
-
Hi Jason,
It's fine to 301 redirect from http: to https: and it's quite common for sites that use SSL. It's exactly the same principle as redirecting from a non-www to www (e.g. http://example.com to http://www.example.com) - which is considered to be good practice. But there should only be a single redirect. So you should ensure that http://example.com redirects to https://www.example.com without first redirecting to http://www.example.com.
I would also make sure that all pages (not just the homepage) redirect from http: to https: too to ensure there are no duplicate content issues on the rest of the site.
Got a burning SEO question?
Subscribe to Moz Pro to gain full access to Q&A, answer questions, and ask your own.
Browse Questions
Explore more categories
-
Moz Tools
Chat with the community about the Moz tools.
-
SEO Tactics
Discuss the SEO process with fellow marketers
-
Community
Discuss industry events, jobs, and news!
-
Digital Marketing
Chat about tactics outside of SEO
-
Research & Trends
Dive into research and trends in the search industry.
-
Support
Connect on product support and feature requests.
Related Questions
-
Help with force redirect HTTP to HTTPS
Hi, I'm unsure of where I should be putting the following code for one of my Wordpress websites so that they redirect all HTTP requests to HTTPS. RewriteEngine On RewriteCond %{HTTPS} !=on RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] This is my current htaccess file: *missing
Intermediate & Advanced SEO | | Easigrass0 -
301 redirect hops from non-https and www
It's best practice to minimize the amount of 301 redirect hops. Ideally only one redirect hop. It's also best practice to 301 redirect (or at least canonical) your non-https and/or your non-www (or www) to the canonical protocol/subdomain. The simplest (and possibly the most common) way to implement canonical protocol/subdomain redirects is through a load balancer or before your app processes the request. Both of which will just blanket 301 to the canonical domain/protocol regardless if the path exists or not In which case, you could have: Two hops. i.e. hop #1 http://example.com/foo to https://example.com/foo, hop #2 https://example.com/foo to https://example.com/bar 301 to a 404. Let's say https://example.com/dog never existed, but somebody for whatever reason linked to it (maybe a typo). If I request https://www.example.com/dog, the load balancer would 301 to a 404 page. Either scenario above should be fairly rare. However, you can't control how people link to you. Should I care about either above scenario? I could have my app attempt to check if the page exists before forwarding, but that code could be complicated.
Intermediate & Advanced SEO | | dsbud0 -
301 redirects Ruby on Rails
Can anyone point me to the best way to implement 301 redirects on a Ruby on Rails website?
Intermediate & Advanced SEO | | brianvest0 -
Best-practice URL structures with multiple filter combinations
Hello, We're putting together a large piece of content that will have some interactive filtering elements. There are two types of filters, topics and object types. The architecture under the hood constrains us so that everything needs to be in URL parameters. If someone selects a single filter, this can look pretty clean: www.domain.com/project?topic=firstTopic
Intermediate & Advanced SEO | | digitalcrc
or
www.domain.com/project?object=typeOne The problems arise when people select multiple topics, potentially across two different filter types: www.domain.com/project?topic=firstTopic-secondTopic-thirdTopic&object=typeOne-typeTwo I've raised concerns around the structure in general, but it seems to be too late at this point so now I'm scratching my head thinking of how best to get these indexed. I have two main concerns: A ton of near-duplicate content and hundreds of URLs being created and indexed with various filter combinations added Over-reacting to the first point above and over-canonicalizing/no-indexing combination pages to the detriment of the content as a whole Would the best approach be to index each single topic filter individually, and canonicalize any combinations to the 'view all' page? I don't have much experience with e-commerce SEO (which this problem seems to have the most in common with) so any advice is greatly appreciated. Thanks!0 -
Geo-Redirect: good idea or not?
Hi Mozzers, The background: I have this very corporate .com domain which is used worldwide. Next to that, we have another .com domain which is specifically created for the US visitors. Within the organic rankings, we notice that our corporate domain is ranking much better in the US. Many visitors are arriving on this domain. As it is a corporate domain being used worldwide, they get lost. My questions: I know there are ways to redirect by location. Would it be smart to automatically redirect US visitors for the corporate domain to the commercial US-specific domain? Is it possible to only redirect US visitors and leave the website as it is for visitors from other countries. Won't this harm the corporate website (organically) worldwide? If this would be a good idea, any recommended plugins or concrete procedures? Thank you so much for helping me out!
Intermediate & Advanced SEO | | WeAreDigital_BE
Sander0 -
Can an incorrect 301 redirect or .htaccess code cause 500 errors?
Google Webmaster Tools is showing the following message: _Googlebot couldn't access the contents of this URL because the server had an internal error when trying to process the request. These errors tend to be with the server itself, not with the request. _ Before I contact the person who manages the server and hosting (essentially asking if the error is on his end) is there a chance I could have created an issue with an incorrect 301 redirect or other code added to .htaccess incorrectly? Here is the 301 redirect code I am using in .htaccess: RewriteEngine On RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /([^/.]+/)*(index.html|default.asp)\ HTTP/ RewriteRule ^(([^/.]+/)*)(index|default) http://www.example.com/$1 [R=301,L] RewriteCond %{HTTP_HOST} !^(www.example.com)?$ [NC] RewriteRule (.*) http://www.example.com/$1 [R=301,L] Could adding the following code after that in the .htaccess potentially cause any issues? BEGIN EXPIRES <ifmodule mod_expires.c="">ExpiresActive On
Intermediate & Advanced SEO | | kimmiedawn
ExpiresDefault "access plus 10 days"
ExpiresByType text/css "access plus 1 week"
ExpiresByType text/plain "access plus 1 month"
ExpiresByType image/gif "access plus 1 month"
ExpiresByType image/png "access plus 1 month"
ExpiresByType image/jpeg "access plus 1 month"
ExpiresByType application/x-javascript "access plus 1 month"
ExpiresByType application/javascript "access plus 1 week"
ExpiresByType application/x-icon "access plus 1 year"</ifmodule> END EXPIRES (Edit) I'd like to add that there is a Wordpress blog on the site too at www.example.com/blog with the following code in it's .htaccess: BEGIN WordPress <ifmodule mod_rewrite.c="">RewriteEngine On
RewriteBase /blog/
RewriteRule ^index.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /blog/index.php [L]</ifmodule> END WordPress Thanks0 -
Language Detection redirect: 301 or 302?
We have a site offering a voip app in 4 languages. Users are currently 302 redirected from the root page to /language subpages, depending on their browser language. Discussions about the sense of this aside: Is it correct to use a 302 redirect here or should users be 301 redirected to their respective languages? I don't find any guideline on this whatsoever...
Intermediate & Advanced SEO | | zeepartner1 -
Htaccess Redirect with %C2%A0 in URL
Below is my setup for redirects in .htaccess file in my root word press installation. The www to non-www works well, so no problems there Other page redirects work well, too (example: redirect 301 /some-page/ http://mysite.com/another-page/ (I didn't post those because I have a few too many : ) So here it goes... RewriteEngine On
Intermediate & Advanced SEO | | pepsimoz
RewriteCond %{HTTP_HOST} ^www.mysite.com$ [NC]
RewriteRule ^(.*)$ http://mysite.com/$1 [R=301,L] BEGIN WordPress <ifmodule mod_rewrite.c="">RewriteEngine On
RewriteBase /
RewriteRule ^index.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]</ifmodule> END WordPress redirect 301 /archives/10-college- majors/ http://mysite.com/archives/10-college-majors/ redirect 301 /archives/10-college-%20majors/ http://mysite.com/archives/10-college-majors/ redirect 301 /archives/10-college-%C2%A0majors/ http://mysite.com/archives/10-college-majors/ I'm having a problem with the last 301 redirect: redirect 301 /archives/10-college-%C2%A0majors/ http://mysite.com/archives/10-college-majors/ not working... As you can see I've tried using other varations of the "space" but no go. I also used a redirect in cPanel's Redirect screen; testing all the possible options + wildcard I've also tried this: http://serverfault.com/questions/201829/using-special-characters-in-apache-mod-rewrite-rule (perhaps unsuccessfully, because it caused a 500 server error and it's a different situation in my case) I also saw something here: http://www.webmasterworld.com/apache/3908682.htm but I don't know if it works and how I would implement that + do so without compromising ALL other redirects. Note: the URL displays with a space in the address bar of all major web browsers: http://mysite.com/10-college- majors/ and goes to a 404 page I have a goregous page / PR6 / high authority site linking to the URL on my site, but they copied the URL with a space somehow. I contacted the person responsible for the website and he claims it works fine (aka he didn't check it). Is there a clean way to redirect ONLY this problematic URL without compromising other redirects, etc? Any ideas would be great. I'll respond with progress. Thanks in advance. UPDATE the redirect works, and it did work. Even so, when looking at source of page linking to mine, the URL looks like this: ``` http://mysite.com/archives/10-college- majors/ Clicking the URL in Source View in FireFox takes me to ``` http://mysite.com/archives/10-college-%C2%A0majors/ none of my 301 redirects should direct there. I don't have any redirect plugins either.0