canonicalとは?SEO評価を守るURL正規化の仕組みと正しい使い方

Webサイトを運営していると、同じような内容のページが複数のURLで存在してしまうことがあります。パラメータ付きのURL、PCとスマホで異なるURL、HTTPとHTTPSの混在。
こうした状況を放置すると、検索エンジンはどのページを「正規のもの」として評価すべきか判断できなくなります。
その問題を解決するのが canonical(カノニカル)タグ です。
この記事では、canonicalタグの意味と仕組みから、設定すべきケース・避けるべきケース、実際の記述方法と注意点まで、現場で使える知識を体系的に解説します。
「なんとなく設定されている」状態から脱して、意図を持ってcanonicalを扱えるようになることを目指してください。
canonicalとは?まず「読み方」と「語源」から整理する
canonical の読み方は「カノニカル」です。英語本来の発音(kəˈnɒnɪkl)に近い表記ですが、日本のWeb業界では「カノニカル」が完全に定着しています。
語源はラテン語の “canon”(規則・規範)に由来し、「標準的な」「正規の」という意味を持ちます。カトリック教会では聖典として認められた書物を “canonical books” と呼んだ歴史があり、数学・コンピュータサイエンスの文脈でも「正規化された形式」を指す語として広く使われてきました。SEOにおけるcanonicalも、まさにこの「正規形」という概念から来ています。
canonicalタグとは何か
canonicalタグとは、HTMLの <head> 内に記述するlink要素の一種で、類似・重複するページが複数ある場合に、どのURLを「正規URL(canonical URL)」として扱ってほしいかを検索エンジンに伝えるためのタグです。
記述例は以下のとおりです。
<link rel="canonical" href="https://example.com/article/" />
rel=”canonical” という属性値が「このページの正規URLはここだ」という宣言になります。Googleをはじめとする主要な検索エンジンは、このタグを参照して評価を集約するURLを決定します。
ここで重要なのは、canonicalタグは命令ではなく、ヒントである点です。Googleはこの指定を「強いシグナル」として扱いますが、最終的にどのURLを正規URLとするかはGoogleが判断します。301リダイレクトのような強制力はありません。この違いを最初に理解しておくと、後述する使い分けが自然と腑に落ちます。
「URL正規化」という概念
canonicalタグを語る上で外せないのが「URL正規化(URL Canonicalization)」という概念です。
同一コンテンツに複数のURLが存在する状態を「正規化されていない」と言い、そこから「どれが正規URLか」を決定するプロセスを正規化と呼びます。canonicalタグはその正規化をサイト運営者側からコントロールする手段のひとつです。
たとえば以下はすべて「同じページ」を指している可能性があります。
http://example.com/article
https://example.com/article
https://example.com/article/
https://www.example.com/article/
https://example.com/article/?ref=top
技術的には別々のURLですが、表示内容が同一であれば検索エンジンは重複コンテンツとして認識します。canonicalタグで正規URLを指定することで、これらの評価を1つのURLに集約できます。
なぜURLの正規化が必要なのか
「重複ページくらい、そのままでも大丈夫では?」と感じる方もいるかもしれません。しかし実際には、正規化されていない重複コンテンツはSEOに複数の悪影響を及ぼします。
検索評価(リンクジュース)が分散する
同じ内容のページが複数のURLで存在すると、外部サイトからの被リンク評価が複数のURLに分散してしまいます。本来1つのページに集まるはずだった評価が薄まり、検索順位が伸びにくくなります。
たとえば「https://example.com/article/」と「https://example.com/article」の両方に被リンクが付いている場合、それぞれのURLに評価が半分ずつ分かれてしまいます。canonicalで正規URLを指定することで、分散した評価を1点に集約できます。
クロール予算が浪費される
Googlebotは1サイトに対するクロール回数に上限があります。これを「クロール予算(Crawl Budget)」と呼びます。重複ページが大量にあると、クローラーがそれらの巡回に時間を使ってしまい、本当にインデックスさせたいページへの巡回が後回しになる可能性があります。
特に大規模なECサイトや情報量の多いポータルサイトでは、URLパラメータの組み合わせによって数千〜数万の重複URLが生成されるケースもあります。こうしたサイトでは、canonicalタグによるクロール効率の改善がパフォーマンスに直結します。
計測・分析データが分断される
Google Analyticsなどの解析ツールでも、URLが異なれば別のページとして計測されます。流入数やコンバージョン経路の分析が正確にできなくなるため、施策の改善サイクルにも支障が出ます。「このページへの流入が少ない」と思ったら、実はパラメータ違いのURLに流入が分散していた——という状況は珍しくありません。
意図していないURLが正規URLとして扱われる
canonicalを設定しないと、Googleが自動的に「これが正規URL」と判断してしまいます。その判断が運営者の意図と一致するとは限りません。特にWordPressの設定やCDNの構成によっては、wwwあり・なし、http・httpsが混在しやすく、意図しないURLが正規URLとして認識されてしまうことがあります。
canonicalタグを設定すべき代表的なケース
では、どのような状況でcanonicalタグが必要になるのでしょうか。実務でよく遭遇するケースを具体的に見ていきます。
① 計測用パラメータがURLに付く場合
広告のクリックを計測するためのUTMパラメータや、サイト内の導線を追跡するためのパラメータが付与されると、URLが以下のように変化します。
https://example.com/article/
https://example.com/article/?utm_source=newsletter
https://example.com/article/?utm_medium=social&utm_campaign=spring
内容は同じでもURLが異なるため、Googleは別ページとして認識しえます。こうした場合、パラメータなしの正規URLをcanonicalで指定することで、評価の分散を防げます。
Google Search Consoleには「URLパラメータ」の設定機能もありますが、canonicalでの指定のほうがより確実にGoogleへ意図を伝えられます。
② ECサイトで類似・重複商品ページが多数ある場合
アパレルECサイトで、同じ商品のカラーバリエーション(赤・青・白)ごとにURLが存在するケースがあります。商品説明文がほぼ同じなら重複コンテンツとみなされる可能性が高いため、代表となるURLにcanonicalを設定し、評価を1ページに集約するのが一般的な対処法です。
ただし、カラーや素材によって商品説明・価格・在庫状況が大きく異なるのであれば、それぞれを独立したページとして扱う判断もあります。「重複しているか否か」よりも「ユーザーにとってそれぞれのページが意味を持つか」を起点に考えると整理しやすいでしょう。
③ PCとスマホでURLが異なる場合
レスポンシブデザインが主流の現在、PCとスマホで同じURLを使うサイトが増えました。ただし、一部のサイトでは今も m.example.com のようなモバイル専用URLを持つケースがあります。
この場合の設定は以下のとおりです。
PC版ページ:自己参照canonicalを設定し、スマホ版ページのURLをalternateで指定する
スマホ版ページ:PC版のURLをcanonicalで指定し、自身のURLをalternateで指定する
<!-- PC版ページのhead内 -->
<link rel="canonical" href="https://example.com/article/" />
<link rel="alternate" media="only screen and (max-width: 640px)" href="https://m.example.com/article/" />
<!-- スマホ版ページのhead内 -->
<link rel="canonical" href="https://example.com/article/" />
このペアの設定を一方だけに施してもGoogleに意図は伝わりません。両方のページに正しく設定することが重要です。
④ A/Bテストを実施している場合
A/Bテストでは、同一コンテンツのバリエーションページを複数用意することがあります。テスト期間中、バリエーションページから元のページへcanonicalを向けることで、重複コンテンツ扱いを回避しながらテストを継続できます。
なお、Googleは公式ドキュメントでA/Bテストにcanonicalタグを使う方法を推奨しており、テストのためにcloaking(クローキング)を行うことはガイドライン違反と明示しています。
⑤ 広告用ランディングページ(LP)を使用する場合
同じ商品・サービスに対して、広告媒体ごとに専用LPを用意する場合があります。内容がほぼ同一であれば、代表のURLをcanonicalとして指定し、評価の分散を防ぐことが推奨されます。
ただし、LPを検索結果に表示させたいケースでは、そのLPのURLをcanonicalとして扱うほうが適切な場合もあります。LPの目的(広告専用か、検索流入も狙うか)によって判断を変えるようにしましょう。
⑥ コンテンツシンジケーション(転載)を行う場合
自社コンテンツを他社メディアに転載・配信(シンジケーション)する場合、転載先ページが自社の元記事よりも先にインデックスされることがあります。転載先ページに元記事のURLをcanonicalで指定してもらうことで、元記事の評価を守れます。
ただし、転載先が対応してくれるかどうかは相手次第という現実もあります。転載を依頼する際は「canonicalの設定をお願いしたい」と明示的に伝えることが重要です。
⑦ AMPページを実装している場合
AMP(Accelerated Mobile Pages)を実装すると、通常ページとは別のAMP専用URLが生成されます。通常ページをcanonicalとして指定し、AMPページには通常ページへのcanonicalと、AMPであることを示す <link rel=”amphtml”> を組み合わせて設定します。
<!-- 通常ページのhead内 -->
<link rel="canonical" href="https://example.com/article/" />
<link rel="amphtml" href="https://example.com/article/amp/" />
<!-- AMPページのhead内 -->
<link rel="canonical" href="https://example.com/article/" />
canonicalタグの記述方法・設定場所
HTMLでの基本的な書き方
<head> タグ内に以下を記述します。記述位置は <head> 内であれば厳密な順序は問われませんが、他のmetaタグとまとめて上部に置くとソースが見やすくなります。
<head>
<meta charset="UTF-8">
<title>ページタイトル</title>
<link rel="canonical" href="https://example.com/article/" />
</head>
URLは必ず絶対パス(フルURL)で記述してください。相対パスは意図しない解釈がされるリスクがあるため推奨されません。また、URLに日本語や記号が含まれる場合はパーセントエンコーディング(URLエンコード)を施す必要があります。
たとえば https://example.com/記事/ は https://example.com/%E8%A8%98%E4%BA%8B/ のように変換します。
HTTPレスポンスヘッダーでの設定
HTMLに直接記述できないPDFなどのリソースに対しては、HTTPレスポンスヘッダーにcanonical情報を含める方法もあります。
Link: <https://example.com/document.pdf>; rel="canonical"
この方法はHTML編集ができない環境に有効ですが、設定にはサーバー側の操作が必要になります。NginxやApacheの設定ファイルを編集するか、CDNレイヤーで制御する形になります。
WordPressでの設定
WordPressを使っている場合、Yoast SEO や All in One SEO などのプラグインが自動でcanonicalタグを出力してくれます。
Yoast SEO:デフォルトで自己参照canonicalを全ページに出力します。個別ページでカスタムURLを指定することも可能です
All in One SEO:同様に自動出力に対応しており、細かいカスタマイズもGUI上から設定できます
基本的にはプラグインに任せて問題ありませんが、自動出力が意図した動作になっているかを実際のHTMLソースで確認する習慣は持っておきたいところです。特に、カスタマイズされたテーマや他のプラグインとの競合で、意図しないcanonicalが二重出力されているケースは現場でも散見されます。
canonicalタグ設定時の注意点
canonicalタグは正しく使えば強力な武器になりますが、設定ミスがあると逆にサイト評価を損なうことがあります。以下の注意点は必ず把握しておきましょう。
自己参照canonicalを省略しない
正規ページ自身にも、自分自身のURLを指すcanonicalタグ(自己参照canonical)を必ず設定しておきましょう。これを省略すると、Googleが別のURLを正規URLと誤判断するリスクがあります。
たとえばトップページのcanonicalが設定されていない場合、https://example.com/ と https://www.example.com/ と https://example.com/index.html が同一コンテンツとして認識され、どれが正規なのかGoogleが迷うケースがあります。「何も問題のないページなのに順位が安定しない」という症状の一因になりやすいのがこのパターンです。
自己参照canonicalはすべてのページに設定することを基本方針にしておくとよいでしょう。
<head> 内にのみ記述する
canonicalタグは必ず <head> タグの中に記述します。<body> 内に記述しても、Googleはそれを無効と扱います。CMSのテンプレートを編集する際は、意図せず <body> 側に出力されていないかHTMLソースで確認してください。
JavaScriptで動的にcanonicalを挿入するアプローチも一部で見られますが、Googleがレンダリング前にcanonicalを確認する場合があるため、HTMLに静的に記述することが推奨されます。
同一ページに複数のcanonicalを設定しない
1つのページに複数のcanonicalタグが存在すると、Googleはその指定を無視することがあります。ページ内に1つだけ、正確なURLを記述するようにしてください。
WordPressにプラグインを複数インストールしている場合、それぞれがcanonicalを出力してしまい、二重になるケースがあります。プラグインの設定やテーマのfunctions.phpを確認し、重複出力を排除することが必要です。
内容が大きく異なるページへの指定は避ける
SEO評価を意図的に集約しようとして、内容が異なるページのcanonicalを一方に向けることがあります。Googleはこれを検出した場合、canonicalの指定そのものを無視するか、スパム的な操作とみなす可能性があります。あくまでも「内容が同じ、または非常に似ている」ページ間での使用に限定してください。
noindexページをcanonicalで指定しない
canonicalで指定されたページが noindex になっている場合、矛盾したシグナルが発生します。「このURLを正規URLとして評価してほしい(canonical)」と「このURLをインデックスしないでほしい(noindex)」は論理的に相反します。Googleはどちらを優先すべきか判断できなくなり、意図しない動作が起こりやすくなります。
正規ページには noindex を付けないこと、また noindex ページをcanonicalの指定先にしないことを徹底しましょう。
ページネーションの先頭ページを全ページのcanonicalにしない
記事一覧や商品一覧が複数ページに分割されている場合(ページネーション)、「すべてのページのcanonicalを1ページ目に向ければ管理が楽になる」と考える方がいます。しかしこれは誤りです。
2ページ目以降がインデックスされなくなる可能性があり、2ページ目以降に掲載されているコンテンツ(商品・記事)が検索結果に表示されなくなりえます。各ページは独立したコンテンツとして扱い、自己参照canonicalを設定するのが正しい対応です。
XMLサイトマップには正規URLのみ記載する
XMLサイトマップに含まれるURLは「Googleに巡回してほしいURL」という意思表示になります。非正規URLをサイトマップに含めると、canonicalの指定と矛盾するシグナルをGoogleに送ることになります。サイトマップにはcanonicalで正規指定したURLのみ記載するようにしましょう。
canonicalチェーンを作らない
AページのcanonicalがBページを指し、BページのcanonicalがCページを指すような「canonicalチェーン」を作ってしまうと、Googleはチェーンを追う処理に余分なコストを要し、意図した正規URLが認識されないことがあります。canonicalは必ず最終的な正規URLを直接指定するようにしてください。
canonicalと301リダイレクトの使い分け
SEO担当者がよく迷うのが「canonicalと301リダイレクトのどちらを使うか」という判断です。
301リダイレクトは、URLが恒久的に移動したことをブラウザと検索エンジンの両方に伝えます。ユーザーは旧URLにアクセスしても自動的に新URLへ転送されます。URL変更やサイトリニューアルには301が適切です。
一方、canonicalはGoogleなどの検索エンジンにのみ「こちらが正規URL」と伝えるシグナルであり、ユーザーのアクセスはリダイレクトされません。重複ページを残したまま評価を集約したい場合——たとえばパラメータ付きURLを表示させながら、評価は正規URLに集めたい場面——ではcanonicalが適しています。
端的に言えば「ユーザーも旧URLにアクセスしてほしくないなら301、ページは残すが評価は集約したいならcanonical」が基本的な判断基準です。
また、301リダイレクトのほうがcanonicalより強いシグナルとしてGoogleに認識されるため、恒久的なURL変更には迷わず301を使いましょう。canonicalはあくまでも「ページを残しながら評価を整理する」ための手段だと覚えておくと判断がシンプルになります。
状況 推奨する方法 サイトリニューアルでURLが変わる 301リダイレクト HTTPからHTTPSへ移行した 301リダイレクト パラメータ付きURLの評価を正規URLへ集約 canonicalタグ A/Bテスト中のバリエーションページを管理 canonicalタグ 重複ページを残しつつ評価を集める canonicalタグ 301リダイレクトの設定が技術的に困難 canonicalタグ(次善策)
canonicalの設定を確認する方法
設定したcanonicalが正しく反映されているかは、以下の方法で確認できます。
ブラウザのHTMLソースで確認する
対象ページを開いて「ページのソースを表示」(Ctrl+U または Command+U)し、rel=”canonical” を検索します。指定しているURLが正しいかを目視で確認できる、最もシンプルで即効性のある方法です。
Google Search ConsoleのURL検査ツールで確認する
Search ConsoleのURL検査ツールでURLを入力すると、「Googleが選定した正規URL」と「ユーザーが宣言した正規URL(canonicalタグの値)」をそれぞれ確認できます。
両者が一致していれば、canonicalはGoogleに正しく認識されています。一致していない場合は、Googleが別のURLを正規URLと判断していることを意味するため、設定の見直しが必要です。
特に注意したいのは、Googleが選定した正規URLが自分の意図と異なるケースです。これはcanonicalの指定が無視されているサインであり、コンテンツの重複度合いや他のシグナル(被リンクの分布など)に問題がある可能性があります。
SEOクローリングツールで一括確認する
Screaming FrogやSitebulbなどのクローリングツールを使うと、サイト全体のcanonical設定を一括でチェックできます。
canonicalが未設定のページ
自己参照canonicalが設定されていないページ
canonicalが別ドメインを指しているページ
canonicalチェーン(AがBを指し、BがCを指すような連鎖)が発生しているページ
こうした問題をリストアップできるため、大規模サイトの監査には欠かせないツールです。
canonicalに関するよくある疑問
canonicalを設定すれば必ず順位が上がるのか?
canonicalタグは「設定すれば順位が上がる」というものではありません。正規化されていない状態で分散していた評価を1点に集約することで、本来得られるはずだった評価を取り戻すという性質のものです。重複コンテンツによる評価分散が起きていた場合には改善が期待できますが、もともと問題がなかったページに設定しても直接的な効果は薄いでしょう。
canonicalは無視されることはあるのか?
あります。Googleは公式に「canonicalはヒントであり、命令ではない」と述べています。指定したURLのコンテンツが指定元と大きく異なる場合、Googleは指定を無視して独自に正規URLを決定することがあります。このため、正しいcanonicalを設定しているにもかかわらず意図しないURLが正規URLとして扱われるケースも起こりえます。Search ConsoleのURL検査ツールで定期的に確認することが重要な理由はここにあります。
自己参照canonicalは本当に必要なのか?
必要です。「自分自身を指すだけのタグに意味があるのか」と感じる方もいますが、自己参照canonicalがないページはGoogleにとって「このURLが本当に正規かどうか不明」な状態に近くなります。外部からさまざまなURL形式でリンクが貼られたとき、どれを正規URLにするかをGoogleに丸投げしていることになります。自己参照canonicalはGoogleへの「このURLで評価を集めてください」という明確な意思表示です。
canonicalとnoindexは同時に使えるのか?
先述のとおり、canonicalで指定したURLにnoindexを付けることは矛盾します。ただし「非正規ページにnoindexを設定しつつ、そのページのcanonicalを正規URLへ向ける」という使い方は、技術的には意味をなすケースもあります。とはいえGoogleはnoindexとcanonicalが矛盾する場合にnoindexを優先することが多いとされており、複雑な組み合わせは原則として避けるべきでしょう。
まとめ:canonicalタグはSEO品質を守るインフラ
canonicalタグは「設定すれば上位表示できる」といった類のタグではありません。正しく設定することで、本来得られるべき評価を守るための SEOの防衛インフラ です。
特に以下のサイトでは、canonicalの管理が検索パフォーマンスに直結します。
ECサイト:商品バリエーションやカテゴリ軸の重複が生じやすく、放置すると重複URLが数千単位で生成されることもあります
メディアサイト:タグページ・カテゴリページとの内容重複が発生しやすく、記事のインデックスにも影響しえます
企業サイト:PDFやランディングページが複数URLで存在するケースが多いです
「なんとなく設定されている」状態から脱して、意図を持って管理することが重要です。
今日からできる具体的な確認として、まず既存サイトの主要ページのHTMLソースを開いてcanonicalが正しく設定されているかを確認してみてください。
次にSearch ConsoleのURL検査ツールで、Googleが認識している正規URLが自分の意図と一致しているかをチェックします。そして新規ページ公開時のチェックリストにcanonical確認の項目を加えましょう。
こうした習慣が積み重なることで、サイト全体のSEO品質が安定していきます。canonicalは地味な施策に見えるかもしれませんが、評価の「漏れ」を防ぐという意味で、SEO施策の土台を支えるものです。