ブログ一覧へ戻る

canonicalタグとは?正しい設定方法・重複コンテンツ対策を解説

与謝秀作

canonicalタグとは?正しい設定方法・重複コンテンツ対策を解説

「同じ商品ページがURLパラメータ違いで何十通りも生成されてしまう」「PC版とスマホ版でURLが分かれている」「HTTPS化したのに古いHTTPのページが残っている」——こうした『内容はほぼ同じなのにURLが複数存在する』状況は、サイト運営の現場で日常的に発生します。検索エンジンから見れば重複コンテンツの増殖はSEO評価の分散・クロールバジェットの浪費・本来評価されるべきページの順位低下を招くため、適切な対処が欠かせません。その標準的な解決策が、検索エンジンに『このページの正規URLはこちらですよ』と伝えるcanonicalタグ(rel="canonical")です。本記事では、canonicalタグとは何かという基本定義から、301リダイレクト・noindex・hreflangとの違い、重複コンテンツが発生する典型シーン、HTMLでの記述・HTTPヘッダー・サイトマップという3つの設定方法、実装の5ステップ、相対URL指定や多重指定といったよくある失敗までを体系的に解説します。

canonicalタグとは

canonicalタグとは、同一または類似のコンテンツが複数のURLに存在する場合に、検索エンジンに対して『このグループの正規URL(オリジナル)はこちらです』と明示するためのHTMLタグです。HTMLの<head>セクションに『<link rel="canonical" href="https://example.com/正規URL">』という形式で記述するのが基本で、Google・Bingをはじめとする主要検索エンジンが正式にサポートしています。日本語では『カノニカルタグ』『正規URLタグ』とも呼ばれ、技術的SEOの基本要素として位置付けられています。

canonicalタグの仕組みは『提案』であり『指示』ではない、という点を理解しておくことが重要です。検索エンジンはcanonicalタグを強い参考情報として扱いますが、内部リンクの構造、サイトマップの記述、外部リンクの集まり方、コンテンツの一致度などを総合的に判断して最終的な正規URLを決定します。サイト運営者がcanonicalで指定したURLと検索エンジンが選定する『正規URL(Googleが言うところのcanonical URL)』が異なるケースもあり、Search Consoleのインデックス登録レポートでは『ユーザーが指定した正規URL』と『Googleが選択した正規URL』の両方が確認できるようになっています。

canonicalタグが導入されたのは2009年で、Google・Yahoo!(当時)・Microsoft(現Bing)の3社が共同で仕様を発表しました。それ以前は重複コンテンツへの対処が運営者ごとにばらばらで、SEO評価の分散が深刻な課題になっていましたが、canonicalタグの登場によって『正規URLの指定』という業界標準の解決策が確立されました。以降、ECサイト、メディア、コーポレートサイトなどあらゆる業種で、重複コンテンツ管理の中核となる仕組みとして定着しています。

canonicalタグと関連手法の違い

重複コンテンツやインデックス制御の手法には、canonicalタグ以外にも301リダイレクト・noindex・hreflangなどがあり、それぞれ役割と適用場面が異なります。違いを正しく押さえておくことで、自社サイトに最適な手段を選べるようになります。

canonicalタグと301リダイレクトの違い

301リダイレクトは『恒久的な転送』を意味するHTTPステータスコードで、サーバー側で旧URLにアクセスがあった際に新URLへ自動的に転送する仕組みです。ユーザーも検索エンジンも転送先のページしか見ることができず、SEO評価も新URLへ強く引き継がれます。一方canonicalタグは旧URLを残したまま検索エンジンに正規URLを伝える仕組みで、両方のURLが存在し続けます。サイト移転・ドメイン変更・URL構造の変更といった『元のURLを完全に廃止して新URLに統合したい』ケースでは301リダイレクト、『両方のURLを残しつつ正規URLだけ評価してほしい』ケースではcanonicalタグ、と使い分けるのが原則です。

canonicalタグとnoindexの違い

noindexは、HTMLのmetaタグやHTTPヘッダーで『このページを検索結果に表示しない』ことを検索エンジンに指示するタグです。canonicalタグが『複数の類似URLの中で正規はこれ』と評価を集約するのに対し、noindexは『このページ自体をインデックスから外す』完全な除外指示で、SEO評価の引き継ぎも発生しません。検索結果に出すべきでないログイン後画面・テスト環境・サンクスページなどにはnoindex、検索結果に出る価値のある複数URLのうち1つに評価を寄せたいときはcanonical、と使い分けます。両者の併用には注意が必要で、noindexとcanonicalを同じページに記述すると検索エンジンへの指示が矛盾し、想定外の挙動を招くことがあります。

canonicalタグとhreflangの違い

hreflangは、多言語サイト・多地域サイトで『このページは日本語版で、英語版はこちらにあります』と検索エンジンに伝えるためのタグで、地域・言語ごとに最適なURLを検索結果に表示してもらう仕組みです。同じ内容を翻訳した別言語ページは『重複』ではないためcanonicalで一方を正規指定すべきではなく、hreflangで言語・地域違いとして関連付けるのが正しい運用です。多言語サイトでは、各言語ページが自身を正規URLとするself-referencing canonicalを設定したうえで、hreflangで他言語版を相互に紐づけるのが標準パターンです。

canonicalタグとrobots.txt(Disallow)の違い

robots.txtのDisallow指示は、検索エンジンのクローラーに対して『このURLをクロールしないでください』と伝えるものです。クロール自体をブロックするため、検索エンジンはそのページの中身を読めず、canonicalタグの記述があっても認識されません。重複コンテンツ対策にrobots.txtを使うのは原則として不適切で、canonicalで正規URLを伝える方が評価集約の意味でも望ましい運用です。robots.txtは、検索エンジンに読み込ませる必要すらない管理画面・APIエンドポイント・無限生成されるパラメータ付きURLなど、クロールバジェットを消費させたくない領域に限定して使うのが定石です。

canonicalタグが注目される背景とメリット

canonicalタグがSEOの基本施策として広く実装されているのは、現代のWebサイトが構造的に重複URLを生み出しやすいからです。ECサイトの絞り込みやソート機能、UTMパラメータ付きの広告流入URL、ページネーション、PC/スマホの分離設計、HTTPSへの移行など、運営の都合で同一コンテンツが複数のURLで配信されるケースは無数にあります。これらを放置すると検索エンジンの評価が分散・希薄化し、本来上位表示されるべきページの順位が下がってしまうため、canonicalによる正規URL指定は技術的SEOの必須要件となっています。

第一のメリットは、SEO評価(被リンクなどのシグナル)を正規URLに集約できることです。同じコンテンツが複数URLで存在すると、外部からの被リンクや内部リンクが分散して各URLに少しずつ蓄積されてしまい、結果として『どのURLも中途半端にしか評価されない』状態になります。canonicalタグで正規URLを指定することで、これらのシグナルを1つのURLに集約でき、検索順位の押し上げに直接寄与します。

第二のメリットは、クロールバジェットの最適化です。検索エンジンはサイトごとに『どれくらい時間をかけてクロールするか』の予算を割り当てており、重複URLが大量にある状態だと無駄なクロールに予算が消費され、本来クロールしてほしい新規記事や更新ページへの訪問が後回しになります。canonicalで重複の関係を明示することでクローラーの巡回効率が改善し、新コンテンツのインデックス速度や更新検知の速度が向上します。とくに数万ページ規模以上のECサイト・メディアでは、この恩恵が顕著に現れます。

第三のメリットは、重複コンテンツに起因するインデックス上の問題を回避できることです。Googleは『重複コンテンツに直接的なペナルティはない』と公式にアナウンスしていますが、重複ページが多いサイトは検索エンジンが正規版を判定しきれず、想定と異なるURLが検索結果に表示される、検索結果から類似ページがフィルタリングされる、といった実害が発生します。canonicalで正規URLを明示すれば、検索結果に表示されるURLをサイト運営者の意図通りにコントロールしやすくなり、ユーザー体験と計測整合性の両面でプラスに働きます。

重複コンテンツが発生する典型シーンとcanonical対策

実際のサイト運営で重複コンテンツが発生するパターンには、いくつかの典型形があります。それぞれでcanonicalタグの当て方が異なるため、自社サイトの構造に照らして該当するケースを洗い出しておきましょう。

URLパラメータによる重複

最も頻繁に発生するのが、URLパラメータによる重複です。UTMパラメータ付きのリンク(?utm_source=...)、セッションID、ソート・絞り込みパラメータ(?sort=price&color=red)、ページネーション(?page=2)など、コンテンツ本体は同じでもURLだけが変わるケースが該当します。これらに対しては、パラメータなしのクリーンなURLを正規URLとしてcanonicalで指定するのが基本です。並び替え・絞り込みのように内容そのものが変化するパラメータでも、検索結果に出すべきは基本のカテゴリーページであるケースが多く、各バリエーションから親URLへcanonicalを向ける運用が一般的です。

PCサイトとモバイルサイトの分離

PC版(example.com)とモバイル版(m.example.com)でURLが分かれている分離型サイトでは、両者が同じコンテンツを持つため重複と見なされる可能性があります。この場合、モバイル版からPC版へcanonicalを向け、PC版にはモバイル版を示すalternateリンクを設置する『canonical+alternate』の組み合わせが標準パターンです。ただし現代ではレスポンシブWebデザインで1つのURLに統一する設計が主流で、分離型は徐々に減ってきています。新規構築ではレスポンシブを採用し、canonicalの問題自体を発生させない設計が望ましい選択です。

HTTPS化・wwwあり/なし・末尾スラッシュの揺れ

http://とhttps://、wwwあり(www.example.com)とwwwなし(example.com)、末尾スラッシュあり/なしのように、技術的に微妙に異なるURLで同じページが配信されるケースも重複の一種です。本来は301リダイレクトでどちらか一方に統一するのが理想ですが、サーバー設定の都合で統一できない場合はcanonicalで正規URLを明示します。HTTPS化を行ったサイトでは、HTTPSのURLを正規URLとしてHTTPからHTTPSへ301リダイレクト+canonicalで二重に指定するのが推奨される運用です。

ECの商品詳細ページ・複数カテゴリー所属

ECサイトでは、同じ商品が複数のカテゴリーURLからアクセスできる構造をとることがあります(例:/men/jacket/item123、/sale/item123、/brand-a/item123)。本体コンテンツは同一なため、最も代表的なURL(多くの場合、商品単体の/products/item123のような正規URL)を1つ決めて、そこへ全バリエーションからcanonicalを向ける運用が定石です。商品ページに加え、印刷用ページ、AMP版、タブで切り替わるページなども、本体URLへ統合するのが標準的な設計です。

コンテンツの転載・シンジケーション

自社の記事を提携メディアやプラットフォームに転載してもらうコンテンツシンジケーションでは、転載先ページに自社のオリジナル記事URLをcanonicalとして指定してもらうことで、SEO評価をオリジナルに集約できます。逆に他社の記事を転載する側になる場合は、相手方の元記事URLをcanonicalで指定するのがマナーであり、検索評価上の混乱を避ける合理的な運用です。プレスリリースの一斉配信やゲスト寄稿など、同じコンテンツが複数サイトに掲載される場面では、必ず正規URL指定の方針を事前に取り決めておきましょう。

canonicalタグの正しい設定方法

canonicalタグの実装方法には大きく3つあります。実装環境やページの種類に応じて、最適な方法を選びましょう。

HTMLの<head>内に記述する方法(最も一般的)

最も一般的な方法は、HTMLページの<head>セクションに<link rel="canonical" href="https://example.com/正規URL/">の形式で記述する方法です。記述する際は、相対URLではなく必ず絶対URL(プロトコル+ドメイン+パス)で書くこと、HTTPS対応済みならHTTPSのURLを使うこと、末尾スラッシュやパラメータの有無を実際のURLと一致させることが重要なポイントです。WordPressやShopifyなどの主要CMSでは、テーマやプラグイン(Yoast SEO、Rank Math、All in One SEOなど)の機能で自動的にself-referencing canonicalが挿入される仕組みが一般化しているため、まず標準機能で対応されていないか確認しましょう。

HTTPヘッダーで指定する方法

HTMLではないファイル(PDF・画像・動画など)に対しては、HTTPレスポンスヘッダーで『Link: <https://example.com/正規URL>; rel="canonical"』の形式で指定します。同じPDFが複数のURLからダウンロードできる、画像ファイルが別パスでも配信されている、といったケースで活躍します。サーバー(Apache・Nginx・CDN)の設定で発行する形が一般的で、運用上は対象ファイルが大量にある場合や、HTMLでの記述が難しいシステム構成のときに採用されます。

XMLサイトマップでの指定

XMLサイトマップに記載するURLは、検索エンジンに対して『このサイトの正規URL一覧』を伝えるシグナルになります。サイトマップには正規URLだけを掲載し、パラメータ違いの重複URLや代替バリエーションは含めないのが原則です。サイトマップのURLとページ内のcanonicalタグが指す正規URLは必ず一致させること、HTTPSへ統一すること、現在404になっているURLは削除すること、といった整合性管理が重要なポイントになります。

canonicalタグを実装する5ステップ

canonicalタグは『とりあえず付ければよい』ものではなく、URL監査・正規URL設計・実装・検証・継続改善の流れで整えることで、SEO評価を正しく集約できます。以下の5ステップで進めましょう。

ステップ1:URL監査と重複コンテンツの棚卸し

最初にやるべきは、自社サイトでどんな重複URLが発生しているかを洗い出すことです。Google Search Consoleの『ページ』レポートでは、『重複しています、ユーザーにより指定された正規URLはありません』『重複しています。Google により、ユーザーが指定した正規 URL とは異なる正規 URL が選択されました』といった項目で重複URLの状況が確認できます。併せて、Screaming Frog SEO SpiderやSitebulbなどのクロールツールでサイト全体をスキャンすると、パラメータ違い・大文字小文字違い・末尾スラッシュ違いなどの重複URLパターンを網羅的に把握できます。

ステップ2:正規URLの設計ルール策定

次に、自社サイトの正規URLをどう定めるかのルールを文書化します。プロトコルはHTTPSに統一、wwwあり/なしのどちらにするか、末尾スラッシュは付ける/付けない、URLパスは小文字統一、パラメータ付与時は基本URLを正規にする、といった共通ルールを明文化することで、エンジニア・マーケター・コンテンツ制作者が同じ基準で運用できるようになります。ECや大規模メディアでは、商品ページ・カテゴリーページ・記事ページなどコンテンツ種別ごとに正規URLパターンを設計しておくと、後の実装・運用が楽になります。

ステップ3:実装と301リダイレクトとの組み合わせ

ルールが定まったら、実装に進みます。同一コンテンツに対しては、すべてのページで自身を指すself-referencing canonicalを基本とし、重複URLがある場合は正規URLへ向けるcanonicalを追加します。HTTPS化やドメイン変更といった『元URLを廃止する』ケースでは301リダイレクトを優先し、canonicalだけに頼らないこと、両者を併用するときは矛盾が生じないように設計することが重要です。CMSを利用している場合は、テンプレートやプラグインで正規URLが自動生成される設定を確認し、手動修正が必要なページを抽出して個別対応します。

ステップ4:検証とSearch Consoleでの確認

実装後は必ず検証フェーズを設けます。各ページのソースコードを確認してcanonicalタグが意図通りに出力されているかを目視チェックし、Google Search Consoleの『URL検査ツール』で個別ページを検査して『ユーザーが指定した正規URL』と『Googleが選択した正規URL』が一致しているかを確認します。両者がずれている場合は、内部リンクの構造、サイトマップ、コンテンツの一致度などを見直す必要があります。Screaming FrogやSitebulbを使えば、サイト全体のcanonicalタグ状況を一括レポート化でき、エラーや矛盾を効率的に検出できます。

ステップ5:継続的なモニタリングと改善

canonicalの設定は一度実装して終わりではなく、運用とともに継続的にモニタリングする必要があります。新規ページ追加・サイト構造変更・新機能リリースのたびに重複URLが発生していないかチェックし、Search Consoleのインデックスカバレッジレポートを月次で確認して、想定外の重複や正規URL選択のずれを早期に検出します。リダイレクトチェーン(A→B→Cの多段転送)やcanonicalループ(A→B→A)といった構造的な不整合も、定期的なクロール監査で見つけて解消していきましょう。

canonicalタグでよくある失敗と注意点

canonicalタグはシンプルな仕様ですが、誤った実装が原因でSEO評価が想定通りに集約されず、むしろ順位を下げてしまうケースも珍しくありません。典型的な失敗パターンを押さえ、運用で意識的に避けましょう。

1つ目は、相対URLでの指定です。<link rel="canonical" href="/page/">のように相対URLで書くと、サブドメインやプロトコルの違いで意図しないURLが正規と解釈されるリスクがあります。canonicalは必ず『https://www.example.com/page/』のような絶対URLで記述するのが鉄則です。

2つ目は、1ページに複数のcanonicalを指定してしまうことです。同じページに2つ以上のcanonicalタグが存在すると、検索エンジンはどれを採用するか判断できず、結果として全て無視されることがあります。CMSのテーマ・プラグイン・カスタムコードが重複してcanonicalを出力していないか、ソースコードで必ず1つだけになっていることを確認しましょう。

3つ目は、canonicalループ(自己参照ループ)の発生です。AページがBをcanonicalに指定し、BがAをcanonicalに指定する、あるいはA→B→Cと連鎖して最終的にAに戻るような循環構造になっていると、検索エンジンは正規URLを判定できずインデックスに支障をきたします。サイト全体をクロールツールで分析して、ループや多段リンクが発生していないかを確認することが大切です。

4つ目は、内容が大きく異なるページを正規URLとして指定してしまうことです。canonicalは『内容がほぼ同じ』ページ間での評価集約に使うものであり、まったく別の内容のページを正規URLに指定しても検索エンジンは無視します(Googleが『ユーザー指定の正規URL』と異なる正規URLを選ぶ典型ケース)。canonicalで統合できるのは、コンテンツが実質的に同一あるいは非常に近いケースに限られる、と理解しておきましょう。

5つ目は、canonicalタグとnoindex・robots.txt・301リダイレクトを同時に複数併用して矛盾を起こすことです。たとえばnoindexとcanonicalを同じページに併記すると、評価集約の意図が消えるだけでなく検索エンジンを混乱させます。canonicalで指定したURLがrobots.txtでブロックされている、canonicalの指定先が301リダイレクトの起点になっている、といった構造も同じく不整合です。インデックス制御の手段は1ページにつき1つ、明確な意図に基づいて選ぶことが基本ルールです。

まとめ

canonicalタグとは、同一または類似のコンテンツが複数のURLに存在する場合に、検索エンジンへ正規URLを明示するためのHTMLタグで、技術的SEOの基本要素として位置付けられています。301リダイレクト・noindex・hreflang・robots.txtといった関連手法と役割を区別し、自社サイトの状況に最適な手段を選び分けることが大切です。URLパラメータ・PCとモバイルの分離・HTTPSとHTTPの揺れ・ECの複数カテゴリー所属・コンテンツ転載といった典型シーンでこそ、canonicalの真価が発揮されます。

成功のカギは、SEO評価の集約・クロールバジェットの最適化・重複コンテンツの問題回避という3つのメリットを念頭に、URL監査、正規URL設計ルール策定、実装と301リダイレクトの併用、Search Consoleでの検証、継続的なモニタリングという5ステップを愚直に回すことです。相対URL指定・多重指定・canonicalループ・内容の異なるページの正規指定・他のインデックス制御との矛盾といった落とし穴を避け、絶対URLで一貫性のある実装を維持することで、canonicalタグはサイトのSEO基盤を長期的に支える静かな縁の下の力持ちとして機能し続けます。

ブログ一覧へ戻る