views:

157

answers:

2

I am using a link on my site name "sign_up". When you click on sign it, it checks what language you have selected and what curreny, and permanently redirects you to the correct page using a 301 redirect.

Is this bad for SEO? Keep in mind, this is the way it will remain. I'm not eventually going to get rid of it?

+1  A: 

The HTTP 301 status code makes no sense at all in this case because you are performing a redirection based on client settings and preferences. How would the crawler know which is the right environment?

Take the following screnario

client A connects to /signup with preferences X 
=> 301 to /en/signup
client B connects to /signup with preferences Y 
=> 301 to /it/signup
client C connects to /signup with preferences X
=> 301 to /en/signup

Which would be the winner? Nobody. A 301 makes sense only when an URI uniquely and permanently redirects to an other location.

Additionally, trying such kind of optimization for a signup page IMHO seems to be a little insane. Many SEOs are used to exclude the signup page and similar pages via nofollow attribute.

Simone Carletti
I agree. But is the solution to find a better way to handle the sign up page, or to just accept it as it is?
RD
I can't understand the reason why you absolutely want to concentrate your SEO efforts on that page. A 302 redirect is enough.
Simone Carletti
+2  A: 

The 301 status code means that the URI given in the Location header field should be used to reference the requested resource in the future:

The requested resource has been assigned a new permanent URI and any future references to this resource SHOULD use one of the returned URIs.

So the requested URI is no longer the “primary” URI for that resource.

But in your case the 302 status code or 307 status code would be better. Or you don’t make a redirect but send the right contents right away together with a Content-Location header field with the actual URI of the sent resource (see Common HTTP Implementation Problems).

Gumbo