canonicalとは

重複するページが複数存在する場合に、検索エンジンに対して「正規のURL」を指定するためのHTMLタグ。重複コンテンツ問題の解決策。

canonicalタグとは

canonicalタグ(rel="canonical")とは、同一または類似のコンテンツが複数のURLで存在する場合に、検索エンジンに対して「このURLが正規版です」と伝えるためのHTMLタグです。重複コンテンツによるSEO上の問題を解決する重要な技術的要素です。

なぜcanonicalタグが必要なのか

Webサイトでは、意図せず同じコンテンツが複数のURLでアクセス可能になることがよくあります。

よくある重複パターン

  • URLパラメータ: example.com/products?sort=priceexample.com/products
  • www有無: www.example.comexample.com
  • HTTPとHTTPS: http://example.comhttps://example.com
  • 末尾スラッシュ: example.com/page/example.com/page
  • モバイル版URL: m.example.comexample.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を設定すべきです。