Reference

HTML link relation types (rel values)

The HTML standard defines twenty-seven link types for the rel attribute. Some create hyperlinks, such as canonical, alternate, next and author; some load an external resource, such as stylesheet, icon, manifest, preload and preconnect; some only annotate a link, such as nofollow, noopener and noreferrer. Each is allowed on some of link, a and area, and form, and not on the others. Keywords are case-insensitive, and several can be combined in one rel attribute separated by spaces.

The link types defined by the HTML Standard (links, link types), the effect each has on link, a and area, and form elements, and what VeriFixScan reads.
rel valueOn linkOn a and areaOn formMeaningRead by the scan
alternateHyperlinkHyperlinkNot allowedGives alternate representations of the current document.Internal targets are added to the crawl.
canonicalHyperlinkNot allowedNot allowedGives the preferred URL for the current document.Read by seo.canonical; an internal target is added to the crawl.
authorHyperlinkHyperlinkNot allowedGives a link to the author of the current document or article.Not read.
bookmarkNot allowedHyperlinkNot allowedGives the permalink for the nearest ancestor section.Not read.
dns-prefetchExternal resourceNot allowedNot allowedSpecifies that the user agent should preemptively perform DNS resolution for the target resource's origin.Read by performance.dns_prefetch.
expectInternal resourceNot allowedNot allowedExpect an element with the target ID to appear in the current document.Not read.
externalNot allowedAnnotationAnnotationIndicates that the referenced document is not part of the same site as the current document.Not read.
helpHyperlinkHyperlinkHyperlinkProvides a link to context-sensitive help.Not read.
iconExternal resourceNot allowedNot allowedImports an icon to represent the current document.Read by quality.favicon.
manifestExternal resourceNot allowedNot allowedImports or links to an application manifest.Read by exposure.manifest.present, which fetches the manifest once.
modulepreloadExternal resourceNot allowedNot allowedFetches a module script early and stores it in the document's module map for later evaluation.Collected as a resource of the page; not graded on its own.
licenseHyperlinkHyperlinkHyperlinkIndicates that the main content of the current document is covered by the copyright license described by the referenced document.Not read.
nextHyperlinkHyperlinkHyperlinkIndicates that the current document is a part of a series, and that the next document in the series is the referenced document.Internal targets are added to the crawl.
nofollowNot allowedAnnotationAnnotationIndicates that the current document's original author or publisher does not endorse the referenced document.Not read.
noopenerNot allowedAnnotationAnnotationA page opened in a new window through the link gets no reference back to the page that opened it.Not read.
noreferrerNot allowedAnnotationAnnotationNo `Referer` header will be included. Additionally, has the same effect as noopener.Not read.
openerNot allowedAnnotationAnnotationThe reverse of noopener: a link opened with target=_blank keeps a reference to its opener.Not read.
pingbackExternal resourceNot allowedNot allowedGives the address of the pingback server that handles pingbacks to the current document.Not read.
preconnectExternal resourceNot allowedNot allowedSpecifies that the user agent should preemptively connect to the target resource's origin.Read by performance.preconnect.
prefetchExternal resourceNot allowedNot allowedSpecifies that the user agent should preemptively fetch and cache the target resource as it is likely to be required for a followup navigation.Collected; not graded.
preloadExternal resourceNot allowedNot allowedFetches and caches the target resource for the current navigation, with the destination given by the as attribute.Read by performance.preload; font preloads are also counted by performance.fonts.
prevHyperlinkHyperlinkHyperlinkIndicates that the current document is a part of a series, and that the previous document in the series is the referenced document.Internal targets are added to the crawl.
privacy-policyHyperlinkHyperlinkNot allowedGives a link to information about the data collection and usage practices that apply to the current document.Not read.
searchHyperlinkHyperlinkHyperlinkGives a link to a resource that can be used to search through the current document and its related pages.Not read.
stylesheetExternal resourceNot allowedNot allowedImports a style sheet.Read by performance.render_blocking when declared in the head.
tagNot allowedHyperlinkNot allowedGives a tag (identified by the given address) that applies to the current document.Not read.
terms-of-serviceHyperlinkHyperlinkNot allowedGives a link to information about the agreements between the current document's provider and users who wish to use the current document.Not read.

Hyperlinks, external resources and annotations

A hyperlink type describes a relationship the user or a program can follow: `canonical` names the preferred URL of the page, `alternate` a different representation of it, `next` and `prev` the neighbours in a series.

An external-resource type asks the browser to load something: `stylesheet` and `icon` are used by the page, `manifest` describes the installable application, and the resource hints — `dns-prefetch`, `preconnect`, `preload`, `modulepreload` and `prefetch` — ask the browser to do work early.

An annotation changes how a link behaves without being a link of its own. `noopener` stops a page opened in a new window from reaching back to its opener; `noreferrer` also withholds the Referer header; `nofollow` says the publisher does not endorse the target.

Seven types are body-ok — dns-prefetch, modulepreload, pingback, preconnect, prefetch, preload and stylesheet — meaning a link element with one of them may appear in the body rather than only in the head.

Types defined elsewhere

Not every rel value in use is in the table. The HTML standard lets other specifications and a public registry of extensions define more, and some widely used values live there — `me`, for example, or the values used by particular platforms.

Search engines also give their own documented meaning to some values, such as `sponsored` and `ugc` for links, alongside `nofollow`. Those meanings are the search engine's, not the HTML standard's.

An unknown rel value is simply ignored by browsers, so a misspelled `stylesheet` or `canonical` fails silently.

Keywords are compared case-insensitively, so `rel="NEXT"` means the same as `rel="next"`, and the standard lists a few legacy synonyms, such as `copyright` for `license`, that browsers still honour but documents must not use.

What a scan reads

The crawler treats the internal targets of `canonical`, `alternate`, `next` and `prev` as URLs to discover, so a page reachable only through one of them is still crawled. `seo.canonical` reads the canonical declaration of each page.

`performance.preload`, `performance.preconnect` and `performance.dns_prefetch` read the resource hints against the resources and third-party origins the page really uses; `performance.fonts` counts font preloads. `modulepreload` and `prefetch` are collected but not graded on their own.

`performance.render_blocking` reads the stylesheets declared in the head, `quality.favicon` looks for an icon link, and `exposure.manifest.present` finds a declared manifest and fetches it once.

The other types — including `nofollow`, `noopener` and `noreferrer` — are not read.

Frequently asked questions

Is rel=canonical part of HTML?
Yes. The HTML Standard defines canonical as a hyperlink type allowed on link elements only, giving the preferred URL for the current document. It was first specified in RFC 6596, and search engines document how they use it.
What is the difference between noopener and noreferrer?
noopener prevents a page opened in a new window from getting a reference back to the page that opened it. noreferrer does the same and also omits the Referer header on the navigation.
Can a link have several rel values?
Yes. The rel attribute is split on whitespace and each keyword applies, as in rel="noopener noreferrer". A keyword must not appear twice in the same attribute.

Sources

Related

VeriFixScan crawls a site and applies its checks to every page it reaches, keeping the evidence behind each finding. Scanning one website is free.

Scan a website