Google put out a new Webmaster Help video today. In this one, Matt Cutts responds to the following submitted question:
In the 2009 rel=canonical video, you suggest using rel=canonical when we CAN'T use a 301 redirect. But 301s hurt performance; they require browsers to make an extra round-trip to my servers. Shouldn't I use rel=canonical everywhere, instead of 301s?
"You are the master of your domain, so you can choose whether you use a 301 or whether you use a rel=canonical," he says. "That's your call. Most of the time though, I would recommend using the 301. That's because everybody knows how to deal with it. Browsers know how to deal with it. All search engines pretty much know how to deal with it. If there's some new little startup, they might not know how to deal with rel=canonical - if they're doing their own search engine, for example."
Was that "master of your domain" thing another Seinfeld reference?
"Another thing to sort of keep in mind is, usually when you're doing a 301, it's because your'e going to some new place on your site, but you're typically not doing a 301 on every single interaction that your browser has," he says. "Normally, it will be your browser lands somewhere, you do a 301 to the new location, and then that functionality continues just fine. So it's usually just a one time pop. It's not like it's a huge amount of extra work.
"The other thing is, if you're moving to a new location, your users will look at the address bar, and they'll notice where they are, so they'll want to have a good mental model of where they are on your site," he says. "So there's a lot of good cognitive reasons and reasons why it might make sense to use a 301."