rel-shortlink
<entry-title>rel="shortlink"</entry-title>
Specification 2009-05-04
Editors
Concept
- Sam Johnston (Australian Online Solutions)
- Chris Shiflett (OmniTI) rev=canonical
- Kellan Elliott-McCrae (Flickr) rev=canonical
- Robert Spychala (Snaplog) rel=shorturl
Copyright
Public Domain Contribution Requirement. Since the author(s) released this work into the public domain, in order to maintain this work's public domain status, all contributors to this page agree to release their contributions to this page to the public domain as well. Contributors may indicate their agreement by adding the public domain release template to their user page per the Voluntary Public Domain Declarations instructions. Unreleased contributions may be reverted/removed.
Patents
This specification is subject to a royalty free patent policy, e.g. per the W3C Patent Policy, and IETF RFC3667 & RFC3668.
Abstract
The problem-space that rel-shortlink is attempting to solve is being taken through the microformats process, and this is the current brainstorm that seems to make more sense than the alternatives. Nonetheless, additional background documentation is needed at the following stub pages:
rel="shortlink"
to a [hyper]link, a page indicates that the hyperlink may be used for space constrained and/or manual entry (e.g. printed or spoken) applications and that the destination of that hyperlink carries the same meaning (even if formatting such as sort order and hightlighting is lost). Typical use cases include pasting links into microblogging services such as Twitter and anywhere manual entry is required (e.g. printed or spoken URLs).Additional variants: (these should probably be further documented on shortlink-brainstorming)
- Portion of a page such as a blog post. Taking the lesson learned from rel-license, which was subsequently applied to rel-tag, a portion of a page (such as a blog post) defined by a compound microformat (e.g. an "hentry" from hAtom) may also refer to a shortened URL for that portion of the page with the use of
rel="shortlink"
.
- classname alternative. Pages (or portions thereof) that with to reference/publish a shortlink for themselves but without directly hyperlinking to the shortlink may do so by marking up the shortlink URL in an element with
class
name of "shortlink
".
Examples
HTML
On a page like http://www.flickr.com/photos/tantek/3909804165/ it could have HTML to indicate a shortlink in one of two ways:
<link rel="shortlink" type="text/html" href="http://flic.kr/p/6XuLyD">
and/or
shortlink:
<a rel="shortlink" type="text/html" href="http://flic.kr/p/6XuLyD">
http://flic.kr/p/6XuLyD
</a>
HTTP
In addition, a request for a page like http://www.flickr.com/photos/tantek/3909804165/ should return as part of the HTTP headers:
Link: <http://flic.kr/p/6XuLyD>; rel="shortlink"
XMDP profile
<dl class="profile"> <dt id="rel">rel</dt> <dd><p> <a rel="help" href="http://www.w3.org/TR/html401/struct/links.html#adef-rel"> HTML4 definition of the 'rel' attribute.</a> Here is an additional value.</p> <dl> <dt id="shortlink">shortlink</dt> <dd>Indicates that the referred resource carries the same meaning as the referring page (even if formatting such as sort order and highlighting is lost) and that the link may be used for space constrained and/or manual entry (e.g. printed or spoken) applications.</dd> </dl> </dd> </dl>
examples in the wild
This section is informative.
Note: There are numerous uses of rel-shortlink in the wild, this is very much an incomplete list. If your site marked up with rel-shortlink, feel free to add it to the top of this list. Once the list grows too big, we'll make a separate wiki page (rel-shortlink-examples-in-wild).
- alanhogan.com uses rel-shortlink in HTTP headers, HTML head, and the "shortlink" tag on
input
elements for high-traffic content pages. - tantek.com uses the class name variant of shortlink on all permalink pages, in particular on an
input
element for easy copy/pasting of the shortlink, e.g. http://tantek.com/2010/034/t2/diso-2-personal-domains-shortener-hatom-push-relmeauth - Media UK uses it on each of their directory pages, using their muk.fm shortening service.
- CMS Market uses it on each of their directory and news pages. They'll be releasing their tool as a GPL'd Joomla component at some point as well.
- WordPress.com uses it on ~7 million blogs with their WP.me URL shortening service.
- RelShortLink is an open source Python implementation hosted on Google App Engine which scans both HTTP headers and HTML links for
rel=shortlink
. - Wordpress 'shortlink' plugin embeds
rel=shortlink
links into Wordpress blogs. - Yedda.com (an AOL company), uses it on all question pages with their internal short URLs mechanism.
normative references
informative references
- draft-nottingham-http-link-header
- Google Code 'shortlink' project
- Introducing rel="shortlink" - a better alternative to URL shorteners
- rel=shortlink: url shortening that really doesn't hurt the Internet
- rel="shortlink" proposal for advertising short URLs in HTML/HTTP thread on IETF apps-discuss
inferior alternatives
- RevCanonical
rev=
deprecated in HTML 5rev=
is easily confused withrel=
, thus creating extreme danger for clueless webmasters- implies that referring URL is the canonical URL, thus should only be used for the canonical URL itself
- implies that a complete list of referring URLs is offered, when in fact there are infinite possibilities
- See also mnot's Counting the ways that rev="canonical" hurts the Web
- RelShortcut
- Scorched earth thanks to "shortcut icon" (now just "icon" in HTML 5) - rel is a space separated list for HTML at least
- RelShort[er]
- Ambiguous as to whether it refers to the URL or the content itself (e.g. abstract).
- RelShorturl
- Too many possible permutations: short[_- ]?ur[il] -> shorturl, short_url, short-url, "short url", short_uri, short-uri, "short uri", etc. leads to implementations supporting multiple variations.
- Intellectual property issues:
- Trademark status claimed by shorturl.com (shortlink infringes no known common law or registered trademarks)
- Copyright protected specification (shortlink specification is public domain)
- Patent status unknown (shortlink carries a patent pledge and has no known patents)
- No effort to standardise via the usual processes (shortlink was submitted to IETF/W3C for discussion)