Use 301 or 302 Redirects For a New Domain?
When changing page names on an existing site the typical advice is to setup a 301 permanent redirect from the old page to the new page. The idea behind this technique is to ensure that search engines update their databases accordingly. Ideally, the search engines will also pass on any existing trust from the old page to the new page.
I agree with the above technique, but it doesn't handle the case of when content is moved from one domain to a brand new domain. The difference here is that the new domain isn't trusted by the search engines because it is new. Even if the new domain is populated with many pages, it can take a while before any of that content is indexed. If the old site is set up to use 301 redirects to the new site, as is generally recommended, you can actually end up hurting your site.
Why? Because when the search engines encounter the 301 redirect they go ahead and remove the old URLs from their databases. Because the new site isn't trusted, the new URLs aren't immediately included. The end result is that your content effectively disappears. Bad news!
One possible solution to this is to use the 302 temporary redirect. What this does is tell search engines that the old URL should remain active for search results. In this way, search traffic will continue to be directed to the old URLs. However, the 302 redirect will actually take users to the new site. Sort of sneaky, but not really if your intentions are to truly move the content at some point.
Over time, the new site will get indexed by the search engines. When this happens you want to change the redirects to a 301 to tell the search engines that they should update their databases. This will also prevent any duplicate content penalties from coming in to play.
What I've described above is what I've done in the past with domain moves and it's worked rather well. As Google gets better and better, especially with the Caffeine update such “tricks” are probably not going to be necessary i.e. you can go straight to 301 redirects.