I think my central argument against
rev="canonical" in my previous post was lost due to the fact that my post was so long. So, I’ll try to summarize my points in a very concise way.
Let’s get away from the argument about
rev not being in HTML 5. That’s not the point. If a case can be made to add it back into HTML 5, then fine. Though, I still think it’s a confusing attribute, and perhaps not needed, but that is not what I am arguing. I am arguing that
rev="canonical" is not the best way to indicate to clients a shorter form for the current URL. Rather, I think using
rel="alternate shorter" is a better way.
What I would like to focus on is why people seem to think
rev="canonical" is better than
rel="alternate shorter". Is it? If so, why?
Consider this obviously fictional and tongue-in-cheek dialogue between a client and a requested resource:
“Hi, Resource! How’s it shakin’ today? I like what you have to offer, but what’s this
rev="canonical" link you have? Am I not already requesting your canonical URL?”
“Oh. Hi, Client. Yes, this is my canonical URL, but that’s another URL that refers to my canonical URL.”
“Why would I want to know what other URLs refer to your canonical one? Is not the point of having a canonical URL that the other URLs don’t matter? Besides, they all point here anyway.”
“True, but that’s a shorter URL that you might want to use instead of my canonical one.”
“Well, how was I supposed to know that? All it tells me is that it’s another URL that points to your canonical one.”
“Yeah. A community agreed that
rev="canonical" would mean that the URL identified by the
href is a shorter form for my canonical one.”
“Why didn’t they just make it explicit with something like a
rel="alternate shorter" attribute instead being ambiguous about it?”
And that’s the crux of my argument.
A couple of other notes…
On my previous post, Matt Cutts makes an excellent point about the danger in allowing documents to claim canonical-ness over other URLs. But if we do like Google did with
rel="canonical" and restrict
rev="canonical" to specify only URLs that are in the same domain as the canonical one, then we lose the value of being able to specify shorter domains, as we often do with shorter URLs. In fact, in Simon Willison’s post about his own
rev="canonical" implementation, he mentions that he bought a new domain name for his links.
Bradley Holt makes an interesting point on Twitter about the use of the alternate keyword. Alternate is supposed to refer to another representation of the current document with the same content. Can it also refer to another representation of the URL that points to the current document?