サイト内に重複や類似しているページがある場合、検索エンジンにどのページを評価してもらいたいか、canonicalタグで示す必要があります。これは「URLの正規化」と呼ばれ、SEOの基本的な施策のひとつです。
しかし、Web担当者でもcanonicalタグの使用方法を間違えていることがあり、サイトが適切に評価されないケースもあります。
本記事では、canonicalの意味や役割、使用すべきケースなどを詳しく解説しています。canonicalを設置する前に本記事で理解を深め、注意点なども確認しておきましょう。
テクニカルSEO用語辞典
〜検索順位とコンバージョン率改善のために知っておきたい用語を大公開〜
- 301リダイレクト
- 404エラー
- 504 Gateway Timeout
- XMLサイトマップ
今すぐダウンロードする
全てのフィールドが必須です。
canonicalとは?
caconical(カノニカル)とは、URLを正規化する際に使用するHTML言語です。サイト内で重複しているコンテンツやほとんど同じ内容のコンテンツがある場合に、検索エンジンに評価して欲しい正規のURLを示します。
canonicalタグを設定する必要があるのは、内容がまったく同じでも、URLが異なれば検索エンジンが別のページとして扱うためです。例えば、ECサイトで色違いの商品ごとにURLが生成された場合、ページの内容はほぼ同じですが、検索エンジンはURLの違いをページの違いとして認識するため、別のページ内で重複があると判断されてしまいます。
- example.com/product?color=blue(青色の商品ページ)
- example.com/product?color=green(緑色の商品ページ)
こういったケースでcanonicalタグを使用すると、検索エンジンは正規ページに指定したURLだけをインデックスし、検索結果には正規ページのみが表示されるようになります。
canonicalタグの記述例は次の通りです。
<link rel=”canonical” href=”正規ページに設定したいURL”>
canonicalを使用する目的(SEOに与える影響)
canonicalタグを設置する前に、canonicalがどのような目的で使用されるのかを理解しておきましょう。また、SEOへの影響もあわせて紹介します。
正規URLページがインデックス登録されるようにするため
重複するページが複数存在するにも関わらずcanonicalを設定していない場合には、Google は最も完成度が高く有用なページを自己判断し、そのページを正規のものと見なします。
正規ページは最も高い頻度でクロールされ、重複ページと判断されたページはクロールの頻度が下がります。重複ページと判断され、ページがインデックスされないとSEO評価を得られません。
canonicalタグを使うことで、正規化したいURLを正しくGoogle に認知させることができ、インデックス登録されやすくなります。その結果、クローラーは正規ページを優先的にクロールし、重複ページのクロールに要する時間を削減することができます。
カラーバリエーションが豊富な商品を多く扱う大規模ECサイトなどには特に効果的です。
重複コンテンツの評価を一つにまとめる
同じ内容の複数のページがあると、検索結果からの流入やクリックが分散したり、各ページに外部リンクが張られたりして、Google からのページの評価が分散する可能性があります。
canonicalを使用すると、それぞれのページへのリンク評価を1つの正規ページへ統合できます。その結果、正規ページがSEO評価を得やすくなります。
重複コンテンツによる低評価リスクを防ぐ
1つのサイトに重複コンテンツがあると、Google から低質なコンテンツとみなされ、検索順位の低下やペナルティの対象になるなどのリスクが発生します。
canoninalタグは、重複コンテンツによるGoogle からの低評価・ペナルティといった問題を解決してくれるため、SEOにおいて重要な役割を果たします。
canonicalを有効に使える6つのケース
canonicalタグが有効に使えるケースには特徴があります。本章では、canoninalタグの使用が適しているケースを具体的に紹介します。自社サイトのコンテンツに当てはまるかどうか確認し、対応の必要性を判断しましょう。
AMPやモバイルページでURLが異なる
次のように、PCとスマートフォンで異なるURLを使用している場合や、AMPページがある場合は、canonicalタグを設置してURLの正規化を行う必要があります。
- https://example.com/news/koala-rampage(PC用ページ)
- https://m.example.com/news/koala-rampage(スマホ用ページ)
- https://amp.example.com/news/koala-rampage(AMPページ)
PCページを正規URLとする場合には、スマホ用ページとAMPページのheadタグ内にcanonicalタグを記述します。
<link rel="canonical" href="https://example.com/news/koala-rampage" />
スマホ用ページをPC用ページに正規化する場合は、PC用ページのHTMLのheadタグ内に次のような「alternate」という属性を入れ、PC以外にもスマホページが存在することを示します。これはGoogle が推奨している方法で、「アノテーション」と呼びます。
<link rel="alternate" media="only screen and (max-width: 640px)"href="https://m.example.com/news/koala-rampage">
「アノテーション」の実装方法についての詳細はGoogle Developersの記事「別々の URL | 検索セントラル | Google Developers」を参考にしてください。
動的URLがある
流入元を計測するためにパラメータを使用している場合にも、Google は別々のURLとして認識します。そのため、canonicalを使用したURLの正規化が有効です。この場合には、パラメータを含まないURLを正規URLとして設定しましょう。
例えば、https://www.example.com/blogが元のページだった場合、パラメータがついているページのhead内に次のようにcanonicalタグを記述します。
<link rel="canonical" href="https://www.example.com/blog">
また、ECサイトでよくあるケースとして、同じ商品でも色やサイズに応じてパラメータが生成されることがあります。
- example.com/product?color=blue(青色の商品ページ)
- example.com/product?color=green(緑色の商品ページ)
青色の商品の紹介ページを正規URLとしたい場合は、緑色の商品紹介ページのHTMLにcanonicalタグを挿入しましょう。
ただし、複数のバリエーションのページをひとつのページに正規化することで、他のページは検索結果に表示されなくなる点に注意が必要です。
特定の色やサイズの商品を探しているユーザーが検索結果上で該当の商品ページを見つけられなくなるため、「このページに正規化したい」という明確な理由がない場合は、複数のバリエーションのページは正規化せずに、個々のページとして残しておきましょう。
利用システムにより複数URLが自動生成される
複数のカテゴリに同じ記事を配置した場合、システムによりURLが自動生成されることがあります。
例えば、titleタグについての記事を「SEO」と「HTML」という2つのカテゴリに設置した場合、次のようにURLが自動生成されます。
- https://blog.example.com/seo/title-tag/(SEOのカテゴリ)
- https://blog.example.com/html/title-tag/(HTMLのカテゴリ)
SEOのカテゴリに設置した記事を正規化URLとしたい場合には、HTMLのカテゴリに設置されたURLに対して次のようにcanonicalを記述します。
<link rel="canonical" href="https://blog.example.com/seo/title-tag/">
ECサイトでも商品のカテゴリが複数にまたがる場合には、システムによって同一商品のURLが複数生成されてしまうケースがよくあります。正規化したいURL以外にはcanonicalを設定しておきましょう。
他サイトにコンテンツを提供した
自社サイトにあるコンテンツを他サイトに提供することをシンジケーションと呼びますが、このシンジケーションを行った場合にも、オリジナルコンテンツがコピーコンテンツとみなされないようにcanonicalの設定が必要です。
- https://blog.example.com/title-tag(元投稿)
- https://news.example.com/title-tag(新投稿)
この場合には、新投稿のほうに次のようにcanonicalタグを記述します。
<link rel="canonical" href="https://blog.example.com/title-tag/">
地域や国でURLが分かれている
地域や国でURLが分かれていても、使用している言語は同じというケースがあります。例えば、アメリカやイギリスでURLは異なるが、両国とも英語圏のためページの内容が同一となってしまいます。その場合に、canonicalを使用して優先したいURLをGoogle に示すことが可能です。
多言語サイトの場合、Google は各ページにアノテーションを付けて言語と地域を指定することを推奨しています。言語や国を指定するhreflang属性の使用とcanonicalを併用することで、優先したいURLをGoogle に指定しつつ、各地域に合わせたコンテンツを適宜表示するよう指示することが可能です。
例えば、日本の企業が次のように汎用的な英語ページ(アメリカ向け)とイギリス向けのページを作成した場合を想定してみましょう。
- https://www.example.com/ - 通常のページ (日本語)
- https://en.example.com/ - 汎用的な英語ページ (アメリカ向け)
- https://en-uk.example.com/ - イギリス向けの英語ページ
2つの英語ページでは、それぞれhead部分に次のように記述します。
<link rel="canonical" href="http://en.example.com/" />
<link rel="alternate" hreflang="ja" href="https://www.example.com/" />
<link rel="alternate" hreflang="en" href="https://en.example.com/" />
<link rel="alternate" hreflang="es-uk" href="https://en-uk.example.com/" />
日本語と英語のように言語が異なる場合や、そもそもページの内容が異なる場合はコンテンツの重複とみなされないのでcanonicalによる正規化は不要です。ただし、hreflangの記述は必要なので忘れないようにしましょう。
hreflang属性の使用に関してはGoogle の多言語コンテンツのマークアップのヒントや他地域、多言語のサイトの管理をご確認ください。
自己参照URLとして使う
正規URL内に、そのURL自身をcanonicalで設定することを「自己参照canonical」といいます。
Web上に公開されたページは、SNS共有などによってサイト運営者側の想定していないパラメータが付与されることがあります。このようなケースでは、検索エンジンが正規URLを正しく認識できず、ページの評価が分散したり、重複コンテンツとして判定されたりする可能性があります。
その対策として、正規URLに対して自己参照canonicalを設定しておくことで、正規URLを正しく検索エンジンに伝えられます。
canonicalタグを使用する際の注意点
正規URLを指定できるcanonicalですが、コードの知識があるWeb担当者でも設定を誤っていることがあります。初心者であれば、なおさら注意が必要でしょう。
この章では、canonicalタグを使用する際のよくある間違いや注意点を紹介しますので、設定の前に確認しておきましょう。
複数ページにまたがるコンテンツの1ページ目を正規URLにしない
コンテンツ量が多いページを、複数のページに分けて公開するケースはよくあります。その場合はURLも分けることになりますが、1ページ目と2ページ目でそれぞれコンテンツが異なるため、canonicalを設定しないよう注意しましょう。
canonicalを設定してしまうと、2ページ目がクローラーに見つけてもらえず、検索結果に表示されなくなってしまいます。
相対URLではなく絶対URLを記述する
canonicalタグでは、絶対URLを記述する必要があります。例えば、[https://example.com/news/koala-rampage]を正規URLとしたい場合、タグの記述は次のようになります。
<link rel=canonical href=“https://example.com/news/koala-rampage” />
一方、次のように「https://」が抜けていると相対URLとなります。
<link rel=canonical href=“example.com/news/koala-rampage” />
このように相対URLを記述してしまうと、クローラーは正規URLを[https://example.com/example.com/news/koala-rampage]と認識してしまい、このページは存在しないとしてcanonicalタグの指定が無視されます。
なお、同じ相対URLでも次の記述の場合は[https://example.com/news/koala-rampage]と認識されますが、ミスを防ぐためにも絶対URLを記述しましょう。
<link rel=canonical href=“news/koala-rampage” />
その他の注意点については、Google のページ「rel=canonical 属性に関する 5 つのよくある間違い」も参考にしてください。
適切な位置に正しいスペルで記述する
canonicalタグを記述する場所は<head>内です。誤って<body>に記載するとGoogle に無視されてしまうため、タグは正しい場所に設置しましょう。
タグやURLのスペルミスがあった場合にも指定は無視されてしまうので注意が必要です。
意図しない記述が入らないようソースコードを確認する
コンテンツを制作する際、テンプレートを使用した場合には意図せずcanonicalが設置されていることがあります。また、プラグインの使用によって複数のcanonicalが設置されてしまうこともあります。
canonicalタグが複数記述されている場合には、Google はすべての指定を無視します。
指定が無視される、または意図しないページが正規URLとして設定されるといったことがないよう、ページのソースコードは確認しておきましょう。
サイトの移転はcanonicalではなく301リダイレクトを使用する
サイトを移転し、古いサイトから新しいサイトへコンテンツを移行する場合にはcanonicalではなく、301リダイレクトの使用が適しています。
301リダイレクトとは、ユーザーやクローラーが古いURLへアクセスしようとすると、自動的に新しいページに転送され、最初アクセスしたページが有効でないことを示すものです。
使用目的が異なるため、301リダイレクトや404エラーでの対処が適切な場合には、その代替としてcanonicalを使う方法はおすすめできません。ただし、どうしても301リダイレクトが設定できない場合にはcanoicalを使用することもあります。
正規ページにcanonicalを設定するケースもある
WordPressなどのCMSでコンテンツを作成したとき、そのページ自体のURLを指定するcanonicalタグが自動で挿入されることがあります。自身のページを正規URLとして指定しておくことで、メルマガ配信などの際にパラメータがついたURLが生成されたとしても正規URLに評価を集められます。
また、カテゴリページやランディングページに記載されているコンテンツ内容が、そこからのリンク先の個別ページとほとんど同じという場合も自己参照のcanonicalが有効です。
ただし、カテゴリページ側に個別ページへのrel=canonicalリンクを追加してしまうと、そのカテゴリページはGoogle の検索結果に表示されなくなってしまいます。
カテゴリページと個別ページの両方を検索結果に表示させたい場合は、カテゴリページにそのページ自体をリンク先の対象としたrel=canonicalを追加するか、canonicalをまったく指定しない方法があります。
canonicalについてよくある質問
最後に、canonicalタグの使用についてよくある質問を紹介します。
完全に一致していないコンテンツでもcanonicalは使えるか?
一般的に、canonicalは完全に一致している、もしくはほぼ一致しているページがある場合に使用します。例えば、「画像もしくは文章の一部が微妙に違う」だけといったケースです。
同じトピックやグループに対してcanonicalを使用しているケースがありますが、それはcanonicalの本来の使用方法とは異なるため意味がないとCanonicalization: SEO Mythbusting(You Tube動画リンク)の中でMartin Splitt (Developer Advocate, Google ) は明言しています。
canonicalはページパワーを引き渡すか?
canonicalがページパワーを引き渡すかどうかに関して計測することは難しいですが、301リダイレクトと同様と考えるのであれば、若干の損失はあるものの、リンク先のURLに引き継がれると考えられるでしょう。
canonicalとリダイレクトなどを連続して使用できるか?
canonicalで指定した正規ページでさらにcanonicalやリダイレクトを使用した場合、指定が複雑化したことによりページパワーを失う可能性があります。
Google が公式に使用を禁止しているわけではありませんが、canonicalの連続使用や、リダイレクトとの併用などによる複雑化を避け、1回で正規URLに辿り着くのが理想的です。
複数のページを同じページの正規版として設定できるか?
正規ページとして設定できるのは1つのみです。
サイトマップで指定した正規ページに対して、別のURLをcanonicalで指定することはできません。また、canonicalを使用して複数のページを正規化URLに設定することもできないので注意が必要です。
canonicalの代わりに使用できるものはあるか
canonicalと似た役割を持つ方法としてサイトマップと301リダイレクトがありますが、次のような理由から基本的にcanonicalの代用としては使用できません。
- サイトマップ:正規ページを指定することもできるが、canonicalで指定するのに比べるとシグナルが弱く、Google 側で重複ページを特定することになる
- 301リダイレクト:用途が違うため代わりにはならない
その他にも、robots.txtファイルやnoindexなどクローラーの働きを指示するものやURL削除ツールなどがありますが、基本的にcanonicalとは使用目的が異なるため、正規化目的での使用は避けたほうが良いでしょう。
canonicalが反映されているか確認する方法
canonicalが反映されているかどうか確認するには、Google Search Console(サーチコンソール)を使用します。
- サーチコンソールから[URL検査メニュー]を開く
- 確認するページURLを検索窓に入力
- カバレッジから[ユーザーが指定した正規URL]を確認
ただし、canonicalを適切に設定していても、Google が意図的にこちらの指定を無視することもあります。これは、Google が正規URLの決定にcanonicalだけでなくその他複数の要因を考慮しているからです。canonicalを設定したからといって、確実に反映されるわけではないことも念頭においておきましょう。
canonicalを正しく使用して重複コンテンツを適正化しよう
canonicalを使用して正規URLを設定すれば、重複コンテンツがある場合でも、検索エンジンに読み込ませたいページを指定できます。その結果として、検索エンジンからのページへの評価を1つに統合でき、重複コンテンツによる低評価も防ぐことにつながります。しかし、間違った方法で使用するとcanonicalの意味をなさないこともあるため、正しく設置することが大切です。
URLの正規化を活用して、コンテンツの構造を正しく示しながら、SEOにおける集客を最大化しましょう。