リンクタイプ
Updated / Published
a要素, area要素, link要素にはrel属性の値にリンクタイプ(LinkTypes)のキーワードを指定することで、文書と文書との論理的関係を表すことができます。あるUAはナビゲーションを構成したり、検索エンジンロボットはリンク情報収集時の補助に利用したり等、UAがリンク先をどのように扱うかを判断するための情報となり得ます。
HTML4で定義済みのキーワード
キーワードは半角アルファベットの大文字・小文字が区別されません(case-insensitive)。alternateをALTERNATEと書いても同じ解釈です。
alternate- この文書の代替にあたる文書を示す。
hreflang属性と併用し、他の言語で翻訳した文書版であることを示す。media属性と併用し、印刷用など別のメディア用に設計した文書版であることを示す。
stylesheetlink要素に指定し、外部スタイルシートを示す。
"stylesheet alternate"と指定すれば、ユーザが選択可能な代替スタイルシートを示す。appendix- この文書の付属書にあたる文書を示す。
bookmarka要素に指定し、文書内の重要なアンカーへのリンク(ブックマーク)を示す。
1つの文書内に複数のブックマークが設定できること。contents- この文書の目次にあたる文書を示す。同義語
tocをサポートするUAもある。 copyright- 著作権に関する記述のある文書を示す。
glossary- 指定する文書が用語集であることを示す。
help- この文書のヘルプにあたる文書を示す。
index- この文書の索引にあたる文書を示す。
next- この文書の次の文書であることを示す。
prev- この文書の前の文書であることを示す。同義語
previousをサポートするUAもある。 start- 一連の文書の中で最初の文書を示す。
検索エンジンに対して、最初に参照してもらいたい文書であることを示す。 chapter- 一連の文書の中で章にあたる文書を示す。
section- 一連の文書の中で節にあたる文書を示す。
subsection- 一連の文書の中で項にあたる文書を示す。
もし、仕様で標準的に定義されている上記以外のリンクタイプを利用する場合は、head要素のprofile属性で新たなリンクタイプを定義することが指示されていたのですが、そのフォーマットがしっかりと定義されてこなかったために、この方法が普及することはなく、結局HTML5においてはhead要素のprofile属性は廃止されました。
HTML5で定義されるキーワード
HTML5からは従来のstart, chapter, section, subsection等の一連の文書の中での階層関係を示すキーワードは削除され、最初と最後・前後・親階層の文書といったナビゲーション形式に特化した関係を示す使い方が想定されていたり、新たにウェブログでの活用を想定したキーワードも多く定義されています。
キーワードは半角アルファベットの大文字・小文字が区別されません(case-insensitive)。alternateをALTERNATEと書いても同じ解釈です。
alternatea/area要素、link要素の両方にハイパーリンクとして指定可能。
現在の文書の代替にあたる文書を示す。hreflang属性と併用し、他の言語で翻訳した文書版であることを示す。media属性と併用し、印刷用など別のメディア用に設計した文書版であることを示す。
archivesa/area要素、link要素の両方にハイパーリンクとして指定可能。
過去のコンテンツを集めたアーカイブを示す。authora/area要素、link要素の両方にハイパーリンクとして指定可能。
現在の文書の制作者を示す。article要素内のa/area要素で使われた場合は、文書全体の制作者を示すのではなく、article要素内のコンテンツの制作者であることを示す。特に従来、広く利用されてきたrev="made"はrel="author"に置き換わる。bookmarka/area要素にのみハイパーリンクとして指定可能。
直近の親にあたるセクション(基本的にarticle要素)内のコンテンツのパーマリンクを示す。externala/area要素にのみハイパーリンクとして指定可能。
リンク先が外部サイトであることを示す。firsta/area要素、link要素の両方にハイパーリンクとして指定可能。
一連のコンテンツの一部である現在の文書から見て、初回のコンテンツとして参照されるべき文書であることを示す。従来、広く使われてきたstartに置き換わる。helpa/area要素、link要素の両方にハイパーリンクとして指定可能。
現在の文書のヘルプにあたる文書を示す。セクショニング・コンテンツ内にあるa/area要素で使われた場合は、文書全体のヘルプではなく、その親セクション内のコンテンツに対するヘルプであることを示す。iconlink要素にのみ外部リソースとして指定可能。
サイトもしくはドキュメントのアイコンを示す。タブやブックマーク欄など視覚環境のUAのインターフェースに活用される。indexa/area要素、link要素の両方にハイパーリンクとして指定可能。
現在の文書の索引にあたる文書を示す。lasta/area要素、link要素の両方にハイパーリンクとして指定可能。
一連のコンテンツの一部である現在の文書から見て、最終回のコンテンツとして参照されるべき文書であることを示す。licensea/area要素、link要素の両方にハイパーリンクとして指定可能。
著作権やライブラリ、ソフトウェア等の使用条件が記された文書を示す。nexta/area要素、link要素の両方にハイパーリンクとして指定可能。
一連のコンテンツの一部である現在の文書から見て、次回のコンテンツとして参照されるべき文書であることを示す。nofollowa/area要素にのみハイパーリンクとして指定可能。
リンク元の自身のサイトから見て、リンク先のコンテンツについては保証・責任がもてないコンテンツであることを示す。検索エンジンロボットにとっては、そのリンクを検索結果の順位付けに評価しない働きとなる。noreferrera/area要素にのみハイパーリンクとして指定可能。
リンク先に移動する際にUAがHTTPリクエストヘッダにリファラ情報を含めるのを抑止し、HTTPリファラの欄を空白にしたまま送信させる。pingbacklink要素にのみ外部リソースとして指定可能。
ピングバック受け付けURIをマークアップすることで、リンク先のブログ等にリンクを張ったことを自動的に通知する。プロトコルが違うだけで、ピングバックはトラックバックと同じ仕組みである。WordPress等のブログシステムが既にピングバックに対応している。prefetchlink要素にのみ外部リソースとして指定可能。
リンク先のリソースを事前にロード(キャッシュ)するようにUAに指示する。preva/area要素、link要素の両方にハイパーリンクとして指定可能。
一連のコンテンツの一部である現在の文書から見て、前回のコンテンツとして参照されるべき文書であることを示す。searcha/area要素、link要素の両方にハイパーリンクとして指定可能。
検索機能がある文書を示す。stylesheetlink要素にのみ外部リソースとして指定可能。
外部スタイルシートを示す。"stylesheet alternate"と指定すれば、ユーザが選択可能な代替スタイルシートを示す。sidebara/area要素、link要素の両方にハイパーリンクとして指定可能。
視覚環境のUAのサイドバー欄に表示させる文書を示す。taga/area要素、link要素の両方にハイパーリンクとして指定可能。
現在の文書のタグ(コンテンツの内容を示したキーワードによる情報付け)を示す。タグの集合であるタグ・クラウドは現在の文書のタグを示すわけではないため、tagを付与してはならない。upa/area要素、link要素の両方にハイパーリンクとして指定可能。
現在の文書の1つ上の階層の文書を示す。up upのように半角スペース区切りで複数指定することで、upキーワードの数だけ階層が上の文書であることを示す。パンくず形式のナビゲージョンにおいて階層関係を示すのに適している。
上記以外のHTML5の仕様に定義されていないキーワードについては、現状、RelExtensions - WHATWG Wikiにて検討が進められており、WHATWG Wiki以外にもexisting-rel-values · Microformats Wikiでも多くのリンクタイプが考案されています。
HTML5よりrev属性が廃止
a要素, link要素のhref属性で指定されたリンク先のリソースを現在のページ(始点)から見た関係で示すrel属性に対し、リンク先のリソース(終点)から見た現在のページに対する関係を示すrev属性が定義されていましたが、これらの定義はわかりにくく、誤用されることも多かったため、HTML5ではrev属性が廃止され、リンク先との関係を示すのはrel属性のみに統一されることとなりました。
HTML5でrev属性が廃止されるにあたって、rev属性にはHTML2.0から定義されてきた制作者を示す特有のリンクタイプとして浸透しているmadeのキーワードがあり、既にHTML4の最終勧告仕様書の時点でこのキーワードは削除されていたのですが、href属性の値に制作者がもっている E-メールアドレスを指定しておくことでユーザからコンタクトをとれるようにする伝統的な方法として、これまで広く利用されてきた経緯があります。そのため、制作者のメールアドレスを示すのに使われてきたrev="made" href="mailto:hoge@hoge"の書き方は次のように変更していくことが推奨されています。
<link rel="author" href="mailto:hoge@hoge">
...
<a rel="author" href="mailto:hoge@hoge">hoge@hoge</a>
HTML5よりarea要素にもrel属性を追加
rel属性が指定できる要素は、HTML4, XHTML1.0/1.1ではa要素とlink要素の2つのみでしたが、HTML5ではa要素からクライアントサイド・イメージマップ(クリッカブルマップ)を提供する機能(coords属性, shape属性)が廃止され、その整合性のためにarea要素にもrel属性が指定できるように追加されました。