Please note, this is a STATIC archive of website developer.mozilla.org from 03 Nov 2016, cach3.com does not collect or store any user information, there is no "phishing" involved.

Revision 1024846 of Link types

  • Revision slug: Web/HTML/Link_types
  • Revision title: Link types
  • Revision id: 1024846
  • Created:
  • Creator: dgashmdn
  • Is current revision? No
  • Comment

Revision Content

{{HTMLSidebar}}

In HTML, the following link types indicate the relationship between two documents, in which one links to the other using an {{HTMLElement("a")}}, {{HTMLElement("area")}}, or {{HTMLElement("link")}} element.

List of the defined link types and their significance in HTML
Link Type Description Allowed in these elements Not allowed in these elements
alternate
  • If the element is {{HTMLElement("link")}} and the {{htmlattrxref("rel", "link")}} attribute also contains the stylesheet type, the link defines an alternative style sheet; in that case the {{htmlattrxref("title", "link")}} attribute must be present and not be the empty string.
  • If the {{htmlattrxref("type","link")}} is set to application/rss+xml or application/atom+xml, the link defines a syndication feed. The first one defined on the page is the default.
  • Otherwise, the link defines an alternative page, of one of these types:
    • for another medium, like a handheld device (if the {{htmlattrxref("media","link")}} attribute is set)
    • in another language (if the {{htmlattrxref("hreflang","link")}} attribute is set),
    • in another format, such as a PDF (if the {{htmlattrxref("type","link")}} attribute is set)
    • a combination of these
{{HTMLElement("a")}}, {{HTMLElement("area")}}, {{HTMLElement("link")}} None.
archives {{obsolete_inline}} Defines a hyperlink to a document that contains an archive link to this one. For example, a blog entry could link to a monthly index page this way.

Note: Although recognized, the singular archive is incorrect and must be avoided.
{{HTMLElement("a")}}, {{HTMLElement("area")}}, {{HTMLElement("link")}} None.
author Defines a hyperlink to a page describing the author or providing a way to contact the author.

Note: This may be a mailto: hyperlink, but this is not recommended on public pages as robot harvesters will quickly lead to a lot of spam sent to the address. In that case, it is better to lead to a page containing a contact form.

Although recognized, the {{htmlattrxref("rev", "link")}} attribute on {{HTMLElement("a")}}, {{HTMLElement("area")}} or{{HTMLElement("link")}} elements with a link type of made is incorrect and should be replaced by the {{htmlattrxref("rel", "link")}} attribute with this link type.
{{HTMLElement("a")}}, {{HTMLElement("area")}}, {{HTMLElement("link")}} None.
bookmark Indicates that the hyperlink is a permalink for the nearest ancestor {{HTMLElement("article")}} element. If none, it is a permalink for the section that the element is most closely associated to.

This allows for bookmarking a single article in a page containing multiple articles, such as on a monthly summary blog page, or a blog aggregator.
{{HTMLElement("a")}}, {{HTMLElement("area")}} {{HTMLElement("link")}}
dns-prefetch {{experimental_inline}} Hints to the browser that a resources is needed allowing the browser to do a DNS lookup and protocol handshaking before a user clicks the link. {{HTMLElement("link")}} {{HTMLElement("a")}}, {{HTMLElement("area")}}
external Indicates that the hyperlink leads to a resource outside the site of the current page; that is, following the link will make the user leave the site. {{HTMLElement("a")}}, {{HTMLElement("area")}} {{HTMLElement("link")}}
first {{obsolete_inline}} Indicates that the hyperlink leads to the first resource of the sequence the current page is in.

Note: Other link types related to linking resources in the same sequence are last, prev, next.

Although recognized, the synonyms begin and start are incorrect and must be avoided.
{{HTMLElement("a")}}, {{HTMLElement("area")}}, {{HTMLElement("link")}} None.
help
  • If the element is {{HTMLElement("a")}} or {{HTMLElement("area")}}, it indicates that the hyperlink leads to a resource giving further help about the parent of the element, and its descendants.
  • If the element is {{HTMLElement("link")}} it indicates that the hyperlink leads to a resource giving further help about the page as a whole.
{{HTMLElement("a")}}, {{HTMLElement("area")}}, {{HTMLElement("link")}} None.
icon Defines a resource for representing the page in the user interface, usually an icon (auditory or visual).

The {{htmlattrxref("media","link")}}, {{htmlattrxref("type","link")}} and {{htmlattrxref("sizes","link")}} attributes allow the browser to select the most appropriate icon for its context. If several resources match, the browser will select the last one declared, in tree order. As these attributes are merely hints, and the resources may be inappropriate upon further inspection, the browser will then select another one, if appropriate.

Note: Apple's iOS does not use this link type, nor the {{htmlattrxref("sizes","link")}} attribute, like others mobile browsers do, to select a webpage icon for Web Clip or a start-up placeholder. Instead it uses the non-standard apple-touch-icon and apple-touch-startup-image respectively.

The shortcut link type is often seen before icon, but this link type is non-conforming, ignored and web authors must not use it anymore.
{{HTMLElement("link")}} {{HTMLElement("a")}}, {{HTMLElement("area")}}
index {{obsolete_inline}} Indicates that the page is part of a hierarchical structure and that the hyperlink leads to the top level resource of that structure.

If one or several up link types are also present, the number of these up indicates the depth of the current page in the hierarchy.
{{HTMLElement("a")}}, {{HTMLElement("area")}}, {{HTMLElement("link")}} None.
last {{obsolete_inline}} Indicates that the hyperlink leads to the last resource of the sequence the current page is in.

Note: Other link types related to linking resources in the same sequence are first, prev, next.

Although recognized, the synonym end is incorrect and must be avoided.
{{HTMLElement("a")}}, {{HTMLElement("area")}}, {{HTMLElement("link")}} None.
license Indicates that the hyperlink leads to a document describing the licensing information. If not inside the {{HTMLElement("head")}} element, the standard doesn't distinguish between a hyperlink applying to a specific part of the document or to the document as a whole. Only the data on the page can indicate this.

Note: Although recognized, the synonym copyright is incorrect and must be avoided.
{{HTMLElement("a")}}, {{HTMLElement("area")}}, {{HTMLElement("link")}} None.
next Indicates that the hyperlink leads to the next resource of the sequence the current page is in.

Note: Other link types related to linking resources in the same sequence are first, prev, last.
{{HTMLElement("a")}}, {{HTMLElement("area")}}, {{HTMLElement("link")}} None.
nofollow Indicates that the linked document is not endorsed by the author of this one, for example if it has no control over it, if it is a bad example or if there is commercial relationship between the two (sold link). This link type may be used by some search engines that use popularity ranking techniques. {{HTMLElement("a")}}, {{HTMLElement("area")}} {{HTMLElement("link")}}
noopener Instructs the browser to open the link without granting the new browsing context access to the document that opened it, by not setting the {{domxref("Window.opener")}} property on the opened window.

This is especially useful when opening untrusted links, in order to ensure they cannot tamper with the originating document, while still providing the Referer HTTP header (unless noreferrer is used as well).
{{HTMLElement("a")}}, {{HTMLElement("area")}} {{HTMLElement("link")}}
noreferrer

Prevents the browser, when navigating to another page, to send this page name, or any other value, as referrer via the Referer: HTTP header.
(In Firefox, before Firefox 37, this worked only in links found in pages. Links clicked in the UI, like "Open in a new tab" via the contextual menu, ignored this).

{{HTMLElement("a")}}, {{HTMLElement("area")}} {{HTMLElement("link")}}
pingback Defines an external resource URI to call if one make a comment or a citation about the webpage. The protocol used to make such a call is defined in the Pingback 1.0 specification.

Note: if the X-Pingback: HTTP header is also present, it supersedes the {{HTMLElement("link")}} element with this link type.
{{HTMLElement("link")}} {{HTMLElement("a")}}, {{HTMLElement("area")}}
preconnect {{experimental_inline}} Provides a hint to the browser suggesting that it open a connection to the linked web site in advance, without disclosing any private information or downloading any content, so that when the link is followed the linked content can be fetched more quickly. {{HTMLElement("link")}} {{HTMLElement("a")}}, {{HTMLElement("area")}}
prefetch Suggests that the browser fetch the linked resource in advance, as it is likely to be requested by the user. Starting with Firefox 44, the value of the {{htmlattrxref("crossorigin", "link")}} attribute is taken into consideration, making it possible to make anonymous prefetches.

Note: The Link Prefetch FAQ has details on which links can be prefetched and on alternative methods.
{{HTMLElement("a")}} {{unimplemented_inline}},
{{HTMLElement("area")}} {{unimplemented_inline}},
{{HTMLElement("link")}}
None.
preload Tells the browser to download a resource because this resource will be needed later during the current navigation. {{HTMLElement("link")}} {{HTMLElement("a")}}, {{HTMLElement("area")}}
prerender {{experimental_inline}} Suggests that the browser fetch the linked resource in advance, and that it also render the prefetched content offscreen so it can be quickly presented to the user once needed. {{HTMLElement("link")}} {{HTMLElement("a")}}, {{HTMLElement("area")}}
prev Indicates that the hyperlink leads to the preceding resource of the sequence the current page is in.

Note: You can also use the next keyword to specify a link to the next page in the sequence.

Although recognized, the synonym previous is incorrect and must be avoided.
{{HTMLElement("a")}}, {{HTMLElement("area")}}, {{HTMLElement("link")}} None.
search Indicates that the hyperlink reference a document whose interface is specially designing for searching in this document, or site, and its resources.

If the {{htmlattrxref("type","link")}} attribute is set to application/opensearchdescription+xml the resource is an OpenSearch plugin that can be easily added to the interface of some browsers like Firefox or Internet Explorer.
{{HTMLElement("a")}}, {{HTMLElement("area")}}, {{HTMLElement("link")}} None.
stylesheet Defines an external resource to be used as a stylesheet. If the type is not set, the browser should assume it is a text/css stylesheet until further inspection.

If used in combination with the alternate keyword, it defines an alternative style sheet; in that case the {{htmlattrxref("title", "link")}} attribute must be present and not be the empty string.
{{HTMLElement("link")}} {{HTMLElement("a")}}, {{HTMLElement("area")}}
sidebar {{non-standard_inline}} Indicates that the hyperlink leads to a resource that would be better suited for a secondary browsing context, like a sidebar. Browsers, that don't have such a context will ignore this keyword.

While once part of the HTML specification, this has been removed from the spec and is only implemented by Firefox at this time.
{{HTMLElement("a")}}, {{HTMLElement("area")}}, {{HTMLElement("link")}} None.
tag Indicates that the hyperlink refers to a document describing a tag that applies to this document.

Note: This link type should not be set on links to a member of a tag cloud as these do not apply to a single document but to a set of pages.
{{HTMLElement("a")}}, {{HTMLElement("area")}} {{HTMLElement("link")}}
up {{obsolete_inline}} Indicates that the page is part of a hierarchical structure and that the hyperlink leads to the higher level resource of that structure.

The number of up link types indicates the depth difference between the current page and the linked resource.
{{HTMLElement("a")}}, {{HTMLElement("area")}}, {{HTMLElement("link")}} None.

Specifications

Specification Status Comment
{{SpecName('Preload','#link-type-preload','preload')}} {{Spec2('Preload')}} Added preload.
{{SpecName('Resource Hints', '#dfn-preconnect', 'preconnect')}} {{Spec2('Resource Hints')}} Added dns-prefetch, preconnect, and prerender values.
{{SpecName('HTML WHATWG', 'semantics.html#the-link-element', '<link>')}} {{Spec2('HTML WHATWG')}} No change since last snapshot ({{SpecName('HTML WHATWG')}})
{{SpecName('HTML5 W3C', 'document-metadata.html#the-link-element', '<link>')}} {{Spec2('HTML5 W3C')}} Added tag, stylesheet, search, prev, prefetch, noreferrer, nofollow, next, license, icon, help, bookmark, author, and alternate.
{{SpecName('HTML4.01', 'struct/links.html#h-12.3', '<link>')}} {{Spec2('HTML4.01')}}  

Browser compatibility

{{CompatibilityTable}}
Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari
Basic support {{CompatChrome(49.0)}} {{CompatGeckoDesktop("1.0")}} {{CompatVersionUnknown}} {{CompatVersionUnknown}} {{CompatVersionUnknown}}
Alternative stylesheets {{CompatUnknown}} {{CompatGeckoDesktop("1.9")}} {{CompatUnknown}} {{CompatVersionUnknown}} {{CompatUnknown}}
prefetch {{CompatUnknown}} {{CompatUnknown}} {{CompatUnknown}} {{CompatUnknown}} {{CompatUnknown}}
prerender {{CompatUnknown}} {{CompatUnknown}} {{CompatUnknown}} {{CompatUnknown}} {{CompatUnknown}}
preconnect {{CompatChrome(46)}} {{CompatGeckoDesktop("39")}} [1] {{CompatNo}} {{CompatUnknown}} {{CompatNo}}
dns-prefetch {{CompatChrome(46)}} {{CompatGeckoDesktop("1.9")}} {{CompatUnknown}} {{CompatUnknown}} {{CompatUnknown}}
preload {{CompatUnknown}} [2] {{CompatUnknown}} {{CompatUnknown}} {{CompatUnknown}} {{CompatUnknown}}
Feature Android Android Webview Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile Chrome for Android
Basic support {{CompatVersionUnknown}} {{CompatChrome(49.0)}} {{CompatGeckoMobile("1.0")}} {{CompatVersionUnknown}} {{CompatVersionUnknown}} {{CompatVersionUnknown}} {{CompatChrome(49.0)}}
Alternative stylesheets {{CompatUnknown}} {{CompatUnknown}} {{CompatGeckoMobile("2.0")}} {{CompatUnknown}} {{CompatUnknown}} {{CompatUnknown}} {{CompatUnknown}}
prefetch {{CompatNo}} {{CompatUnknown}} {{CompatUnknown}} {{CompatUnknown}} {{CompatUnknown}} {{CompatUnknown}} {{CompatUnknown}}
prerender {{CompatUnknown}} {{CompatUnknown}} {{CompatUnknown}} {{CompatUnknown}} {{CompatUnknown}} {{CompatUnknown}} {{CompatUnknown}}
preconnect {{CompatChrome(46)}} {{CompatUnknown}} {{CompatGeckoMobile("39")}} [2] {{CompatUnknown}} {{CompatUnknown}} {{CompatUnknown}} {{CompatChrome(42.0)}} [1]
dns-prefetch {{CompatChrome(46)}} {{CompatUnknown}} {{CompatGeckoMobile("1.9")}} {{CompatUnknown}} {{CompatUnknown}} {{CompatUnknown}} {{CompatVersionUnknown}}
preload {{CompatNo}} {{CompatNo}} {{CompatUnknown}} {{CompatUnknown}} {{CompatUnknown}} {{CompatUnknown}} {{CompatNo}}

[1] Before Firefox 41, it didn't obey the {{htmlattrxref("crossorigin", 'link')}} attribute.

[2] Chrome status for rel=preload

Revision Source

<p>{{HTMLSidebar}}</p>

<p>In HTML, the following link types indicate the relationship between two documents, in which one links to the other using an {{HTMLElement("a")}}, {{HTMLElement("area")}}, or {{HTMLElement("link")}} element.</p>

<table class="standard-table">
 <caption>List of the defined link types and their significance in HTML</caption>
 <thead>
  <tr>
   <th scope="col">Link Type</th>
   <th scope="col">Description</th>
   <th scope="col" style="width: 12em;">Allowed in these elements</th>
   <th scope="col">Not allowed in these elements</th>
  </tr>
 </thead>
 <tbody>
  <tr>
   <td><code>alternate</code></td>
   <td>
    <ul>
     <li>If the element is {{HTMLElement("link")}} and the {{htmlattrxref("rel", "link")}} attribute also contains the <code>stylesheet</code> type, the link defines an <a href="/en-US/docs/Alternative_style_sheets">alternative style sheet</a>; in that case the {{htmlattrxref("title", "link")}} attribute must be present and not be the empty string.</li>
     <li>If the {{htmlattrxref("type","link")}} is set to <code>application/rss+xml</code> or <code>application/atom+xml</code>, the link defines a <a href="/en-US/docs/RSS/Getting_Started/Syndicating">syndication feed</a>. The first one defined on the page is the default.</li>
     <li>Otherwise, the link defines an alternative page, of one of these types:
      <ul>
       <li>for another medium, like a handheld device (if the {{htmlattrxref("media","link")}} attribute is set)</li>
       <li>in another language (if the {{htmlattrxref("hreflang","link")}} attribute is set),</li>
       <li>in another format, such as a PDF (if the {{htmlattrxref("type","link")}} attribute is set)</li>
       <li>a combination of these</li>
      </ul>
     </li>
    </ul>
   </td>
   <td>{{HTMLElement("a")}}, {{HTMLElement("area")}}, {{HTMLElement("link")}}</td>
   <td><em>None</em>.</td>
  </tr>
  <tr>
   <td><code>archives</code> {{obsolete_inline}}</td>
   <td>Defines a hyperlink to a document that contains an archive link to this one. For example, a blog entry could link to a monthly index page this way.<br />
    <br />
    <strong>Note:</strong> Although recognized, the singular <code>archive</code> is incorrect and must be avoided.</td>
   <td>{{HTMLElement("a")}}, {{HTMLElement("area")}}, {{HTMLElement("link")}}</td>
   <td><em>None.</em></td>
  </tr>
  <tr>
   <td><code>author</code></td>
   <td>Defines a hyperlink to a page describing the author or providing a way to contact the author.<br />
    <br />
    <strong>Note:</strong> This may be a <code>mailto:</code> hyperlink, but this is not recommended on public pages as robot harvesters will quickly lead to a lot of spam sent to the address. In that case, it is better to lead to a page containing a contact form.<br />
    <br />
    Although recognized, the {{htmlattrxref("rev", "link")}} attribute on {{HTMLElement("a")}}, {{HTMLElement("area")}} or{{HTMLElement("link")}} elements with a link type of <code>made</code> is incorrect and should be replaced by the {{htmlattrxref("rel", "link")}} attribute with this link type.</td>
   <td>{{HTMLElement("a")}}, {{HTMLElement("area")}}, {{HTMLElement("link")}}</td>
   <td><em>None.</em></td>
  </tr>
  <tr>
   <td><code>bookmark</code></td>
   <td>Indicates that the hyperlink is a <a href="/en-US/docs/Permalink">permalink</a> for the nearest ancestor {{HTMLElement("article")}} element. If none, it is a permalink for the <a href="/en-US/docs/Sections_and_Outlines_of_an_HTML5_document">section</a> that the element is most closely associated to.<br />
    <br />
    This allows for bookmarking a single article in a page containing multiple articles, such as on a monthly summary blog page, or a blog aggregator.</td>
   <td>{{HTMLElement("a")}}, {{HTMLElement("area")}}</td>
   <td>{{HTMLElement("link")}}</td>
  </tr>
  <tr>
   <td><code>dns-prefetch</code> {{experimental_inline}}</td>
   <td>Hints to the browser that a resources is needed allowing the browser to do a DNS lookup and protocol handshaking before a user clicks the link.</td>
   <td>{{HTMLElement("link")}}</td>
   <td>{{HTMLElement("a")}}, {{HTMLElement("area")}}</td>
  </tr>
  <tr>
   <td><code>external</code></td>
   <td>Indicates that the hyperlink leads to a resource outside the site of the current page; that is, following the link will make the user leave the site.</td>
   <td>{{HTMLElement("a")}}, {{HTMLElement("area")}}</td>
   <td>{{HTMLElement("link")}}</td>
  </tr>
  <tr>
   <td><code>first</code> {{obsolete_inline}}</td>
   <td>Indicates that the hyperlink leads to the first resource of the <em>sequence</em> the current page is in.<br />
    <br />
    <strong>Note:</strong> Other link types related to linking resources in the same sequence are <code>last</code>, <code>prev</code>, <code>next</code>.<br />
    <br />
    Although recognized, the synonyms <code>begin</code> and <code>start</code> are incorrect and must be avoided.</td>
   <td>{{HTMLElement("a")}}, {{HTMLElement("area")}}, {{HTMLElement("link")}}</td>
   <td><em>None.</em></td>
  </tr>
  <tr>
   <td><code>help</code></td>
   <td>
    <ul>
     <li>If the element is {{HTMLElement("a")}} or {{HTMLElement("area")}}, it indicates that the hyperlink leads to a resource giving further help about the parent of the element, and its descendants.</li>
     <li>If the element is {{HTMLElement("link")}} it indicates that the hyperlink leads to a resource giving further help about the page as a whole.</li>
    </ul>
   </td>
   <td>{{HTMLElement("a")}}, {{HTMLElement("area")}}, {{HTMLElement("link")}}</td>
   <td><em>None.</em></td>
  </tr>
  <tr>
   <td><code>icon</code></td>
   <td>Defines a resource for representing the page in the user interface, usually an icon (auditory or visual).<br />
    <br />
    The {{htmlattrxref("media","link")}}, {{htmlattrxref("type","link")}} and {{htmlattrxref("sizes","link")}} attributes allow the browser to select the most appropriate icon for its context. If several resources match, the browser will select the last one declared, in tree order. As these attributes are merely hints, and the resources may be inappropriate upon further inspection, the browser will then select another one, if appropriate.<br />
    <br />
    <strong>Note:</strong> Apple's iOS does not use this link type, nor the {{htmlattrxref("sizes","link")}} attribute, like others mobile browsers do, to select a webpage icon for Web Clip or a start-up placeholder. Instead it uses the non-standard <a href="https://edr.euro.apple.com/library/safari/documentation/AppleApplications/Reference/SafariWebContent/ConfiguringWebApplications/ConfiguringWebApplications.html#//apple_ref/doc/uid/TP40002051-CH3-SW4"><code>apple-touch-icon</code></a> and <a href="https://edr.euro.apple.com/library/safari/documentation/AppleApplications/Reference/SafariWebContent/ConfiguringWebApplications/ConfiguringWebApplications.html#//apple_ref/doc/uid/TP40002051-CH3-SW6"><code>apple-touch-startup-image</code></a> respectively.<br />
    <br />
    The <code>shortcut</code> link type is often seen before <code>icon</code>, but this link type is non-conforming, ignored and <strong>web authors must not use it anymore</strong>.</td>
   <td>{{HTMLElement("link")}}</td>
   <td>{{HTMLElement("a")}}, {{HTMLElement("area")}}</td>
  </tr>
  <tr>
   <td><code>index</code> {{obsolete_inline}}</td>
   <td>Indicates that the page is part of a <em>hierarchical</em> structure and that the hyperlink leads to the top level resource of that structure.<br />
    <br />
    If one or several <code>up</code> link types are also present, the number of these <code>up</code> indicates the depth of the current page in the hierarchy.</td>
   <td>{{HTMLElement("a")}}, {{HTMLElement("area")}}, {{HTMLElement("link")}}</td>
   <td><em>None.</em></td>
  </tr>
  <tr>
   <td><code>last</code> {{obsolete_inline}}</td>
   <td>Indicates that the hyperlink leads to the <em>last</em> resource of the <em>sequence</em> the current page is in.<br />
    <br />
    <strong>Note:</strong> Other link types related to linking resources in the same sequence are <code>first</code>, <code>prev</code>, <code>next</code>.<br />
    <br />
    Although recognized, the synonym <code>end</code> is incorrect and must be avoided.</td>
   <td>{{HTMLElement("a")}}, {{HTMLElement("area")}}, {{HTMLElement("link")}}</td>
   <td><em>None.</em></td>
  </tr>
  <tr>
   <td><code>license</code></td>
   <td>Indicates that the hyperlink leads to a document describing the licensing information. If not inside the {{HTMLElement("head")}} element, the standard doesn't distinguish between a hyperlink applying to a specific part of the document or to the document as a whole. Only the data on the page can indicate this.<br />
    <br />
    <strong>Note: </strong>Although recognized, the synonym <code>copyright</code> is incorrect and must be avoided.</td>
   <td>{{HTMLElement("a")}}, {{HTMLElement("area")}}, {{HTMLElement("link")}}</td>
   <td><em>None.</em></td>
  </tr>
  <tr>
   <td><code>next</code></td>
   <td>Indicates that the hyperlink leads to the <em>next</em> resource of the <em>sequence</em> the current page is in.<br />
    <br />
    <strong>Note:</strong> Other link types related to linking resources in the same sequence are <code>first</code>, <code>prev</code>, <code>last</code>.</td>
   <td>{{HTMLElement("a")}}, {{HTMLElement("area")}}, {{HTMLElement("link")}}</td>
   <td><em>None.</em></td>
  </tr>
  <tr>
   <td><code>nofollow</code></td>
   <td>Indicates that the linked document is not endorsed by the author of this one, for example if it has no control over it, if it is a bad example or if there is commercial relationship between the two (sold link). This link type may be used by some search engines that use popularity ranking techniques.</td>
   <td>{{HTMLElement("a")}}, {{HTMLElement("area")}}</td>
   <td>{{HTMLElement("link")}}</td>
  </tr>
  <tr>
   <td><code>noopener</code></td>
   <td>Instructs the browser to open the link without granting the new browsing context access to the document that opened it, by not setting the {{domxref("Window.opener")}} property on the opened window.<br />
    <br />
    This is especially useful when opening untrusted links, in order to ensure they cannot tamper with the originating document, while still providing the <code>Referer</code> HTTP header (unless <code>noreferrer</code> is used as well).</td>
   <td>{{HTMLElement("a")}}, {{HTMLElement("area")}}</td>
   <td>{{HTMLElement("link")}}</td>
  </tr>
  <tr>
   <td><code>noreferrer</code></td>
   <td>
    <p>Prevents the browser, when navigating to another page, to send this page name, or any other value, as referrer via the <code>Referer:</code> HTTP header.<br />
     (In Firefox, before Firefox 37, this worked only in links found in pages. Links clicked in the UI, like "Open in a new tab" via the contextual menu, ignored this).</p>
   </td>
   <td>{{HTMLElement("a")}}, {{HTMLElement("area")}}</td>
   <td>{{HTMLElement("link")}}</td>
  </tr>
  <tr>
   <td><code>pingback</code></td>
   <td>Defines an external resource URI to call if one make a comment or a citation about the webpage. The protocol used to make such a call is defined in the <a href="https://www.hixie.ch/specs/pingback/pingback">Pingback 1.0</a> specification.<br />
    <br />
    <strong>Note:</strong> if the <code>X-Pingback:</code> HTTP header is also present, it supersedes the {{HTMLElement("link")}} element with this link type.</td>
   <td>{{HTMLElement("link")}}</td>
   <td>{{HTMLElement("a")}}, {{HTMLElement("area")}}</td>
  </tr>
  <tr>
   <td><code>preconnect</code> {{experimental_inline}}</td>
   <td>Provides a hint to the browser suggesting that it open a connection to the linked web site in advance, without disclosing any private information or downloading any content, so that when the link is followed the linked content can be fetched more quickly.</td>
   <td>{{HTMLElement("link")}}</td>
   <td>{{HTMLElement("a")}}, {{HTMLElement("area")}}</td>
  </tr>
  <tr>
   <td><code>prefetch</code></td>
   <td>Suggests that the browser fetch the linked resource in advance, as it is likely to be requested by the user. Starting with Firefox 44, the value of the {{htmlattrxref("crossorigin", "link")}} attribute is taken into consideration, making it possible to make anonymous prefetches.<br />
    <br />
    <strong>Note:</strong> The <a href="/en-US/docs/Link_prefetching_FAQ">Link Prefetch FAQ</a> has details on which links can be prefetched and on alternative methods.</td>
   <td>{{HTMLElement("a")}} {{unimplemented_inline}},<br />
    {{HTMLElement("area")}} {{unimplemented_inline}},<br />
    {{HTMLElement("link")}}</td>
   <td><em>None.</em></td>
  </tr>
  <tr>
   <td><code>preload</code></td>
   <td>Tells the browser to download a resource because this resource will be needed later during the current navigation.</td>
   <td>{{HTMLElement("link")}}</td>
   <td>{{HTMLElement("a")}}, {{HTMLElement("area")}}</td>
  </tr>
  <tr>
   <td><code>prerender</code> {{experimental_inline}}</td>
   <td>Suggests that the browser fetch the linked resource in advance, and that it also render the prefetched content offscreen so it can be quickly presented to the user once needed.</td>
   <td>{{HTMLElement("link")}}</td>
   <td>{{HTMLElement("a")}}, {{HTMLElement("area")}}</td>
  </tr>
  <tr>
   <td><code>prev</code></td>
   <td>Indicates that the hyperlink leads to the <em>preceding</em> resource of the <em>sequence</em> the current page is in.<br />
    <br />
    <strong>Note:</strong> You can also use the <code>next</code> keyword to specify a link to the next page in the sequence.<br />
    <br />
    Although recognized, the synonym <code>previous</code> is incorrect and must be avoided.</td>
   <td>{{HTMLElement("a")}}, {{HTMLElement("area")}}, {{HTMLElement("link")}}</td>
   <td><em>None.</em></td>
  </tr>
  <tr>
   <td><code>search</code></td>
   <td>Indicates that the hyperlink reference a document whose interface is specially designing for searching in this document, or site, and its resources.<br />
    <br />
    If the {{htmlattrxref("type","link")}} attribute is set to <code>application/opensearchdescription+xml </code>the resource is an <a href="/en-US/docs/Creating_OpenSearch_plugins_for_Firefox">OpenSearch plugin</a> that can be easily added to the interface of some browsers like Firefox or Internet Explorer.</td>
   <td>{{HTMLElement("a")}}, {{HTMLElement("area")}}, {{HTMLElement("link")}}</td>
   <td><em>None.</em></td>
  </tr>
  <tr>
   <td><code>stylesheet</code></td>
   <td>Defines an external resource to be used as a stylesheet. If the <code>type</code> is not set, the browser should assume it is a <code>text/css</code> stylesheet until further inspection.<br />
    <br />
    If used in combination with the <code>alternate</code> keyword, it defines an <a href="/en-US/docs/Alternative_style_sheets">alternative style sheet</a>; in that case the {{htmlattrxref("title", "link")}} attribute must be present and not be the empty string.</td>
   <td>{{HTMLElement("link")}}</td>
   <td>{{HTMLElement("a")}}, {{HTMLElement("area")}}</td>
  </tr>
  <tr>
   <td><code>sidebar</code> {{non-standard_inline}}</td>
   <td>Indicates that the hyperlink leads to a resource that would be better suited for a secondary browsing context, like a <em>sidebar</em>. Browsers, that don't have such a context will ignore this keyword.<br />
    <br />
    While once part of the HTML specification, this has been removed from the spec and is only implemented by Firefox at this time.</td>
   <td>{{HTMLElement("a")}}, {{HTMLElement("area")}}, {{HTMLElement("link")}}</td>
   <td><em>None.</em></td>
  </tr>
  <tr>
   <td><code>tag</code></td>
   <td>Indicates that the hyperlink refers to a document describing a <em>tag</em> that applies to this document.<br />
    <br />
    <strong>Note:</strong> This link type should not be set on links to a member of a tag cloud as these do not apply to a single document but to a set of pages.</td>
   <td>{{HTMLElement("a")}}, {{HTMLElement("area")}}</td>
   <td>{{HTMLElement("link")}}</td>
  </tr>
  <tr>
   <td><code>up</code> {{obsolete_inline}}</td>
   <td>Indicates that the page is part of a <em>hierarchical</em> structure and that the hyperlink leads to the higher level resource of that structure.<br />
    <br />
    The number of <code>up</code> link types indicates the depth difference between the current page and the linked resource.</td>
   <td>{{HTMLElement("a")}}, {{HTMLElement("area")}}, {{HTMLElement("link")}}</td>
   <td><em>None.</em></td>
  </tr>
 </tbody>
</table>

<h2 id="Specifications" name="Specifications">Specifications</h2>

<table class="standard-table">
 <thead>
  <tr>
   <th scope="col">Specification</th>
   <th scope="col">Status</th>
   <th scope="col">Comment</th>
  </tr>
 </thead>
 <tbody>
  <tr>
   <td>{{SpecName('Preload','#link-type-preload','preload')}}</td>
   <td>{{Spec2('Preload')}}</td>
   <td>Added <code>preload</code>.</td>
  </tr>
  <tr>
   <td>{{SpecName('Resource Hints', '#dfn-preconnect', 'preconnect')}}</td>
   <td>{{Spec2('Resource Hints')}}</td>
   <td>Added <code>dns-prefetch</code>, <code>preconnect</code>, and <code>prerender</code> values.</td>
  </tr>
  <tr>
   <td>{{SpecName('HTML WHATWG', 'semantics.html#the-link-element', '&lt;link&gt;')}}</td>
   <td>{{Spec2('HTML WHATWG')}}</td>
   <td>No change since last snapshot ({{SpecName('HTML WHATWG')}})</td>
  </tr>
  <tr>
   <td>{{SpecName('HTML5 W3C', 'document-metadata.html#the-link-element', '&lt;link&gt;')}}</td>
   <td>{{Spec2('HTML5 W3C')}}</td>
   <td>Added <code>tag</code>, <code>stylesheet</code>, <code>search</code>, <code>prev</code>, <code>prefetch</code>, <code>noreferrer</code>, <code>nofollow</code>, <code>next</code>, <code>license</code>, <code>icon</code>, <code>help</code>, <code>bookmark</code>, <code>author</code>, and <code>alternate</code>.</td>
  </tr>
  <tr>
   <td>{{SpecName('HTML4.01', 'struct/links.html#h-12.3', '&lt;link&gt;')}}</td>
   <td>{{Spec2('HTML4.01')}}</td>
   <td>&nbsp;</td>
  </tr>
 </tbody>
</table>

<h2 id="Browser_compatibility">Browser compatibility</h2>

<div>{{CompatibilityTable}}</div>

<div id="compat-desktop">
<table class="compat-table">
 <tbody>
  <tr>
   <th>Feature</th>
   <th>Chrome</th>
   <th>Firefox (Gecko)</th>
   <th>Internet Explorer</th>
   <th>Opera</th>
   <th>Safari</th>
  </tr>
  <tr>
   <td>Basic support</td>
   <td>{{CompatChrome(49.0)}}</td>
   <td>{{CompatGeckoDesktop("1.0")}}</td>
   <td>{{CompatVersionUnknown}}</td>
   <td>{{CompatVersionUnknown}}</td>
   <td>{{CompatVersionUnknown}}</td>
  </tr>
  <tr>
   <td>Alternative stylesheets</td>
   <td>{{CompatUnknown}}</td>
   <td>{{CompatGeckoDesktop("1.9")}}</td>
   <td>{{CompatUnknown}}</td>
   <td>{{CompatVersionUnknown}}</td>
   <td>{{CompatUnknown}}</td>
  </tr>
  <tr>
   <td><code>prefetch</code></td>
   <td>{{CompatUnknown}}</td>
   <td>{{CompatUnknown}}</td>
   <td>{{CompatUnknown}}</td>
   <td>{{CompatUnknown}}</td>
   <td>{{CompatUnknown}}</td>
  </tr>
  <tr>
   <td><code>prerender</code></td>
   <td>{{CompatUnknown}}</td>
   <td>{{CompatUnknown}}</td>
   <td>{{CompatUnknown}}</td>
   <td>{{CompatUnknown}}</td>
   <td>{{CompatUnknown}}</td>
  </tr>
  <tr>
   <td><code>preconnect</code></td>
   <td>{{CompatChrome(46)}}</td>
   <td>{{CompatGeckoDesktop("39")}} [1]</td>
   <td>{{CompatNo}}</td>
   <td>{{CompatUnknown}}</td>
   <td>{{CompatNo}}</td>
  </tr>
  <tr>
   <td><code>dns-prefetch</code></td>
   <td>{{CompatChrome(46)}}</td>
   <td>{{CompatGeckoDesktop("1.9")}}</td>
   <td>{{CompatUnknown}}</td>
   <td>{{CompatUnknown}}</td>
   <td>{{CompatUnknown}}</td>
  </tr>
  <tr>
   <td><code>preload</code></td>
   <td>{{CompatUnknown}} [2]</td>
   <td>{{CompatUnknown}}</td>
   <td>{{CompatUnknown}}</td>
   <td>{{CompatUnknown}}</td>
   <td>{{CompatUnknown}}</td>
  </tr>
 </tbody>
</table>
</div>

<div id="compat-mobile">
<table class="compat-table">
 <tbody>
  <tr>
   <th>Feature</th>
   <th>Android</th>
   <th>Android Webview</th>
   <th>Firefox Mobile (Gecko)</th>
   <th>IE Mobile</th>
   <th>Opera Mobile</th>
   <th>Safari Mobile</th>
   <th>Chrome for Android</th>
  </tr>
  <tr>
   <td>Basic support</td>
   <td>{{CompatVersionUnknown}}</td>
   <td>{{CompatChrome(49.0)}}</td>
   <td>{{CompatGeckoMobile("1.0")}}</td>
   <td>{{CompatVersionUnknown}}</td>
   <td>{{CompatVersionUnknown}}</td>
   <td>{{CompatVersionUnknown}}</td>
   <td>{{CompatChrome(49.0)}}</td>
  </tr>
  <tr>
   <td>Alternative stylesheets</td>
   <td>{{CompatUnknown}}</td>
   <td>{{CompatUnknown}}</td>
   <td>{{CompatGeckoMobile("2.0")}}</td>
   <td>{{CompatUnknown}}</td>
   <td>{{CompatUnknown}}</td>
   <td>{{CompatUnknown}}</td>
   <td>{{CompatUnknown}}</td>
  </tr>
  <tr>
   <td><code>prefetch</code></td>
   <td>{{CompatNo}}</td>
   <td>{{CompatUnknown}}</td>
   <td>{{CompatUnknown}}</td>
   <td>{{CompatUnknown}}</td>
   <td>{{CompatUnknown}}</td>
   <td>{{CompatUnknown}}</td>
   <td>{{CompatUnknown}}</td>
  </tr>
  <tr>
   <td><code>prerender</code></td>
   <td>{{CompatUnknown}}</td>
   <td>{{CompatUnknown}}</td>
   <td>{{CompatUnknown}}</td>
   <td>{{CompatUnknown}}</td>
   <td>{{CompatUnknown}}</td>
   <td>{{CompatUnknown}}</td>
   <td>{{CompatUnknown}}</td>
  </tr>
  <tr>
   <td><code>preconnect</code></td>
   <td>{{CompatChrome(46)}}</td>
   <td>{{CompatUnknown}}</td>
   <td>{{CompatGeckoMobile("39")}} [2]</td>
   <td>{{CompatUnknown}}</td>
   <td>{{CompatUnknown}}</td>
   <td>{{CompatUnknown}}</td>
   <td>{{CompatChrome(42.0)}} [1]</td>
  </tr>
  <tr>
   <td><code>dns-prefetch</code></td>
   <td>{{CompatChrome(46)}}</td>
   <td>{{CompatUnknown}}</td>
   <td>{{CompatGeckoMobile("1.9")}}</td>
   <td>{{CompatUnknown}}</td>
   <td>{{CompatUnknown}}</td>
   <td>{{CompatUnknown}}</td>
   <td>{{CompatVersionUnknown}}</td>
  </tr>
  <tr>
   <td>preload</td>
   <td>{{CompatNo}}</td>
   <td>{{CompatNo}}</td>
   <td>{{CompatUnknown}}</td>
   <td>{{CompatUnknown}}</td>
   <td>{{CompatUnknown}}</td>
   <td>{{CompatUnknown}}</td>
   <td>{{CompatNo}}</td>
  </tr>
 </tbody>
</table>
</div>

<p>[1] Before Firefox 41, it didn't obey the {{htmlattrxref("crossorigin", 'link')}} attribute.</p>

<p>[2] <a href="https://www.chromestatus.com/feature/5757468554559488">Chrome status for rel=preload</a></p>
Revert to this revision