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.
Login redirect 302
-
Ok - anyone knows what to do with the temporary redirect to the login page?
In our e-commerce system we have a checkout page, which requires user to be logged in - if they are not, we redirect them to the login page using simple php header("Locaiton: url"). This however has been found as a Warning as it's a temporary redirect. I can't really put there permanent redirect for obvious reasons so if someone could give me some clue on this situation that would be much appreciated.
-
No problem at all. Glad I could help. I think you've got it under control. I tend to over-think things a little bit after a long night, haha.
Last two cents...
There's a Magento extension I use on one of my stores that's very similar to what you're thinking of.
On the checkout page, the very first form requires the user to enter the billing info (just name, email, address, etc... not payment info), as well as password, and has a checkbox that asks the user if they would like to "Register for Future Convenience."
Above this first form there's a simple a link at the top that says "Already Registered? Login here." which replaces the billing info form with a login form if clicked.
I think something like that would work perfectly for your situation, you'd just need the addition of a password field to the billing info section, and a link that replaces the billing section with a login form when clicked. Depending on which method/form is displayed your button text would either be "Login and Continue" or "Register and Continue."
For new users who need to register, the only additional step as opposed to a "Guest Checkout" would be filling out a password field.
Good luck man.
-Anthony
-
Thanks Anthony,
I'm glad you like the site

I think I'm going to simply display login form directly on the checkout page if user is not logged and use canonical url to inform the crawlers that it is serving login page. We don't have access restriction to the basket so we shouldn't have a problem with it and out registration and login forms are on the separate pages - so again, these could be easily indexed by search engines.
Thanks for the advice - much appreciated!
-
Its not the link juice of the checkout page, its the link juice of the link pointing to the checkout page that is wasted.
if you did not have a link to the checkout page at all, but rather a link like login.aspx?url=checkout.aspx then you could redirect after the login, you would need a canonical in the login page to cater for the url parameter, but this way the link juice would go to the login page that is not behind authentication, and as long as you have a link back to the home page the link jucie would be returned. This way you will no longer have the warning, nor would you have the link juice leak
-
Thanks Alan - although I'm not sure what your suggestion to the problem is here.
We do have the redirect after login to point back to the checkout, but this isn't really the problem.
The fact that checkout is redirecting to the login is what the problem is referring to.
I'm not bothered whether search engines will drop the juice to the checkout page as it's behind the login anyway - I just want to make sure that the Warning is gone saying that there's a temporary redirect.
From what I can see the only way to do it is to serve the login page if they are not logged in under the checkout url and use canonical url to indicate that it is in fact the url of the login page.
It is a shame though that there isn't an option to inform search engines that the page they are trying to access is login protected.
-
Hey Sebastian,
I took a look at your site and I see what you're saying about guest checkout. Very nice by the way. I'm definitely going to keep your contact info handy so I'll have it the next time I need a custom modules built.
I do think adding the login form to the basket.html page would be the best way to go in this case. The only problem with that is if the user clicks on the Checkout button and bypasses the View Basket page...
Again, my php skills are horrible but I guess the general idea for the rule would be something like this:
For basket.html - if userisnotloggedin then echo HTML for the login form above the current basket.html content.
For checkout.html - if userisnotloggedin then echo HTML for login form above the current checkout.html content.
The problem with this scenario is that if the user isn't registered, you'd aslo need to dynamically display the HTML from register.html on the basket or checkout page when a user clicks "Register Now", instead of redirecting to a new page.
Could get a little complicated but it should eliminate the 302 warning.
Also, when I created an account I noticed I had to confirm it, so unless you've had problems with fake accounts, I'd remove that step from the conversion process.
Personally, I use the robots.txt file to disallow robot access to all of my cart, checkout, and account pages (login, register, or after login). The only drawback is you don't have the "Register" page indexed, but I don't think it's very likely that a user would land on a Registration page from a search engine result and proceed to register for a site without viewing any other content first.
Removing those pages from the index, combined with adding a no-follow tag to the View Basket and Checkout buttons links should get rid of the 302 error and any duplicate content issues without having to change your conversion flow, which seems to be very straightforward and user-friendly as it is.
It seems like you've got the skills to make it happen either way though, and keeping a user on the checkout page instead of redirecting them somewhere else never hurts.
I don't think the 302 warning will be affect your rankings much as it is, but to wrap it up... I'd either add the necessary Login and Registration forms to both the basket and checkout pages (only if the user isn't logged in) or disallow indexing of those pages and no-follow any links pointing to them, so the 302 isn't an issue.
-Anthony
-
You can send people directly to the login page and then send them to the checkout page when loged in.
You can allow googles ip to go to the page without authentication, but you might be seen as cloacking.
You could show a login on checkout page then, with ajax show page after login,
Or you can leave it how it is. Your only problem is that you are wasting link juice on the link that gets 302'ed
I prefere option 1, use a parameter to pass final destination, but put a canonical tag in the login page, make sure you have a link on the login page back to your home page to get the link juice back
-
Thanks Anthony,
The system is custom built so I can modify it the way I really need, however I cannot allow guest checkout as each purchase is associated with the account and in order to access goods (which in this case are video tutorials) user has to have an account so it wouldn't work that well in this situation.
An option perhaps would be to display login on the checkout page if user is not logged in, however in this case I will have a problem with duplicate content, unless I use the canonical url to indicate that checkout page is actually serving the login page.
We don't provide the after login access to the crawlers so that shouldn't be a big problem I guess.
Do you think this scenario would work?
-
Hi Sebastian,
What eCommerce platform are you using?
To be honest, I think the best solution would be to allow users to checkout without being logged in. Most eCommerce stores allow Guest Checkout because a lot of customers don't want to be forced to create a permanent account in order to make a purchase. I'm pretty positive you'd see an increase in Conversion Rate if you enable users to make purchases as guests.
If that's not an option for some reason, you might try letting the user create the account during the checkout process rather than redirecting them to the normal account creation page.
I'm pretty sure there's a way to redirect users to a page without using a 302 via php, but I'm far from being an expert in that language. On my eCommerce site if a customer clicks a link like "Order Tracking" or "Order History" without being logged in they're first taken to the login page, and then after logging in they're redirected to the original page that was requested. I'm not showing any 302 warnings from these links though. I'm using Magento, and while I'm very well versed in that CMS, I've got very little experience with other eCommerce platforms and can't really help you out with anything technical.
Again, I definitely think the best course of action would be to allow non-registered users to make purchases, which would eliminate the problem entirely and increase conversions.
Hope this helps and good luck!
-Anthony
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 Redirect - Rank Recovery Examples?
Hi All, I recently did a 301 redirect. Page to Page and the notified google via its console. Its been 6 days since. The home page and one other high traffic page swopped out with the new domain on google search index with 3-4 drops in ranking for each. The rest of the sites pages have been indexed but still reflect the old domain when searched. Recently today my home page dropped even further to the second page of google index for the specific keyword. Can you share similar experiences and how long it took you to recover rank fully? and how long for all pages to swop out on google search's index? Regards Mike
Intermediate & Advanced SEO | | MikeBlue10 -
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 -
Redirect domain or keep separate domains in each country?
Hi all Hoping this might be something that can be answered given the number of variables 🙂
Intermediate & Advanced SEO | | IsaCleanse
My main site is www.isacleanse.com.au (Obviously targeted to Australian Market) and also www.isacleanse.co.nz targeted to NZ. The main Keywords im targeting are 'Isagenix' for both and also Isagenix Australia, Isagenix Perth, Sydney (Australian cities) and Isagenix NZ, Isagenix New Zealand, Isagenix Auckland etc.. for NZ The Australian site gets a lot more traffic and Australian market gets a lot more searches - I also have a section www.isacleanse.com.au/isagenix-new-zealand/ on the Australian site. The question is am I best off redirrecting the .co.nz domain completley to the Australian Domain to give it extra SEO Juice?0 -
Php 301 redirect
Hi I am migrating an old wordpress site to a custom PHP site and the URL profiles will be different, so want to retain all link profiles and more importantly if a user visits the old urls via search then they are seamlessly transferred to the new equivalent page For example www.domain.com/about-us is going to need to redirect to www.domain.com/aboutus.php www.domain.com/furniture is going to need to redirect to www.domain.com/furniture-collections.php etc What is the best way of achieving this apart from .htaccess as not 100% confident of doing this. Could it be done via PHP or using meta tags?
Intermediate & Advanced SEO | | ocelot0 -
What are the effects of having Multiple Redirects for pages under the same domain
Dear Mozers, First of all let me wish you all a Very Happy, Prosperous, Healthy, Joyous & Successful New Year ! I'm trying to analyze one of the website's Web Hosting UK Com Ltd. and during this process I've had this question running through my mind. This project has been live since the year 2003 and since then there have be changes made to the website (obviously). There have also been new pages been added, the same way some new pages have even been over-written with changes in the url structures too. Now, coming back to the question, if I've have a particular url structure in the past when the site was debuted and until date the structure has been changes thrice (for example) with a 301 redirect to every back dated structure, WOULD it impact the sites performance SEOwise ? And let's say that there's hundreds of such redirections under the same domain, don't you think that after a period of time we should remove the past pages/urls from the server ? That'd certainly increase the 404 (page not found) errors, but that can be taken care of. How sensible would it be to keep redirecting the bots from one url to the other when they only visit a site for a short stipulated time? To make it simple let me explain it with a real life scenario. Say if I was staying a place A then switched to a different location in another county say B and then to C and so on, and finally got settled at a place G. When I move from one place to another, I place a note of the next destination I'm moving to so that any courier/mail etc. can be delivered to my current whereabouts. In such a case there's a less chance that the courier would travel all the destinations to deliver the package. Similarly, when a bot visits a domain and it finds multiple redirects, don't you think that it'd loose the efficiency in crawling the site? Ofcourse, imo. the redirects are important, BUT it should be there (in htaccess) for only a period of say 3-6 months. Once the search engine bots know about the latest pages, the past pages/redirects should be removed. What are your opinions about this ?
Intermediate & Advanced SEO | | eukmark0 -
301 redirect with /? in URL
For a Wordpress site that has the ending / in the URL with a ? after it... how can you do a 301 redirect to strip off anything after the / For example how to take this URL domain.com/article-name/?utm_source=feedburner and 301 to this URL domain.com/article-name/ Thank you for the help
Intermediate & Advanced SEO | | COEDMediaGroup0 -
Trailing Slash: Lost in Redirection?
Question here, but first the lead in. As you all know, 301 redirects don't pass on 100% of link juice. I've set up my site using htaccess to redirect all non-ww to www and redirect all URLs to have a trailing slash. FYI, the preferred domain is selected in WMT and canonical URLs appear in the head section of all pages. So now what happens when sites that link to mine don't include either the www or the trailing slash, which is actually quite common? Of course, asking the site own to correct the link is ideal, but that's not always possible. So if thousands of links on external sites are linking to http://www.site.com instead of http://www.site.com/, won't lots of link juice get lost in redirection? I can't think of anything more I can do to the URLs to reduce duplicate content and juice dilution. Thoughts? Kevin
Intermediate & Advanced SEO | | kwoolf0 -
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