rel-home: Difference between revisions
DannyAyers (talk | contribs) (initial draft) |
GRegorLove (talk | contribs) (s/<source>/<syntaxhighlight>/) |
||
(50 intermediate revisions by 25 users not shown) | |||
Line 1: | Line 1: | ||
{{DISPLAYTITLE:rel="home"}} | |||
{{DraftSpecification}} | |||
__TOC__ | __TOC__ | ||
Line 7: | Line 8: | ||
=== Copyright === | === Copyright === | ||
{{ | {{MicroFormatCopyrightStatement2005}} | ||
=== Patents === | === Patents === | ||
Line 13: | Line 14: | ||
== Abstract == | == Abstract == | ||
Rel-Home is one of several [[MicroFormats]]. By adding <code>rel="home"</code> to a hyperlink, a page indicates that the destination of that hyperlink is the homepage of the site in which the current page appears. When the appropriate HTML Meta data profile is in use, the "home" type can be used alongside standard [http://www.w3.org/TR/html4/types.html#type-links Link Types]. | |||
Example usage : | |||
<pre><nowiki><link href="http://technorati.com" rel="home" /></nowiki></pre> | <pre><nowiki> | ||
<head> | |||
... | |||
<link href="http://technorati.com" rel="home" /> | |||
... | |||
</head> | |||
</nowiki></pre> | |||
The rel value may also appear wherever an anchor link may appear, e.g. | |||
<pre><nowiki><a href="http://technorati.com" rel="home">Home</a></nowiki></pre> | <pre><nowiki> | ||
<body> | |||
... | |||
<a href="http://technorati.com" rel="home">Home</a> | |||
... | |||
</body> | |||
</nowiki></pre> | |||
the author indicates that the linked page is the homepage of the site. | the author indicates that the linked page is the homepage of the site. | ||
The linked page | The linked page {{should}} exist. Use of an absolute URI is recommended. | ||
== Scope == | == Scope == | ||
Line 46: | Line 59: | ||
</dl> | </dl> | ||
</nowiki></pre> | </nowiki></pre> | ||
==Examples in the Wild== | |||
This section is '''informative'''. | |||
The following sites have implemented rel-home, and thus are a great place to start for anyone looking for examples "in the wild" to try parsing, indexing, organizing etc. If your site is marked up with rel-home, feel free to add it to the '''bottom''' of this list. Once the list grows too big, we'll make a separate wiki page. | |||
* [http://www.my-warehouse.de the my-Warehouse shopsystem] implements rel-home into the breadcrumb. | |||
* [http://www.sunfactory.fr/en/gift-ideas/ Sun Factory] implements rel-home into the breadcrumb. | |||
* http://chrisruppel.com uses rel-home as a link in the <head> | |||
* [http://www.cleanertoday.com Cleaner Today] uses multiple implementations: 1) [http://www.cleanertoday.com/Moth-Traps-by-Catchmaster-s/85.htm Moth Trap] page uses rel-home in <head> 2) [http://www.cleanertoday.com/Spider-traps-s/86.htm Spider Traps] page uses rel="home" on Corner Logo Link & "Home" link in the footer. | |||
* [http://www.jdclark.org/ www.jdclark.org] uses rel-home on virtually all web pages within the domain and its sub-domains (for example, please see [http://www.jdclark.org/card Jordan Clark's profile]). | |||
* Tantek.com posts (e.g. [http://tantek.com/2011/220/b1/web-actions-a-new-building-block Web Actions: Identifying A New Building Block For The Web]) use rel="home" as part of the link to the site's alternate feed as such: <nowiki><link rel="home updates alternate" type="application/atom+xml" href="http://tantek.com/updates.atom" /></nowiki> to indicate that the link is an ''alternate'' for a page that is also the ''home'' for the current page, rather than an alternate for the current page. | |||
* [http://www.fastquotes.co.za fastQuotes] uses rel-home on every page in multiple locations. | |||
* [http://www.9thCO.com 9thCO] uses rel="home" in <head>. 9thCO follows all web standards and is happy to embrace the new Rel-Home microformat specification. | |||
* [http://lllooolll.com Lol x3] implemented rel=home in the head sitewide, together with other rel's and hreflang. | |||
== Implementations == | == Implementations == | ||
Line 55: | Line 83: | ||
* Opera browser supports rel="home" | * Opera browser supports rel="home" | ||
* [http://cdn.mozdev.org/linkToolbar/ FireFox Link Toolbar] - need to confirm | * [http://cdn.mozdev.org/linkToolbar/ FireFox Link Toolbar] - need to confirm | ||
* [https://addons.mozilla.org/firefox/1324/ cmSiteNavigation Toolbar] - Firefox Extension that supports rel="home" and rel="directory" | |||
== References == | == References == | ||
Line 62: | Line 91: | ||
* [http://www.w3.org/TR/xhtml1/ XHTML 1] | * [http://www.w3.org/TR/xhtml1/ XHTML 1] | ||
* [http://gmpg.org/xmdp/ XMDP] | * [http://gmpg.org/xmdp/ XMDP] | ||
* | * RFC 3986 specifies URL syntax | ||
=== Informative References === | === Informative References === | ||
Line 77: | Line 106: | ||
=== Issues === | === Issues === | ||
* Please add any issues with the specification to the separate [[rel-home-issues|rel-home issues]] document. | * Please add any issues with the specification to the separate [[rel-home-issues|rel-home issues]] document. | ||
=== Brainstorming === | |||
If this section gets too large (and is not just incorporated into the draft), it can be moved to [[rel-home-brainstorming]]. | |||
==== use with rel-alternate ==== | |||
===== rel-alternate and type ===== | |||
Many blog post permalink pages have feed autodiscovery links that link from the permalink page via a link element to the feed for the site using just rel="alternate". | |||
This is semantically incorrect as the feed is an alternate for the *site*, not the permalink page. | |||
rel="home" could (and should) be used with [[rel-alternate]] to link from a permalink page to the feed for the site (home page). e.g. on tantek.com permalink pages (e.g. [http://tantek.com/2011/220/b1/web-actions-a-new-building-block recent post]), here's a simplified version of the markup: | |||
<syntaxhighlight lang="html"> | |||
<link rel="home alternate" type="application/atom+xml" href="../updates.atom" /> | |||
</syntaxhighlight> | |||
This way a feed reader / indexer / search engine knows that the link represents an ''alternate'' for the ''home'' page relative to the current page, not an alternate for the page itself. | |||
There is one known exception which is that if the alternate link is a feed to the ''comments'' on that post, then that would make sense as an actual alternate representation of the post permalink page. | |||
Implementations (consuming parsers) could thus treat these two types of 'alternate' links differently to provide the user a better experience, e.g. with separate buttons for: | |||
* Subscribe to this site | |||
* Subscribe to the comments on this post | |||
===== rel-alternate and hreflang ===== | |||
It might make sense for links from pages of one language anywhere on a site when linking to the home page of another language on a site to use rel-alternate with rel-home and hreflang together. | |||
To see if it's worth specifying that however, we'd need to document real world examples of pages linking this way first. | |||
===== FAQ home alternate ===== | |||
Frequently asked questions about rel="home alternate" (likely merits inclusion in [[rel-faq]]). | |||
<div class="discussion"> | |||
* Doesn't rel="home alternate" mean it's the home page ''and'' it's an alternate independently? (as asked [http://krijnhoetmer.nl/irc-logs/microformats/20110810#l-84], [https://twitter.com/tabatkins/status/101391569160114176], [https://twitter.com/apparentlymart/status/101481300086620161]) | |||
** No. That's not [http://dev.w3.org/html5/spec/semantics.html#attr-link-rel how rel works]. Rel values combine. E.g. <code>[http://www.w3.org/TR/html4/present/styles.html#h-14.3.1 rel="alternate stylesheet"]</code> has worked this way for over a decade. Rel values also combine with other attributes, e.g. use <code>rel="alternate" media="handheld"</code> on a link to a separate mobile-specific version of a page. [[User:Tantek|Tantek]] 20:56, 10 August 2011 (UTC) | |||
*** This seems to contradict the spec: "if a single link element has a rel attribute with the value next stylesheet, it creates both a hyperlink (for the next keyword) and an external resource link (for the stylesheet keyword)" implying that they are independant and not related. -- [[User:Singpolyma|Singpolyma]] 21:43, 10 August 2011 (UTC) | |||
**** That's a ''non-normative NOTE'' documentation of what <code>rel="next stylesheet"</code> and (subsequently in a non-normative example) <code>rel="author license"</code> mean, and thus (being non-normative) not something you can derive any implications from. The ''normative'' language of the spec says: <strong>"exactly which and how many links are created depends on the keywords given in the rel attribute"</strong> which is precisely correct and provides us the flexibility to define combinations as having meanings. (Note that it does NOT say: create one link per rel value, which it would if the rel values were actually independent, which you can't say in general that they are.) -- [[User:Tantek|Tantek]] 21:54, 10 August 2011 (UTC) | |||
</div> | |||
===== discuss home alternate ===== | |||
Go to [[irc|the #microformats IRC channel on Freenode]] to discuss rel="home alternate". Additionally if you have a specific opinion, of support/rejection/neutrality and optionally reasons why, feel free to record your (+1/-1) etc. here: | |||
<div class="discussion"> | |||
* +1 [[User:Tantek|Tantek]] - as [http://krijnhoetmer.nl/irc-logs/microformats/20110810#l-61 proposed/discussed in IRC] | |||
* +1 [http://krijnhoetmer.nl/irc-logs/microformats/20110810#l-79 DGlazkov] - "home alternate" sounds reasonably intuitive | |||
* +1 [[User:Kevin Marks|Kevin Marks]] though need to check behavior in browsers that support rel-home on link | |||
* -1 [[User:SEOTOC | Oleg G.]] even HTML5 holding rel-home on draft | |||
* ... | |||
</div> | |||
==== use with lang ==== | |||
* Edit: Sabin Simionescu: I have a proposal: | |||
<syntaxhighlight lang="html"> | |||
<link rel="home" href="http://www.example.com'''/" lang="en"''' /> | |||
<link rel="home" href="http://www.example.com'''/de/" lang="de"''' /> | |||
</syntaxhighlight> | |||
Multilingual sites have multiple home pages. I have looked closely at this rel-home specification, and while it looks very good for SEO applications, users would benefit from a language option as well. | |||
My proposal is to specify all ACTIVE languages of the site using rel-home. | |||
<div class="discussion"> | |||
* '''Proposal misunderstands "lang" attribute.''' Instead of <code>lang</code>, use the <code>hreflang</code> attribute to specify the language of the destination of an href (e.g. on <code><link></code> and <code><a></code> tags). The <code>lang</code> attribute is only for the contents of the element itself, which in the link tag examples above, would only apply to the <code>title</code> attribute if any. - [[User:Tantek|Tantek]] 01:00, 24 December 2012 (UTC) | |||
* '''This proposal is likely unnecessary.''' Use [[rel-alternate#alternate_language_versions|rel="alternate" with hreflang]] to link to different language versions of a page. - 01:00, 24 December 2012 (UTC) | |||
** '''Needs URLs to real world examples of such linking behavior.''' Using rel-alternate with rel-home and hreflang together might make sense for links from pages of one language anywhere on a site to link to the home page of another language on a site. To see if it's worth specifying that however, we'd need to document real world examples of pages linking this way first. - [[User:Tantek|Tantek]] 01:00, 24 December 2012 (UTC) | |||
</div> | |||
== see also == | |||
* [[rel-alternate]], in particular [[rel-alternate#special_combinations|special combinations]] | |||
* [[existing-rel-values]] | |||
* [[rel-faq]] | |||
[[Category:Draft Specifications]] | |||
[[Category:rel-home]] |
Latest revision as of 23:51, 20 June 2024
This document represents a draft microformat specification. Although drafts are somewhat mature in the development process, the stability of this document cannot be guaranteed, and implementers should be prepared to keep abreast of future developments and changes. Watch this wiki page, or follow discussions on the #microformats IRC channel to stay up-to-date.
Draft Specification 2005-12-07
Editor/Author
Copyright
This specification is (C) 2005-2024 by the authors. However, the authors intend to submit (or already have submitted, see details in the spec) this specification to a standards body with a liberal copyright/licensing policy such as the GMPG, IETF, and/or W3C. Anyone wishing to contribute should read their copyright principles, policies and licenses (e.g. the GMPG Principles) and agree to them, including licensing of all contributions under all required licenses (e.g. CC-by 1.0 and later), before contributing.
Patents
This specification is subject to a royalty free patent policy, e.g. per the W3C Patent Policy, and IETF RFC3667 & RFC3668.
Abstract
Rel-Home is one of several MicroFormats. By adding rel="home"
to a hyperlink, a page indicates that the destination of that hyperlink is the homepage of the site in which the current page appears. When the appropriate HTML Meta data profile is in use, the "home" type can be used alongside standard Link Types.
Example usage :
<head> ... <link href="http://technorati.com" rel="home" /> ... </head>
The rel value may also appear wherever an anchor link may appear, e.g.
<body> ... <a href="http://technorati.com" rel="home">Home</a> ... </body>
the author indicates that the linked page is the homepage of the site.
The linked page SHOULD exist. Use of an absolute URI is recommended.
Scope
rel="home" is designed for site navigation purposes, as well as allowing some description of site structure to be derived from individual pages. Typical use might be in the archive pages of a weblog, pointing back to the front page.
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="home">home</dt> <dd>Indicates that the referred resource serves as the homepage, of the site which includes the referring page.</dd> </dl> </dd> </dl>
Examples in the Wild
This section is informative.
The following sites have implemented rel-home, and thus are a great place to start for anyone looking for examples "in the wild" to try parsing, indexing, organizing etc. If your site is marked up with rel-home, feel free to add it to the bottom of this list. Once the list grows too big, we'll make a separate wiki page.
- the my-Warehouse shopsystem implements rel-home into the breadcrumb.
- Sun Factory implements rel-home into the breadcrumb.
- http://chrisruppel.com uses rel-home as a link in the <head>
- Cleaner Today uses multiple implementations: 1) Moth Trap page uses rel-home in <head> 2) Spider Traps page uses rel="home" on Corner Logo Link & "Home" link in the footer.
- www.jdclark.org uses rel-home on virtually all web pages within the domain and its sub-domains (for example, please see Jordan Clark's profile).
- Tantek.com posts (e.g. Web Actions: Identifying A New Building Block For The Web) use rel="home" as part of the link to the site's alternate feed as such: <link rel="home updates alternate" type="application/atom+xml" href="http://tantek.com/updates.atom" /> to indicate that the link is an alternate for a page that is also the home for the current page, rather than an alternate for the current page.
- fastQuotes uses rel-home on every page in multiple locations.
- 9thCO uses rel="home" in <head>. 9thCO follows all web standards and is happy to embrace the new Rel-Home microformat specification.
- Lol x3 implemented rel=home in the head sitewide, together with other rel's and hreflang.
Implementations
This section is informative. The following implementations have been developed which either generate or parse rel-home links.
Ed. : links to follow
- Opera browser supports rel="home"
- FireFox Link Toolbar - need to confirm
- cmSiteNavigation Toolbar - Firefox Extension that supports rel="home" and rel="directory"
References
Normative References
Informative References
- Dive Into Accessibility (Mark Pilgrim)
Ed. : need to track down previous discussions, e.g. re. Opera
Discussions
Q&A
- If you have any questions about rel-home, check the rel FAQ, and if you don't find answers, add your questions!
Issues
- Please add any issues with the specification to the separate rel-home issues document.
Brainstorming
If this section gets too large (and is not just incorporated into the draft), it can be moved to rel-home-brainstorming.
use with rel-alternate
rel-alternate and type
Many blog post permalink pages have feed autodiscovery links that link from the permalink page via a link element to the feed for the site using just rel="alternate".
This is semantically incorrect as the feed is an alternate for the *site*, not the permalink page.
rel="home" could (and should) be used with rel-alternate to link from a permalink page to the feed for the site (home page). e.g. on tantek.com permalink pages (e.g. recent post), here's a simplified version of the markup:
<link rel="home alternate" type="application/atom+xml" href="../updates.atom" />
This way a feed reader / indexer / search engine knows that the link represents an alternate for the home page relative to the current page, not an alternate for the page itself.
There is one known exception which is that if the alternate link is a feed to the comments on that post, then that would make sense as an actual alternate representation of the post permalink page.
Implementations (consuming parsers) could thus treat these two types of 'alternate' links differently to provide the user a better experience, e.g. with separate buttons for:
- Subscribe to this site
- Subscribe to the comments on this post
rel-alternate and hreflang
It might make sense for links from pages of one language anywhere on a site when linking to the home page of another language on a site to use rel-alternate with rel-home and hreflang together.
To see if it's worth specifying that however, we'd need to document real world examples of pages linking this way first.
FAQ home alternate
Frequently asked questions about rel="home alternate" (likely merits inclusion in rel-faq).
- Doesn't rel="home alternate" mean it's the home page and it's an alternate independently? (as asked [1], [2], [3])
- No. That's not how rel works. Rel values combine. E.g.
rel="alternate stylesheet"
has worked this way for over a decade. Rel values also combine with other attributes, e.g. userel="alternate" media="handheld"
on a link to a separate mobile-specific version of a page. Tantek 20:56, 10 August 2011 (UTC)- This seems to contradict the spec: "if a single link element has a rel attribute with the value next stylesheet, it creates both a hyperlink (for the next keyword) and an external resource link (for the stylesheet keyword)" implying that they are independant and not related. -- Singpolyma 21:43, 10 August 2011 (UTC)
- That's a non-normative NOTE documentation of what
rel="next stylesheet"
and (subsequently in a non-normative example)rel="author license"
mean, and thus (being non-normative) not something you can derive any implications from. The normative language of the spec says: "exactly which and how many links are created depends on the keywords given in the rel attribute" which is precisely correct and provides us the flexibility to define combinations as having meanings. (Note that it does NOT say: create one link per rel value, which it would if the rel values were actually independent, which you can't say in general that they are.) -- Tantek 21:54, 10 August 2011 (UTC)
- That's a non-normative NOTE documentation of what
- This seems to contradict the spec: "if a single link element has a rel attribute with the value next stylesheet, it creates both a hyperlink (for the next keyword) and an external resource link (for the stylesheet keyword)" implying that they are independant and not related. -- Singpolyma 21:43, 10 August 2011 (UTC)
- No. That's not how rel works. Rel values combine. E.g.
discuss home alternate
Go to the #microformats IRC channel on Freenode to discuss rel="home alternate". Additionally if you have a specific opinion, of support/rejection/neutrality and optionally reasons why, feel free to record your (+1/-1) etc. here:
- +1 Tantek - as proposed/discussed in IRC
- +1 DGlazkov - "home alternate" sounds reasonably intuitive
- +1 Kevin Marks though need to check behavior in browsers that support rel-home on link
- -1 Oleg G. even HTML5 holding rel-home on draft
- ...
use with lang
- Edit: Sabin Simionescu: I have a proposal:
<link rel="home" href="http://www.example.com'''/" lang="en"''' />
<link rel="home" href="http://www.example.com'''/de/" lang="de"''' />
Multilingual sites have multiple home pages. I have looked closely at this rel-home specification, and while it looks very good for SEO applications, users would benefit from a language option as well.
My proposal is to specify all ACTIVE languages of the site using rel-home.
- Proposal misunderstands "lang" attribute. Instead of
lang
, use thehreflang
attribute to specify the language of the destination of an href (e.g. on<link>
and<a>
tags). Thelang
attribute is only for the contents of the element itself, which in the link tag examples above, would only apply to thetitle
attribute if any. - Tantek 01:00, 24 December 2012 (UTC) - This proposal is likely unnecessary. Use rel="alternate" with hreflang to link to different language versions of a page. - 01:00, 24 December 2012 (UTC)
- Needs URLs to real world examples of such linking behavior. Using rel-alternate with rel-home and hreflang together might make sense for links from pages of one language anywhere on a site to link to the home page of another language on a site. To see if it's worth specifying that however, we'd need to document real world examples of pages linking this way first. - Tantek 01:00, 24 December 2012 (UTC)
see also
- rel-alternate, in particular special combinations
- existing-rel-values
- rel-faq