This week some really smart people discussed the advantages of rel canonical over 301 redirects. See Canonical Tag or 301 Redirect by Tony Adam, and Cross-Domain Canonical: The New 301 by Rand Fishkin.
Some of the findings were pretty interesting. For instance, Rand had a lot of success in saying the canonical URL for an entire site was a single URL on a different site. But wait a minute… that’s not how one defines “canonical” is it? How can one page be the original source for dozens or hundreds of other pages unless it was one big article that got chopped up into a bunch of little pieces on another site? Yet it works in much the same way that 301ing and entire domain into a single page used to work really well. It was common practice not long ago (and some folks may still be doing it) to buy up mom-n-pop domains in your niche and redirect them to the pages you want to rank better, thus siphoning off their “link juice” like some kind of webmaster vampire. “I vant to suck your pagerank… muaahahahahahahhah!”
I’ve always stuck with 301s because it’s easier for me to make a bunch of changes, or one big change via REGEX, in the htaccess file than to change the HTML header area on every page I want redirect (or, in this case, send the page rank elsewhere and remove from the index). Also, I suppose it’s just habit. You see, I think the cross-domain rel canonical tag is a fantastic idea. It is a possible solution to determining the original source of syndicated content. BUT, I’ve always had two questions about it that just keep nagging me…
#1 – What’s in it for the re-publisher? Can we expect sites to willingly give their page-rank and rankings over to another site without getting anything in return except the privilege of publishing content that nobody will be able to find? Maybe “free content” is what the re-publisher / syndicating site gets out of it. In theory, writing awesome content and then allowing other people to syndicate it (as long as they use the cross domain rel canonical tag) is a great way to get other people to do your link building for you, and to leverage the power of a bigger, more established domain (if you can get your content syndicated on one). But can we really ask them to add a special tag to their HTML header just for us? I don’t see it happening much as of yet, but the tag has been available for at least a year now. Which brings me to my next question…
#2 – Why not let webmasters put the rel canonical tag in the body? It is very possible that there are good reasons for requiring it to go into the HTML header area like a meta tag. Maybe it has to do with security or with reducing the ability to game this tool. If you have some examples, I’d love to hear about them in the comment section below. But I think if you were to take away the barrier to entry and allow publishers to put in a rel canonical tag when writing the content, there would be a lot more publishers using it. We would no longer have to ask the syndicating site to add the tag. We wouldn’t have to worry as much about content scrapers (who rarely scrape the header area) outranking our own content (Thanks Panda!). Like a signature, we would put that tag in our content and it would follow it around the web wherever it went.
One might argue that this would allow people to just put their own rel canonical tag in your content and publish it on their site and elsewhere. But what’s to stop them from doing it now? Can’t I take your content and put a rel canonical tag pointing to my version in my HTML header on that page? And what happens if you didn’t add that tag on your original content, but I go out and syndicate that content on a few sites who are willing to add the HTML header tag pointing to my site? Now I outrank your site for your content. Hardly seems fair does it? Thanks to the Panda update, this tactic seems easier to pull off than ever – with or without the rel canonical tag.
But if you put it in the body it would be far more likely that the scrapers would pick it up along with the rest of the content. It would be easier for publishers to make syndication deals without asking for the other site to go through the trouble of changing their HTML header on a single page (which is a hassle considering most sites use a header template file). In fact, I wouldn’t even mention it. I’d just say “Sure you can publish our article, but you can’t alter it. Here’s the HTML!” and let people syndicate that article all day long. Heck, they’re building links into my page’s link profile every time they get a link into their page. Sounds like a deal to me!