SEOでよく出てくる、canonicalタグについてメモ。
canonicalタグとは
canonicalタグとは、URLの正規化を行うタグのこと。
<head>
<link rel=”canonical”href=”https://www.hogehoge.com/pageA”/> #canonicalタグ
<head>
URLの正規化とは
重複ページが存在するwebページの場合に、
検索エンジンに対して、評価して欲しい正しいURLを伝えること。

重複ページとは
URLの正規化を理解するためには、重複ページと言う概念を理解する必要がある。
重複ページとは、同じ内容のコンテンツが、複数のURLパターンで存在する状態のこと。
SEO的に、webページの独自性と言う観点から、サイト全体の評価を下げてしまう。

例えば、重複ページには下記のようなパターンがある
①複数のURLから、全く同じコンテンツにアクセスできるパターン
下記は全く同じコンテンツに向けて、URLが微妙に異なるパターン
- ドメインの違い(httpsまたはhttp、 wwwまたはwwwなし)
- PCサイトとスマホサイトで違うURLにしている

URLが微妙に異なるだけで、実際は、同じページを指しているページが存在する場合、それらは重複ページとみなされる。
②似たようなコンテンツを、異なる複数のURLで展開するパターン
例えばカラーバリエーション毎に商品紹介のページを作成する場合、URLはカラーのページ毎に用意するものの、コンテンツの違いはカラーの違う画像のみで、それ以外はほぼ似た内容になるはず。このように、似たようなコンテンツを、異なる複数のURLで展開するパターンも重複ページ扱いとなる。

canonicalタグで、評価して欲しいページURLを指定する
本題に戻る。
ここまでで問題なのは、重複ページ状態では、検索エンジンによる評価が分散してしてしまうということだ。この評価の分散を防ぐために、重複ページの中から、正式に評価して欲しいURLを指定できるのが、canonicalタグだ。重複ページがいくつ存在しても、canonicalタグで指定されたURLのみに評価の矛先が集約されるようになる。
canonicalタグの使い方
では、より具体的に、canonicalタグの使い方について、一例を紹介する。
重複ページ状態のページ、pageA、pageB、pageCがあるとして、pageAを正式に評価してもらいたいとする。

上記の場合、pageBとpageCの<head>タグに、canonicalタグを記述する
#ページBとpageCにcanonicalタグを記載する
<head>
<link rel=”canonical”href=”https://www.hogehoge.com/pageA”/>
<head>
上記では正式に評価して欲しいpageAのURLを指定しているのが分かる。
こうすると、検索エンジンがpageBやpageCをクロールした際に、実際にコンテンツを評価しにかかるのは、pageAの内容になる。

noindexタグとcanonicalタグの違い
noindexタグとcanonicalタグの違いについて境目がわからない人が多いらしいので簡単に説明する。
noindexタグが何かについては、詳しくは下記記事にて紹介しているので、参考にして欲しい。
共通点
どちらもサイトの不利益な評価を防ぐために使用する。
違い
noindexは、自ページを検索エンジンの評価対象から除外するために使用する。
canonicalは、自ページを検索エンジンの評価対象から除外すると同時に、正式に評価して欲しいURLを伝えたい場合に使用する。