canonicalタグ【canonical tag】canonical link element
canonicalタグとは?
様々な事情からサイト内に複数の重複する内容のページが掲載されることがあるが、そのままでは検索エンジンがどのページを検索結果に掲載してよいか適切に判断できず、運営側の意図しないページが表示されたり、意図的な重複コンテンツの乱造とみなして評価を下げてしまうことがある。
このような場合に、canonicalタグを用いて内容が重複している複数のページをグループ化し、一つを代表として検索エンジン側に伝達することで、「そのページのみを収録・評価してほしい」と伝えることができる。この工程を「URL正規化」という。ただし、検索エンジンはcanonicalタグの情報を参考にするが、必ずこれに従うとは限らない。
canonicalの記述方法
具体的には、HTMLのlink要素を用いて、複製ページ側のhead要素の内部に「<link rel="canonical" href="正規ページのURL">」という行を記述する。一方、正規ページ側のhead要素には、「<link rel="alternate" href="複製ページのURL">」という記述を追加する。
複製ページが複数ある場合はalternateタグは複数行記述してよく、複製ページの存在を知らせたくない場合や、すべての把握が困難な場合などには記述しなくてもよい。alternateタグにはmedia属性を追加することもでき、複製ページが正規ページのパソコン版あるいはモバイル版であることを伝達することもできる。
HTTPヘッダによる代用
画像ファイルやPDFファイルにはHTML要素を記述することができないが、伝送に用いるHTTPのヘッダ領域に同等の記述を行うことでcanonicalタグに相当する内容を伝達することができる。具体的には、非正規側のコンテンツを送る際にLinkヘッダフィールドを用いて「Link: <正規版のURL>; rel="canonical"」のように記述する。
