SEO対策 canonicalタグとは?書き方とURL正規化が必要なケース・SEO効果について

canonical(カノニカル)タグとは、検索エンジンに対して正規のページとして評価してもらいたいURLはどれなのかを伝えるHTMLタグです。この記事では、canonicalタグによるURLの正規化が必要なケースと使い方、注意点を解説します。
canonical(カノニカル)タグとは
canonical(カノニカル)タグとは、コンテンツが似ているWEBページがサイト内に複数存在する場合に、検索エンジンに対して正規のページとして評価してもらいたいURLはどれなのかを伝えるために使用するHTMLタグです。
コンテンツが類似するページが複数存在するとコピーコンテンツとみなされ、検索順位に悪影響が生じる場合があります。このような悪影響を可能な限り回避するためには、URLの正規化が必要になります。
URLの正規化を行う方法のひとつが、canonical(カノニカル)タグです。
URLの正規化とは
URLの正規化とは、検索エンジンに対して正規のページとして評価してもらいたいURLはどれなのかを伝えることです。
▼ 以下のような場合に、URLの正規化が行われます。
- httpsとhttp、wwwあり・なしが併存している
- 同じWEBサイト内に重複コンテンツがある
- PCサイトとスマホサイトのURLが異なる
301リダイレクトもしくはcanonical(カノニカル)タグを利用することで、URLの正規化を行うことができます。
canonicalタグによるURL正規化が必要な理由
canonicalタグによるURL正規化が必要な理由は、以下のような問題が生じる可能性があるからです。
- 検索エンジンが別コンテンツと認識してしまう
- コンテンツの評価が分散してしまう
- 正しい評価を得られない
- ミラーコンテンツと解釈されWEBサイトの評価が下がる
URL正規化を行わなければ、上記の問題が原因となって検索順位が上がらない、もしくは今よりも順位が下がる可能性があります。
URLの統一はGoogleも推奨しており、可能な限り早く対応する必要があります。
正規URLを明確に指定しないと、GoogleによってURLが選択されるか、いずれのURLも同等の重要性を持つものと見なされることになります。そのため、下記の「正規URLの指定が重要な理由」で説明するような望ましくない動作につながることがあります。
重複しているページの適切な正規 URL を Google が選択できるようにする
分散していたSEO効果を集中させる
分散していたSEO効果を集中させることも、canonicalタグによるURL正規化の目的です。
サイト内に似たような内容のページが複数あると、Googleからの評価が分散することがあります。canonicalタグによるURL正規化を行うことで分散していたSEO効果を集中させ、ページの評価を高めることが可能です。
また、それぞれのページに対して被リンクが付いている場合にも、被リンク効果を集中させることができます。
canonicalタグと301リダイレクトの違い
リダイレクトとは、WEBサイトを訪問したユーザーを自動的に別のWEBサイトへ転送させることです。301リダイレクトと302リダイレクトの2種類がありますが、URLの正規化を行う場合には、301リダイレクトを使用します。
URL正規化は、301リダイレクトもしくはcanonicalタグのどちらでも行えます。ただし、canonicalタグではなく301リダイレクトの方がよいケースと、301リダイレクトではURLの正規化が行えないケースがあるため、どちらで対応するか判断する必要があります。
▼ canonicalタグと301リダイレクトの違いは以下の4つです。
- 設定方法
- 閲覧者に対して強制的にページ遷移・転送を行うか
- クローラーがページを巡回できるか
- 検証が可能か
設定方法
canonicalタグでURL正規化を行う場合は、サイトのheadタグ内に記述します。
一方、301リダイレクトでURL正規化を行う場合は、サーバーに転送先を指定した.htaccessファイルをアップロードすることで設定します。
閲覧者に対して強制的にページ遷移・転送を行うか
canonicalタグでURL正規化を行う場合は、URL正規化を行った後でも評価を集中させたいページと転送元のページの両方にアクセスできます。
一方、301リダイレクトでURL正規化を行うと、ユーザーだけでなくWEBサイト運営者も転送元のページを閲覧できなくなります。
クローラーがページを巡回できるか
canonicalタグでURL正規化を行っても、Googleのクローラーはすべてのページにアクセスできます。
一方、301リダイレクトでURL正規化を行うと、ユーザーやWEBサイト運営者だけでなく、クローラーは転送元のページにアクセスできません。
検証が可能か
canonicalタグはGoogleに対してURL正規化したページの正規評価を促すだけなので、Googleが実際に評価を行ってくれているかを客観的に確認することはできません。つまり、canonicalタグによるURL正規化が正しく行えているかを検証しづらいということです。
ただし、canonicalタグの設定が正しく行われているかについては、Googleサーチコンソールで確認できます。
一方、301リダイレクトによるURL正規化の場合は、適切に行われていれば元ページが閲覧できなくなるため、正しく作業ができているかを検証できます。
canonicalタグによるURLの正規化が必要なケース
canonicalタグによるURLの正規化が必要なケースは以下の5つです。
- httpsとhttp、wwwあり・なしが併存している
- 同じWEBサイト内に重複コンテンツがある
- PCサイトとスマホサイトのURLが異なる
- AMPを実装している
- 301リダイレクトの設定が行えない場合
前述したように、URLの正規化は301リダイレクトでも行えるため、どちらで行うべきかを検討する必要があります。
httpsとhttp、wwwあり・なしが併存している
下記のように、内容が完全に同じでありながら「httpsとhttp」「wwwあり・なし」、「index.htmlのあり・なし」のそれぞれのURLが存在している場合には、URLの正規化を行います。
https://www.〇〇〇.com/
http://www.〇〇〇.com/ ※「s」が付いていない
https://www.〇〇〇.com/
https://〇〇〇.com/ ※「www.」が付いていない
https://www.〇〇〇.com/index.html
https://www.〇〇〇.com/ ※「index.html」が付いていない
https://www.〇〇〇.com/
https://www.〇〇〇.com ※「/」が付いていない
上記の場合にはcanonicalタグと301リダイレクトのどちらでもURLの正規化は行えますが、特に問題がないなら301リダイレクトを使用しましょう。
同じWEBサイト内に重複コンテンツがある
ECサイトに多いのが、「同じWEBサイト内に重複コンテンツが存在する」ケースです。
例えば、同じデザインの商品を色違いやサイズ違いで販売していることがありますが、コンテンツの文章が同じで画像のみが異なっている場合は、検索エンジンに重複コンテンツだと認識されることがあります。
そのため、このようなケースもcanonicalを使ってURLの正規化を行う必要があります。
同じWEBサイト内に重複コンテンツがある場合には、URLの正規化を行う必要があります。
ECサイトのように、同じデザインの商品を色違いやサイズ違いでページを作成している場合やコンテンツの文章が同じで画像のみが異なっている場合は、301リダイレクトではなくcanonicalを使ってURLの正規化を行います。301リダイレクトでURL正規化すると、ユーザーが他のページを閲覧できなくなるからです。
一方、ページを量産した結果、似たような内容のページを作成してしまった場合のように、ユーザーに閲覧してもらいたいページがひとつで元ページを閲覧してもらう必要がない場合には、301リダイレクトでURL正規化を行います。
PCサイトとスマホサイトのURLが異なる

PCサイトとスマホサイトのURLが異なる場合のように、同じコンテンツを両サイトに掲載する場合にはcanonicalタグを使ってURLの正規化を行います。
スマホサイトとPCサイトのURLを正規化する場合はPCサイトを正規ページとしますが、PCサイト側にはalternate属性を使いスマホサイトの存在を知らせる設定を行います。
そして、スマホサイトにはこのページがPCサイトのスマホページであることをGoogleに伝えるために、canonical属性のリンク先をPCサイトのURLを記述します。
PCサイトのURL:https://www.〇〇〇.com/△△△
スマホサイトのURL:https://www.sp.〇〇〇.com/△△△
■ PCサイト側の設定
<link rel=”alternate” media=”only screen and (max-width: 640px)” href=”https://www.sp.〇〇〇.com/△△△l”>
■ スマホサイト側の設定
<link rel=”canonical” href=”https://www.〇〇〇.com/△△△“>
301リダイレクトでURLを正規化するとスマホサイトが閲覧できなくなるため、301リダイレクトでURLを正規化するのはNGです。
AMPを実装している

AMPを実装している場合にもcanonicalタグを使ってURLの正規化を行います。
AMPとは、モバイルサイトを閲覧する際にページを高速表示させるために開発されたオープンソースプロジェクトです。
AMPを実装しているケースでは、AMPに対応しているページと非対応のページの二つが存在している場合があります。この場合も二つのページが重複して存在しているため、canonical属性を使ってURLを正規化する必要があります。
301リダイレクトの設定が行えない場合
サーバーの利用制限により301リダイレクトの設定ができない場合には、canonicalタグを使ってURLの正規化を行います。
ただし、canonicalと301リダイレクトは完全に同じ働きをする訳ではないので注意が必要です。前述したように、301リダイレクトでURLの正規化を行うとユーザーは元ページを閲覧できません。
canonicalタグの使い方と注意点

canonicalタグは<head>タグ内にrel=”canonical”を記述して、オリジナルコンテンツとしてGoogleに認知させたいURLを記述します。
<link rel=”canonical” href=”https://〇〇.com/top”>
指定したURLが必ず正規化されるわけではない
canonicalタグによるURL正規化は、指定したURLが必ず正規化されるわけではありません。ページの内容が大きく異なる場合など、Google側の判断によっては指定したURLの正規化が行われないこともあります。
絶対URLを記述する
canonicalタグの設定では、絶対URLを記述することをおすすめします。
絶対URLの例:https://www.〇〇〇.com/△△△
相対URLの例:/△△△
また、相対URLのつもりで間違ったURLを設定すると、Googleから設定が無視され、canonicalタグの効果が発揮されません。
正 <link rel=”canonical” href=”https://www.〇〇〇.com/△△△”>
正 <link rel=”canonical” href=”/△△△”>
誤 <link rel=”canonical” href=”www.〇〇〇.com/△△△”>
入力間違いを防ぐためにも、canonicalタグの設定では絶対URLを記述しましょう。
1つの記事が複数ページにまたがる場合
1つの記事が複数ページにまたがる場合は、それぞれのページに書かれている内容が異なるため、2ページ目から1ページ目、3ページ目1ページ目へとcanonicalタグでURLの正規化を行う必要はありません。
同じページに複数の設定をしない
canonicalタグの設定は、ひとつのページに対してひとつの設定だけにする必要があります。間違って複数の設定をすると、機能しなくなります。
リンク先のURLに間違いがないかを確認する
canonicalタグで設定したURLが間違っていると、設定したURLのページが検索結果に表示されなくなります。
サイト全体の評価が低下する恐れもあるので、canonicalタグを設定する際はリンク先のURLに間違いがないかを確認しましょう。
head要素内に記述する
canonicalタグは、head要素内に記述する必要があります。
【正】
<head>
<link rel=”canonical” href=”https://www.〇〇〇.com/△△△”>
</head>
<body>
</body>
【誤】
<head>
</head>
<body>
<link rel=”canonical” href=”https://www.〇〇〇.com/△△△”>
</body>
<body>タグ内にcanonicalタグを入れても検索エンジンに無視されてしまうため、必ず<head>タグ内に記述するようにしましょう。
正規URLに指定されていることを確認する
canonicalタグで設定したURLが正規URLに指定されているかは、Googleサーチコンソールで確認できます。
STEP1. Googleサーチコンソールにアクセス
STEP2. 確認したいURLを画面上部の検索窓に入力
STEP3. 「カバレッジ」をクリック
検索結果の下部にある「インデックス作成」の欄に「ユーザーが指定した正規URL」と「Googleが選択した正規URL」が表示されます。
「ユーザーが指定した正規URL」にcanonicalタグで設定したURLが表示されていれば、設定が正しく行われています。
WordPressでcanonicalタグを設定する方法
WordPressでは、プラグイン「All in One SEO Pack」を利用することでcanonicalタグを設定できます。
canonicalタグの記述に自信がない場合には、プラグイン「All in One SEO Pack」でcanonicalタグを設定しましょう。
まとめ
canonicalタグによるURL正規化は、ページの評価が分散されることを防ぐために重要な作業です。URL正規化はcanonicalタグだけでなく301リダイレクトでも行うことができますが、状況次第でどちらを選択すべきかが異なります。
301リダイレクトとの違いを確認し、適切な方法でcanonicalタグの設定を行いましょう。