canonical(カノニカル)
複数のURLの存在と重複ページの存在
1つのウェブページに複数のURLが存在する場合があります。
- https://example.com
- http://www.example.com
- https://example.com/index.html
例2
- http://www.example.com/page.html
- http://www.example.com/page.html?parameter=1
これらにアクセスした場合、同じウェブページが表示されるのに、URLが異なります。
URLが異なることによる現象
- 検索エンジンは正常なURLがわからない
- 異なるページだと判断され、それぞれのURLの評価となってしまい、評価が分散してしまう
重複ページや似た内容のページ
- 同じコンテンツが含まれている場合、検索エンジンは1つのコンテンツのみを検索結果に表示する(他を無視する可能性もある)
そこで必要となるのが、URLの正規化、canonical(カノニカル)です。

canonical(正規URL)の利点
- Googlebot のクロールに時間がかからず、効果的にクロールする
- 重複ページより、他のページにクロールした方がサイトにとって効果的
- 重複ページに優先順位をつけられる
- 優先順位が高い方を正規URLに指定する
正規URLを指定する方法
- リダイレクト
- canonical属性タグ
- サイトマップ(サイトマップに含まれるURLは正規URL)
正規化のために次の方法はしないこと
- 異なるURLを同じページの正規URLとして指定しない
- URL削除ツールを使用しない(すべてのURLのバージョンが削除される)
- noindex を使用しない(Google検索からブロックされる)
正規化のためにすること
- サイト内のリンクは正規URLにする方が良い
URLの正規化 canonical属性タグ
canonicalは、head内で指定します。
rel="canonical"
属性と<link>
要素
< html >
< head >
< link rel = "canonical" href = "https://example.com/page.php" />
< body >
rel="canonical"
リンク要素では、相対パスではなく絶対パスを使用します。適切な構造:
https://www.example.com/dresses/green/greendresss.html
不適切な構造:
/dresses/green/greendress.html
Google公式→rel=”canonical” などを利用して正規URLを指定する方法