To makes things easy, my site basically has two pages:
- A form page. This is the page where the users come first, and this is the page Google is supposed to consider... and like.
- A result page. This page is reached after the form page has bee validated. Because this page is hidden behind a POST, Google is not supposed to take it into account. It's not listed in the sitemap or whatever.
However, Google does take the result page into account, because, for some reasons, the result page is linked by some other sites. This wasn't really an expected scenario, but it happened. This causes an issue: as the form and result pages speak more or less of the same topic, they compete for the same search terms. Whereas the form page should stand alone in Google's mind.
The solutions I envisioned:
Blacklist the result page
I could prevent Google from looking at the result page via the robot.txt file, or from the Webmaster tools. However, I don't want to throw the baby with the bathwater: the result page is somehow popular for the search terms I target. So even if I don't want the result page to fight against the form page, I still want my site to get all the external links credits. I'm afraid that, by excluding the result page, I will also loose the benefits of the result page's popularity.
Substitute redirect code: 302 for users, 301 for Google - Is it cloaking?
Accessing the result page directly (not through the form page) does not make sense. So any user who types the URL of the result page is redirected to the form page with a 302. Here, 302 is suitable because the redirection is temporary. In a minute, the user may be back because he now uses the form page first.
I thought about exposing a 301 status code to Google in that situation. It makes sense because, as Google cannot do a POST, there is no way for it to access the result page correctly. So for it, the redirection is permanent. Let's make is clear: this is not regular cloaking, ie. exposing a different content to Google and users. The code basically says:
If Google Code = 301 Else Code = 302 End Redirect with Code
At that point, I have a question: is it cloaking of not? Apparently, this does not match the regular definition of cloaking, because content and links are not affected by this behavior. Yet, I suspect Google to consider all "If Google" as cloaking. Any advice?
Keeping 302 for everyone
I could just stick to the 302 status code for everyone. No cloaking ambiguity here. But I know that 302 is less effective than a hard 301 when you want to say to Google "give all the credits to this page".
What is the best option? Which solutions do I overlook?