canonical属性とは?
URLを正規化する方法のひとつ。似たような内容(もしくは完全重複)のコンテンツが複数存在する場合、URL正規化タグを使うことによって、検索エンジンに対して統一のURLを指定することができる。
例えば…
http://fuga.com
というサイト内で
hoge.html
<html>
<body>
<p>ほげほげ</p>
</body>
</html>
hoge01.html
<html>
<body>
<p>ほげほげ</p>
</body>
</html>
とあり、hoge01.htmlがhoge.htmlの重複コンテンツだとすると、hoge01.htmlのhead要素に
<head>
<link rel="canonical" href="http://fuga.com/hoge.html">
</head>
と記述することで、hoge.htmlとページ内容が同じであることを検索エンジンに伝えることができる。
これによって、検索エンジンからの評価を下げず、インデックスさせるURLをhoge.htmlに指定することができる。
自己参照canonical
canonical属性に、ページ自身のURLを記述すること。
たとえば
www.hoge.com/hugahuga
<head>
<link rel="canonical" href="http://www.hoge.com/hugahuga">
</head>
という場合である。一見意味がないように思えるが、例えばhugahugaの後にパラメータ付きURLが生成される場合は、重複コンテンツとみなされるリスクを回避できる。