When I change domains, how long should I leave the redirects in place?

Today’s question comes from
Jacob in Denmark. Jacob wants to know, if I get
a new domain and want to 301 redirect www.olddomain.com to
www.newdomain.com, how long do I have to keep the redirect up
before I can start using the old domain for something else? Just until it has been
crawled once? Well, this is something where
search engines can change their policy over time, because
we might see the web evolving, or we might see how
webmasters either have issues, those sorts of things. I can tell you about my
experience moving from mattcutts.com to dullest.com and
then dullest.com back to mattcutts.com Whenever I decided
to move back, I used a 301 redirect. And it took a period of
several weeks, because remember, 301s happen
at a page level. So just because you see one
301 on one page of the old domain does not mean
the entire domain has completely migrated. What I did, is I set up the
redirect such that every single page was redirecting
from dullest.com to mattcutts.com so it had been
a complete transition. And I really didn’t bother to
check on dullest.com for a few weeks, maybe a couple months. And then when I went back and
looked at Google Analytics, at that point, all of my traffic
had swapped over from dullest.com to mattcutts.com So typically, over a period of a
few weeks, or several weeks, maybe think about it like a
couple months, for example, then we might be able to
detect that a site has entirely moved. But if we’re getting mixed
signals, like some pages return a 200, which is an OK,
while other pages return a permanent or 301 redirect, then
we really don’t know what to make of that. I’ve certainly seen some
situations recently where a site said, I moved from
olddomain.com to newdomain.com, but they forgot
to do a subdomain. And so they were still serving
200s on the old subdomain. So it’s definitely not the case
that you can assume, oh, everything will automatically,
magically work perfectly. We do have a tool in Google
Webmaster Tools where you can say, my site has moved
from here to here. So you can do that for the
301s on each page level. But I wouldn’t just assume it
only has to be crawled once. Really, Googlebot and Google
need to build up enough confidence to really know that a
site has fully migrated from the old site to the new site. So it can take a little while,
but hopefully, after a while, we do pick up on that.