「同じ内容のページが複数のURLで表示されている」「サーチコンソールに重複の警告が出ている」。サイトを運営していると、こうした場面に必ず行き当たります。放置すると、本来1つのページに集まるはずの評価が複数のURLに分かれてしまいます。
この問題を解決する手段がcanonicalタグです。canonicalタグは、内容が重複するURLのうち、どれを評価の対象にしてほしいかを検索エンジンに伝えるタグです。記述は1行で済みますが、指定先を誤ると検索結果からページが消える原因にもなります。
本記事では、canonicalタグの役割、SEOへの効果、設定が必要なケース、書き方、301リダイレクトやnoindexとの使い分け、注意点、確認方法、反映されないときの対処法までを順に解説します。知りたい項目が決まっている方は、下の表から該当の見出しへ進んでください。
| 確認したいポイント | 結論 | 詳細 |
| canonicalタグとは? | 評価してほしい正規URLを伝えるタグ | 内容が重複する複数のURLのうち、検索結果に出したい1つを検索エンジンに知らせます。この作業をURL正規化と呼びます。 |
| SEOにどんな効果がある? | 分散した評価を1つのURLに集約できる | 被リンクなどの評価が正規URLにまとまり、重複コンテンツの問題も解消します。クロールの無駄も減らせます。 |
| 設定が必要なケースは? | 同じ内容に複数のURLがあるとき | パラメータ付きURL、wwwの有無、色違いの商品ページ、スマホ用の別URL、A/Bテストのページなどが該当します。 |
| 書き方と設置場所は? | headタグ内にlink要素を1行で書く | href属性に正規URLを絶対URLで指定します。PDFなどHTML以外のファイルはHTTPヘッダーで指定します。 |
| 301リダイレクトとの違いは? | 重複ページを残すか残さないかで選ぶ | 利用者に見せ続けるページはcanonical、不要なページは301リダイレクト、検索結果に出さないページはnoindexを使います。 |
| 設定時の注意点は? | 指定先の誤りと複数記述を避ける | 1ページに1つだけ記述し、内容が異なるページや全ページ共通のURLは指定しません。noindexとの併用も避けます。 |
| 正しく設定できたか確認するには? | サーチコンソールのURL検査で見る | 自分が指定した正規URLと、Googleが選んだ正規URLが一致しているかを確認します。件数が多い場合はツールを使います。 |
| 反映されないときは? | 他のシグナルとの矛盾を解消する | 内部リンク、サイトマップ、リダイレクトの向き先を正規URLにそろえます。内容が大きく異なる指定は無視されます。 |
| サイト内部の課題を整理したい方へ 楽々Editは、内部施策・コンテンツ・外部施策のどこに課題があるかを特定したうえでSEOを支援しています。サービス内容と支援の流れをまとめた資料を無料でご用意しました。社内での検討材料としてご活用ください。 資料ダウンロードはこちら |
canonicalタグとは?役割とURL正規化の基本
canonicalタグとは、内容が同じ、またはよく似た複数のURLの中から、検索エンジンに評価してほしい代表のURLを伝えるためのHTMLタグです。読み方は「カノニカル」で、「正規の」という意味を持ちます。正式にはlink要素のrel属性にcanonicalを指定した記述を指します。
検索エンジンに向けた技術面の調整であり、利用者が見る画面には影響しません。こうした施策全体の位置づけはテクニカルSEOとはで整理しています。ここではcanonicalタグを理解するための基本を3点に分けて確認します。
正規URLを検索エンジンに伝えるタグ
検索エンジンは、URLが1文字でも異なれば別のページとして扱います。人の目には同じページでも、パラメータの有無や「www」の有無でURLが変わると、別々のページとして認識されます。その中から代表として選ばれるURLを「正規URL」と呼びます。
canonicalタグは、この正規URLをサイト運営者の側から指定する手段です。重複しているページのheadタグ内に「このページの正規URLはこちらです」と書いておくと、検索エンジンはその情報を参考にして評価の対象を決めます。
URL正規化が必要な理由
複数のURLの中から正規URLを1つに定める作業を「URL正規化」と呼びます。正規化をしないと、検索エンジンは重複するURLの中から自動で1つを選びます。運営者が意図しないURLが検索結果に表示される場合があります。
広告用のパラメータが付いたURLが検索結果に出てしまう例が代表的です。評価が複数のURLに分かれると、どのURLも十分な評価を得られません。Googleの考え方は、公式ドキュメント「URL正規化とは」で説明されています。
canonicalタグは命令ではなくシグナルとして扱われる
canonicalタグを書けば、必ずそのとおりに処理されるわけではありません。Googleはcanonicalタグを、正規URLを判断するための強いシグナルとして扱います。指定先の内容が大きく異なる場合や、他の情報と矛盾する場合は、別のURLが正規として選ばれます。
Googleは、リダイレクト、canonicalタグ、サイトマップ、内部リンクなどを合わせて正規URLを決めます。canonicalタグだけに頼らず、ほかの情報も同じURLを指すようにそろえることが、意図どおりに正規化するための前提になります。
canonicalタグを設定するSEO上の効果
canonicalタグ自体に、順位を直接上げる効果はありません。分散していた評価を1つのURLに集め、ページが本来持つ力を発揮できる状態にすることが役割です。効果は大きく3つに分けられます。
被リンクなどの評価を1つのURLに集約できる
同じ内容のページが2つのURLで公開されていると、外部サイトからのリンクも2つに分かれます。10本のリンクが6本と4本に分かれれば、どちらのURLも10本分の評価は得られません。canonicalタグで正規URLを指定すると、重複URLに向けられた評価が正規URLにまとめられます。
SNSで共有されたURLにパラメータが付いている場合も同じです。共有や引用のたびに異なるURLが使われるサイトほど、正規化による効果は大きくなります。
重複コンテンツによる評価の低下を防げる
内容が重複するページが多いサイトは、検索エンジンから見て価値の低いページが多いサイトと判断されやすくなります。同じキーワードで自社の複数ページが競合し、順位が安定しない原因にもなります。canonicalタグは、重複そのものを残したまま検索エンジン上の扱いだけを1つにまとめられる方法です。
重複がどのように発生し、どう見つけるかは重複コンテンツの対策方法で解説しています。canonicalタグは、その対策の中で最も使う機会が多い手段です。
クロールの無駄を減らせる
検索エンジンのクローラーが1つのサイトを巡回できる量には限りがあります。重複URLが大量にあると、同じ内容のページの巡回に時間が使われ、新しいページや更新したページの発見が遅れます。正規URLが明確になると、重複URLの巡回頻度が下がり、重要なページに巡回が回りやすくなります。
数十ページ規模のサイトでは影響は小さいものの、商品数の多いECサイトや物件、求人などのデータベース型サイトでは差が出ます。内部の施策全体の中での優先度はSEO内部対策とはで確認できます。
| 内部施策の設計から任せたい方へ 楽々EditのSEOコンサルティングは、キーワード設計や競合分析に加え、GA4とSearch Consoleを使った継続改善までを一貫して支援します。料金は100,000円からで、1ヶ月だけの単発プランもご用意しています。 SEOコンサルティングの詳細を見る |
canonicalタグの設定が必要なケース
canonicalタグが必要になるのは、同じ内容、またはほぼ同じ内容のページに複数のURLでアクセスできる状態です。意図して作った重複だけでなく、システムの仕様で自動的に生まれる重複も対象になります。代表的な6つのケースを次の表にまとめました。
| ケース | 重複するURLの例 | 正規URLに指定する先 |
| パラメータ付きURL | /item/?utm_source=mail | パラメータのないURL |
| URLの表記ゆれ | wwwの有無、/index.htmlの有無 | サイトで統一したURL |
| 色・サイズ違いの商品 | /shirt/?color=red | 代表となる商品ページ |
| PCとスマホで別URL | sp.example.com/page/ | PC用ページのURL |
| 他サイトへの転載 | 配信先サイトの記事URL | 元記事のURL |
| A/Bテスト | /lp-b/ | オリジナルのページ |
計測用などのパラメータが付いたURLがある
広告やメール配信の効果を測るために、URLの末尾に「?utm_source=」などのパラメータを付けることがあります。表示される内容は変わらないのに、URLだけが別のものになります。パラメータ付きのURLが共有されたりリンクされたりすると、評価が分散します。
パラメータの付かないURLを正規URLとして指定しておけば、どの経路でアクセスされても評価は1つにまとまります。全ページに自分自身のURLを指すcanonicalタグを入れておくと、このケースにはまとめて対応できます。
wwwの有無などURLの表記ゆれがある
「https://example.com/」と「https://www.example.com/」は、検索エンジンにとって別のURLです。httpとhttps、末尾のスラッシュの有無、「index.html」の有無でも同じことが起こります。どの表記でもページが表示される状態なら、正規化が必要です。
表記ゆれは、301リダイレクトで1つのURLに統一する方法が基本です。サーバーの設定を変更できない場合に、canonicalタグで代用します。どちらの方法を選ぶかは、後の見出しで説明します。
ECサイトで色やサイズ違いの商品ページがある
同じ商品で色やサイズだけが異なるページは、商品説明の大部分が共通します。価格順や新着順の並べ替え、絞り込み条件によってもURLが増えます。商品数に絞り込み条件を掛け合わせると、重複URLは数千、数万の単位になります。
色違いのページは代表の商品ページを、並べ替えや絞り込みのページは条件なしの一覧ページを正規URLに指定します。色ごとに検索需要がある商品は、別々のページとして評価させる判断もあります。EC特有の考え方はECサイトのSEO対策で紹介しています。
PC用とスマートフォン用でURLが分かれている
PC用が「example.com」、スマートフォン用が「sp.example.com」のように別のURLで運用しているサイトでは、同じ内容が2つのURLに存在します。スマートフォン用ページにcanonicalタグを置き、PC用ページを正規URLとして指定します。
あわせて、PC用ページにはrel属性にalternateを指定したlink要素でスマートフォン用のURLを記述し、両者の対応関係を示します。画面幅に応じて表示を切り替えるレスポンシブデザインならURLは1つで済みます。移行の考え方はスマホのSEO対策を参考にしてください。
自社の記事を他サイトに転載・配信している
ニュースサイトや提携メディアに自社の記事を配信すると、同じ文章が別のドメインにも掲載されます。配信先のサイトの評価が高いと、元記事ではなく配信先の記事が検索結果に表示されます。配信先のページに、元記事のURLを指すcanonicalタグを入れてもらうよう依頼します。
ドメインをまたいだ指定も可能です。ただし現在のGoogleは、配信先のページ構成が元記事と大きく異なることが多いため、配信先にnoindexを設定してもらう方法を勧めています。契約の時点で、どちらの対応が可能かを確認しておきましょう。
A/Bテストで複数パターンのページを公開している
A/Bテストでは、見出しやボタンだけを変えたページを別のURLで公開します。内容がほとんど同じため、テスト用のページが重複として扱われます。テスト用ページにcanonicalタグを置き、オリジナルのページを正規URLに指定します。
テスト用ページへ振り分ける際は、一時的な転送である302リダイレクトを使います。テストが終わったら、テスト用ページを削除し、採用した内容をオリジナルのページに反映します。
canonicalタグの書き方と設置場所
canonicalタグの書き方は、HTMLのheadタグ内にlink要素を1行追加するだけです。HTMLを編集できないファイルにはHTTPヘッダーで指定します。CMSを使っている場合は、プラグインの設定で対応できます。順に確認します。
HTMLのheadタグ内に記述する
基本の書き方は次のとおりです。重複しているページのheadタグ内に、正規URLをhref属性で指定したlink要素を記述します。
<link rel=”canonical” href=”https://example.com/page/”>
設置場所は必ずheadタグの中です。bodyタグの中に書かれたcanonicalタグは無視されます。headタグ内でも、不正なタグが手前にあるとheadが途中で終了したと解釈されることがあるため、できるだけ上のほうに記述します。
PDFなどはHTTPヘッダーで指定する
PDFや画像などのファイルにはheadタグがないため、HTMLでは指定できません。この場合は、サーバーが返すHTTPレスポンスヘッダーで正規URLを伝えます。同じ内容をHTMLページとPDFの両方で公開しているときに使います。
Link: <https://example.com/whitepaper/>; rel=”canonical”
サーバーの設定ファイルを編集する必要があるため、作業は開発担当者や制作会社に依頼します。PDFを検索結果でどう扱うかはPDFのSEO対策で解説しています。
WordPressなどCMSで設定する
WordPressは、投稿や固定ページに自分自身のURLを指すcanonicalタグを標準で出力します。別のURLを正規URLに指定したい場合は、「Yoast SEO」「All in One SEO」「Rank Math」などのプラグインを使います。記事の編集画面にある正規URLの入力欄にURLを入れるだけで、タグが出力されます。
テーマとプラグインの両方がcanonicalタグを出力し、1ページに2つ記述されている例があります。設定後はページのソースを開いて、1つだけ出力されているかを確認します。初期設定の全体像はWordPressのSEO対策にまとめています。
正規ページ自身にもcanonicalタグを入れる
重複ページだけでなく、正規ページにも自分自身のURLを指定したcanonicalタグを入れます。これを「自己参照canonical」と呼びます。Googleも、正規ページに自己参照のcanonicalタグを含めることを勧めています。
自己参照を入れておくと、パラメータ付きのURLでアクセスされた場合でも、正規URLが自動的に伝わります。重複が発生していないページを含め、すべてのページに自己参照canonicalを出力する設定にしておくと安全です。
| 内部施策を社内で進められる体制をつくりたい方へ SEO内製化支援では、SEOコンサルタントが週1回のオンライン講義を行い、内部施策の修正指示書やキーワード・コンテンツの添削を提供します。講義外もチャットで相談でき、広告費や外注費の削減を目指せます。 SEO内製化支援の詳細を見る |
canonicalタグと301リダイレクト・noindexの使い分け
URLの重複に対処する方法は、canonicalタグだけではありません。301リダイレクトとnoindexも似た場面で使われますが、目的と結果が異なります。3つの違いを次の表で比べます。
| 方法 | 利用者から見た動き | 向いている場面 |
| canonicalタグ | 重複ページもそのまま表示される | 重複ページを利用者に見せ続けたい |
| 301リダイレクト | 自動的に別のURLへ転送される | 重複ページ自体が不要 |
| noindex | ページは表示されるが検索結果に出ない | 検索結果に出す必要がない |
301リダイレクトとの違い
301リダイレクトは、あるURLへのアクセスを別のURLへ恒久的に転送する設定です。利用者も検索エンジンも転送先に移動するため、元のURLは事実上使われなくなります。Googleは、リダイレクトをcanonicalタグと並ぶ強いシグナルとして扱います。
サイトのリニューアルやドメインの変更、ページの統合など、古いURLを残す必要がない場面では301リダイレクトを選びます。canonicalタグで代用すると、古いURLに利用者がアクセスし続けます。移転時の手順はサイトリニューアルでSEO評価を落とさないための注意点を確認してください。
noindexとの違い
noindexは、ページを検索結果に表示させないための指定です。canonicalタグが「評価をこのURLにまとめてほしい」と伝えるのに対し、noindexは「このページを検索結果に出さないでほしい」と伝えます。noindexを指定したページの評価は、別のページには引き継がれません。
会員向けページ、サイト内検索の結果、内容の薄い自動生成ページなど、そもそも検索結果に出す必要がないページにはnoindexを使います。意図せずnoindexが入っていてページが表示されない例もあります。原因の切り分けはGoogleにインデックスされない原因で説明しています。
使い分けの判断手順
判断は2つの問いで整理できます。1つ目は、重複しているページを利用者に見せ続ける必要があるか。必要がなければ301リダイレクトで統合します。2つ目は、そのページを検索結果に出す必要があるか、評価を引き継ぎたいページがあるかです。
利用者には見せたいが評価は1つにまとめたい場合がcanonicalタグです。見せる必要はあるが検索結果には不要で、評価をまとめる先もない場合はnoindexを使います。迷ったときは、この順番で確認すると判断がぶれません。
canonicalタグを設定するときの注意点
canonicalタグは記述が簡単な反面、誤った設定がそのまま検索結果に影響します。全ページに誤ったcanonicalタグが出力され、サイト全体の流入が急減する事故は珍しくありません。設定時に確認したい7つの点を取り上げます。
URLは絶対URLで記述する
href属性には、「https://」から始まる絶対URLを記述します。「/page/」のような相対パスもGoogleは処理できますが、推奨されていません。テスト環境のURLが正規URLとして扱われるなど、意図しない結果を招くためです。
httpとhttps、wwwの有無、末尾のスラッシュまで、実際に運用しているURLと一字一句そろえます。日本語を含むURLは、エンコードされた形式で記述します。「#」以降の部分は正規URLとして扱われないため、指定に含めません。
1ページに記述するcanonicalタグは1つだけにする
1つのページに複数のcanonicalタグがあり、それぞれ別のURLを指している場合、検索エンジンはどれを信頼すべきか判断できません。複数の記述があると、すべてのcanonicalタグが無視されます。
原因の多くは、テーマ、プラグイン、手書きの記述が重なっていることです。HTMLのタグとHTTPヘッダーの両方で指定している場合も、同じURLを指しているかを確認します。
全ページの指定先を同じURLにしない
すべてのページのcanonicalタグが、トップページのURLを指している例があります。テンプレートに固定のURLを書き込んだことが原因です。この状態では、下層のページがすべてトップページの重複として扱われ、検索結果に表示されなくなります。
テンプレートで出力する場合は、ページごとのURLが動的に入る仕組みになっているかを確認します。公開前に、種類の異なるページを数件開き、それぞれ自分自身のURLが入っているかを見ておきます。
内容が異なるページを指定しない
canonicalタグは、内容が同じか、ほぼ同じページ同士で使うものです。内容が異なるページを指定しても、検索エンジンはその指定を採用しません。評価を集めたいという理由だけで、関連性の低いページから主力ページを指定しても効果はありません。
指定が無視されるだけでなく、意図しないページが検索結果から外れる原因にもなります。内容が異なるページ同士を統合したい場合は、文章を1つのページにまとめたうえで301リダイレクトを設定します。
分割ページの1ページ目を正規URLにしない
記事や商品一覧が複数ページに分かれている場合、2ページ目以降から1ページ目を指定してはいけません。2ページ目と1ページ目は内容が異なるためです。2ページ目以降に掲載された記事や商品が、検索エンジンに発見されにくくなります。
分割された各ページには、それぞれ自分自身のURLを指すcanonicalタグを入れます。全件を1ページで表示する「すべて表示」のページがある場合は、そのページを正規URLに指定する方法もあります。
noindexやrobots.txtと併用しない
同じページにcanonicalタグとnoindexを同時に記述すると、「評価を別のURLにまとめてほしい」と「検索結果に出さないでほしい」という2つの異なる指示を出すことになります。検索エンジンがどちらを優先するかは保証されないため、どちらか一方に決めます。
robots.txtでクロールを拒否したページも同じです。クローラーがページを読めなければ、そこに書かれたcanonicalタグも読まれません。Googleも、正規化の目的でrobots.txtやURL削除ツールを使わないよう案内しています。
内部リンクとサイトマップを正規URLにそろえる
canonicalタグで正規URLを指定していても、サイト内のリンクが重複URLに向いていると、検索エンジンに矛盾した情報を渡すことになります。メニューや本文中のリンク、XMLサイトマップに記載するURLは、すべて正規URLに統一します。
サイトマップの作り方はサイトマップとSEOの関係で解説しています。多言語サイトでは、言語ごとのページを示すhreflangの指定とも整合させ、同じ言語の正規ページを指定します。詳しくは海外SEO対策の始め方を確認してください。
| 内部施策の改善でどのような成果が出るか知りたい方へ システム開発会社で「開始1ヶ月で上位表示・新規問い合わせ増加」、IT企業で「月間流入数3倍・CV数2.5倍」など、業種別の支援実績を掲載しています。自社に近い事例をご確認ください。 実績一覧を見る |
canonicalタグが正しく設定されているか確認する方法
canonicalタグは、設定して終わりではありません。記述が正しいかどうかと、検索エンジンがそのとおりに認識しているかどうかは、別々に確認します。方法は3つあり、目的に応じて使い分けます。
ページのソースで記述を確認する
最も手軽なのは、ブラウザでページのソースを表示する方法です。ページ上で右クリックして「ページのソースを表示」を選び、「canonical」で検索します。headタグ内に1つだけ記述があり、hrefのURLが意図したものになっているかを見ます。
JavaScriptでcanonicalタグを出力しているサイトでは、ソースには表示されず、ブラウザの開発者ツールで確認する必要があります。Googleは、正規URLをHTMLのソースに直接記述する方法を勧めています。
サーチコンソールのURL検査で確認する
Googleが実際にどのURLを正規として扱っているかは、Googleサーチコンソールで確認します。画面上部の検索窓にURLを入力すると、URL検査の結果が表示されます。「ユーザーが指定した正規URL」と「Googleが選択した正規URL」の2つが一致していれば、設定は意図どおりに反映されています。
「ページのインデックス登録」のレポートでは、サイト全体の状況がわかります。「代替ページ(適切なcanonicalタグあり)」と表示されたURLは、正規化が正常に行われている重複ページです。対応の必要はありません。
ツールでサイト全体を一括確認する
ページ数が多いサイトでは、1ページずつの確認は現実的ではありません。サイトを巡回してタグを一覧にするクローリングツールを使うと、全ページのcanonicalタグをまとめて確認できます。canonicalタグがないページ、複数あるページ、指定先がエラーになっているページを抽出できます。
リニューアルやCMSの更新の後は、設定が意図せず変わっていることがあります。作業のたびに一括で確認する習慣をつけておくと、事故を早期に発見できます。使えるツールはSEO内部対策チェックツールで紹介しています。
canonicalタグが反映されないときの原因と対処法
canonicalタグを設定したのに、サーチコンソールで別のURLが正規として選ばれていることがあります。原因は、記述の誤りか、ほかのシグナルとの矛盾のどちらかです。原因の見つけ方と対処の順番を説明します。
Googleが別のURLを正規に選ぶ主な原因
サーチコンソールに「重複しています。Googleにより、ユーザーがマークしたページとは異なるページが正規ページとして選択されました」と表示された場合、指定が採用されていません。指定先と指定元の内容が大きく異なる場合に多く起こります。
内部リンクやサイトマップが重複URLを指している、指定先のURLがリダイレクトされている、指定先がエラーを返している、といった場合も採用されません。httpのURLを指定しているのに、サイトはhttpsで運用されている例も見られます。
反映させるための対処手順
対処は、記述の確認から始めます。canonicalタグがheadタグ内に1つだけあり、絶対URLで、正常に表示されるページを指しているかを見ます。次に、内部リンク、サイトマップ、リダイレクトの向き先を、すべて正規URLにそろえます。
修正した後は、サーチコンソールのURL検査からインデックス登録をリクエストします。反映には数日から数週間かかります。正規URLの指定方法の詳細は、Googleの公式ドキュメント「rel=”canonical”などを利用して正規URLを指定する方法」で確認できます。
誤設定で順位や流入が落ちたときの対応
リニューアルやプラグインの更新の直後に流入が減った場合は、canonicalタグの誤設定を疑います。主要なページのソースを開き、指定先がトップページやテスト環境のURLになっていないかを確認します。誤りを修正すれば、再クロールの後に順位は戻っていきます。
修正までの期間が長いほど、回復にも時間がかかります。流入の減少に気づいた時点で、すぐに確認することが重要です。ほかの原因を含めた切り分けの方法は検索順位が下がった原因で解説しています。
まとめ
canonicalタグは、内容が重複する複数のURLの中から、評価してほしい正規URLを検索エンジンに伝えるタグです。分散していた評価を1つのURLに集め、意図したページを検索結果に表示させる役割を持ちます。パラメータ付きURL、表記ゆれ、色違いの商品ページなどが主な対象です。
書き方は、headタグ内にlink要素を1行記述するだけです。絶対URLで書く、1ページに1つだけにする、内容が異なるページを指定しない、という基本を守ります。重複ページが不要なら301リダイレクト、検索結果に出さないならnoindexと、目的に応じて使い分けます。
設定後は、サーチコンソールのURL検査で、指定した正規URLとGoogleが選んだ正規URLが一致しているかを確認します。一致しない場合は、内部リンクやサイトマップとの矛盾を解消します。自社サイトの状況に合わせて、設定を見直してみてください。
| canonicalタグを含む内部施策を無料で診断します 現状の課題をヒアリングし、サイトの状況に合わせたSEO戦略をご提案します。「重複の警告が消えない」「設定が正しいか判断できない」という段階でもご相談いただけます。 無料SEO診断はこちら |