canonicalタグとは
canonicalタグ(rel="canonical")とは、同一または類似のコンテンツが複数のURLで存在する場合に、検索エンジンに対して「このURLが正規版です」と伝えるためのHTMLタグです。重複コンテンツによるSEO上の問題を解決する重要な技術的要素です。
なぜcanonicalタグが必要なのか
Webサイトでは、意図せず同じコンテンツが複数のURLでアクセス可能になることがよくあります。
よくある重複パターン
- URLパラメータ:
example.com/products?sort=priceとexample.com/products - www有無:
www.example.comとexample.com - HTTPとHTTPS:
http://example.comとhttps://example.com - 末尾スラッシュ:
example.com/page/とexample.com/page - モバイル版URL:
m.example.comとexample.com
このような重複があると、検索エンジンが「どのURLを検索結果に表示すべきか」を判断できず、評価が分散してしまいます(リンクエクイティの希薄化)。
canonicalタグの設定方法
HTML内での設定
<head>
<link rel="canonical" href="https://example.com/page/" />
</head>
HTTPヘッダーでの設定
Link: <https://example.com/page/>; rel="canonical"
正しいcanonical設定のルール
1. 絶対URLを使用する
相対URLではなく、プロトコル(https://)から始まる絶対URLで指定します。
2. 自己参照canonicalを設定する
重複がないページでも、そのページ自身のURLをcanonicalとして指定します。これにより、URLパラメータが付加された場合の重複を予防できます。
3. 一貫性を保つ
canonicalで指定するURLは、XMLサイトマップに記載するURL、内部リンクのURL、hreflangで指定するURLと一致させます。
よくある間違い
canonicalとnoindexの併用
canonicalタグとnoindexを同じページに設定すると、矛盾するシグナルをGoogleに送ることになります。インデックスさせたくない場合はnoindexを、正規URLを指定したい場合はcanonicalを使い分けてください。
リダイレクトチェーンの先をcanonicalに指定
canonicalのURLが別のURLにリダイレクトされている場合、Googleは最終的なリダイレクト先を正規URLとして扱う可能性があります。canonicalには最終的なURLを直接指定しましょう。
ページネーションでの誤用
ページネーション(2ページ目以降)のcanonicalを1ページ目に向けるのは誤りです。各ページは固有のコンテンツを持つため、自己参照canonicalを設定すべきです。