I took a quick look at our latest keyword rankings report. This report is produced manually in-house based on the actual result rank we achieve for searches on Google for specific keyword phrases that we are targeting. (A top 10 rank is obviously desirable as it puts us on the first page of results, a top 6 is even better as it puts us above the fold on most monitors, and anything less than a top 50 is almost worthless because so few users click that far into the results.) Currently we are tracking 17 different phrases on a weekly basis. I think this report gives us the most direct way to measure our SEO results.
I compared our rankings on our August 2nd report to our August 15th report; the change went live on August 8th. The result is that out of 17 different phrases, only 2 improved in the rankings, 6 remained the same, and 9 decreased. Overall, the magnitude of the moves down and up were not terribly dramatic. Of course, in the time between the reports, we were also making the normal adjustments that any business makes to its content, and competitors were doing the same, so it's impossible to determine exactly how much difference the 301 made versus the 302 for us. But based on these results, the direct answer to my question about specific, immediate ranking benefit is that there probably is none. These results suggest that in the following situation, Google is smart enough to know that a 302 really means a 301:
- 302 is redirecting to the HTTPS version of the same URL
- HTTP version is no longer accessible
- Google search results are only showing HTTPS version, not HTTP
- Google site tools still show some residual PageRank for the HTTP version (I discovered this after posting the question) possibly because external sites are still widely linking to your HTTP version
If your situation matches all the above criteria, there is reason to believe that Google is not penalizing you for the 302's. That agrees with the opinion of at least one SEO consultant company, who says:
Google recognizes that many people use 302 when they really mean 301.
Fortunately, Google isn't bound by any law to take people literally.
For the sake of producing the best possible search results, Google can
and should look at 302s and figure out if the webmaster really means
302, or if it's run-of-the-mill confusion and they really mean 301.
I would definitely like to see some more experiments
situations where the 302 is consistently going to the HTTPS version of the exact same URL, and the HTTP version is no longer accessible. I found a similar experiment, with a slightly different situation, which proved that 302 does indeed confer some page rank, especially if the source and target pages are relevant to eachother. (In our situation, the pages were identical, which may explain why we were doing OK with the 302's.)
All that said, there is no good reason to use 302's for permanent redirects if you can help it, and we will be sticking with 301's. In our case, our ASP.Net code was doing the redirects via Response.Redirect(), and the default behavior in ASP.Net is to use a 302. Only with .NET 4.0 did Microsoft add a convenient Response.RedirectPemanent() method. Until then you had to manually write the 301 header, PHP-style, and most of our developers did not bother since they were used to redirects within application workflows, to which 302's are well suited. But we are happy to be using 301 redirects everywhere we can now.