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.
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...
-
My pleasure!

-
Hi Marcus
Thanks for your great answer! This makes a lot of sense and I agree that 303 seems to be the suitable response if they were used "semantically"...
I do not agree with the general setup they made with this user detection (particularly since the root URL is not accessible but gets redirected). So I'm just out for a quick fix here for something that is not set up optimally in general.
I think I will stick with the 302 - it's not so easy to decide, but in such cases I think what Google itself does is a good reference. So thanks for pointing that out!
We won't get link juice from the domain's root using 302s (or less), but I will try to solve this otherwise by actually making that URL accessible.
Thanks a lot!
-
Hey Philipp
Okay, SEO aside here and assuming folks are landing on your site and not on the section of the site that is targeted to their location / language (which is a whole other discussion but not your question as far as I can tell) then you want to redirect these users to the correct language pages.
So, we have two options here:
- HTTP 301 - Moved Permanently: Now I don't feel this is correct. The resource has not moved, it is just not correct for this user based on their language preference.
- HTTP 302 - Found: This is used to indicate the resource has temporarily moved to another location so is maybe more suitable as results from page A will not be completely ignored
In fact, if you dig into the HTTP status codes documentation a better option here would seemingly be a 303 which is classified as 'The response to the request can be found under another URI' and for my money that is more suitable. But, problem is, no one seems to use the 303 redirect and everyone seems to use the 302 in it's place.
So, I ask myself, what does Google do? When I visit www.google.com from the UK I am always redirected to the www.google.co.uk site. Is this a 301, 302, 303 or something else entirely? So, I checked quickly in webbug (or you can do it Chrome by looking at the Network tab in Tools > Developer Tools > Network Tab) and it redirects with a 302 status code.
Request: HEAD / HTTP/1.1
Host: www.google.com
Connection: close
Accept: /
User-Agent: WebBug/5.0Response: HTTP/1.1 302 Found
Location: http://www.google.co.uk/So, I am not sure there is a definitive answer as from a search engine perspective we would want to folks landing on the right page due to our geo location and language targeting but that does not escape the need to show people the content in the correct language.
If this was me and I was dead set on a redirection I would go with a 302. I can't claim that is an authoritative answer but it is certainly my opinion based on my research here.
I guess the alternative would be to maybe detect the users language settings and load a pop up that then allows them to select and redirect so it is not done at the request / response level but rather a choice the user makes themselves (then maybe cookies or other options could be used to deal with language for those users on subsequent visits). In the UK http://www.babycenter.com/ does this and it pops up asking me which version of the site I would like to visit (choice is always a good thing).
Possibly a good question to ask in the Google Webmaster Help Forum: http://productforums.google.com/forum/#!forum/webmasters as you will often get a Googler pop up to answer specific questions or this question may well have been asked before (albeit in a different way). If this is not search focused then really it comes down to what you think works best for your users.
Hope that helps!
MarcusSome further reading if it helps:
- http://support.google.com/webmasters/bin/answer.py?hl=en&answer=182192
- http://support.google.com/webmasters/bin/answer.py?hl=en&answer=62399
- http://www.mattcutts.com/blog/seo-advice-discussing-302-redirects/
- http://en.wikipedia.org/wiki/List_of_HTTP_status_codes
- http://en.wikipedia.org/wiki/HTTP_302
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
-
301 Redirects for Multiple Language Sites in htaccess File
Hi everyone, I have a site on a subdomain that has multiple languages set up at the domain level: https://mysite.site.com, https://mysite.site.fr , https://mysite.site.es , https://mysite.site.de , etc. We are migrating to a new subdomain and I am trying to create 301 redirects within the htaccess file, but I am a bit lost on how to do this as it seems you have to go from a relative url to an absolute - which would be fine if I was only doing this for the english site, but I'm not. It doesn't seem like I can go from absolute url to an absolute url - but I could be wrong. I am new to editing the htaccess file - so I could definitely use some advice here. Thanks.
Intermediate & Advanced SEO | | amberprata0 -
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 -
Hacked website - Dealing with 301 redirects and a large .htaccess file
One of my client's websites was recently hacked and I've been dealing with the after effects of it. The website is now clean of malware and I already appealed to Google about the malware issue. The current issue I have is dealing with the 20, 000+ crawl errors which are garbage links that were created from the hacking. How does one go about dealing with all the 301 redirects I need to create for all the 404 crawl errors? I'm already noticing an increased load time on the website due to having a rather large .htaccess file with a couple thousand 301 redirects done already which I fear will result in my client's website performance and SEO performance taking a hit as well.
Intermediate & Advanced SEO | | FPK0 -
For URLs that require login, should our redirect be 301 or 302?
We have a login required section of our website that is being crawled and reporting as potential issues in Webmaster Tools. I'm not sure what the best solution to this is - is it to make URLs requiring a login noindex/nocrawl? Right now, we have them 302 redirecting to the login page, since it's a temporary redirect, it seems like it isn't the right solution. Is a 301 better?
Intermediate & Advanced SEO | | alecfwilson0 -
How do you 301 redirect URLs with a hashbang (#!) format? We just lost a ton of pagerank because we thought javascript redirect was the only way! But other sites have been able to do this – examples and details inside
Hi Moz, Here's more info on our problem, and thanks for reading! We’re trying to Create 301 redirects for 44 pages on site.com. We’re having trouble 301 redirecting these pages, possibly because they are AJAX and have hashbangs in the URLs. These are locations pages. The old locations URLs are in the following format: www.site.com/locations/#!new-york and the new URLs that we want to redirect to are in this format: www.site.com/locations/new-york We have not been able to create these redirects using Yoast WordPress SEO plugin v.1.5.3.2. The CMS is WordPress version 3.9.1 The reason we want to 301 redirect these pages is because we have created new pages to replace them, and we want to pass pagerank from the old pages to the new. A 301 redirect is the ideal way to pass pagerank. Examples of pages that are able to 301 redirect hashbang URLs include http://www.sherrilltree.com/Saddles#!Saddles and https://twitter.com/#!RobOusbey.
Intermediate & Advanced SEO | | DA20130 -
301 Redirect from ASP.NET to PHP...Is it possible?
Hi all, I'm trying to migrate my current website over to wordpress however my current website is ASP.NET and obviously Wordpress uses PHP. Is it possible to perform a 301 redirect from a asp.net to a php? Or do you need to convert the asp.net language into php? Or something different? I welcome your thoughts? Regards, Thomas Rochford
Intermediate & Advanced SEO | | CoGri0 -
301 Redirect of subdomain?
Fellow Mozzers, I'm having a hard time wrapping my brain around a redirect issue and thought it was worth posing the question to the Moz community. I did a search first but couldn't find the exact answer I was looking for. How does a 301 redirect work when you redirect a sub domain example.homepage.com to www.homepage.com but you keep the sub directories of example.homepage.com/page-1 active and are trying to rank them? I'm dealing with a current project where this is happening and this doesn't make sense to me, to redirect the subdomain if you're also trying to rank/create search traffic for pages, sub directories on example.homepage.com. This also get's into the debate of if a sub domain site is viewed as it's own website and therefore has to rank itself. If this is true, it seems like we're kind of killing the authority of the site by redirecting it. Additionally, www.homepage.com has a much stronger link profile than example.homepage.com I hope this makes sense. Any thoughts are appreciated. Thanks for your time.
Intermediate & Advanced SEO | | SMG-Texas0 -
How To 301 Redirect .html pages
I need to redirect a page/URL that is purely .html to a new location. I don't know how to do this. All the redirects I can find are for server side code pages .php/.aspx etc. From my understanding I can't put a server side redirect in a .html file. I am hosting on a microsoft server, however the new page I am redirecting to is .php. I am running some WordPress (.php) files on the server. I need to make it redirect before the old page loads so visitors don't start reading something that is about to get redirected Can someone please help me?
Intermediate & Advanced SEO | | MyNet0