canonicalタグとは?使い方・書き方・設定が必要なケースをやさしく解説


「canonicalタグって何のために設定するの?」「自分のサイトにも必要なの?」——SEOの内部対策を学んでいると必ず登場するのが、このcanonical(カノニカル)タグです。
結論からお伝えすると、canonicalタグとは重複コンテンツが存在する際に、「このURLが本命のページです」と検索エンジンに伝えるためのHTMLタグです。正しく設定すればSEO評価の分散を防ぎ、意図したページを検索結果に表示させることができます。
この記事では、canonicalタグの基本的な意味から、設定が必要な具体的ケース、HTMLでの書き方、WordPressでの設定方法、301リダイレクトとの使い分け、そしてよくある設定ミスまでを、SEO初心者の方にもわかるように丁寧に解説します。
関連記事:リダイレクトとは?種類・SEOへの影響・設定方法を初心者向けに解説
canonicalタグとは?URL正規化の基本を理解しよう
canonicalタグの定義
canonical(カノニカル)タグとは、コンテンツが同一または類似する複数のURLが存在する場合に、どのURLを「正規ページ」として検索エンジンに評価してもらいたいかを指定するHTMLタグです。
たとえば、同じトップページに以下の4つのURLでアクセスできるケースを考えてみましょう。
- https://example.com
- https://example.com/
- https://example.com/index.html
- https://www.example.com
これらはすべて同じページを表示しますが、Googleは別々のURLとして認識する可能性があります。canonicalタグを設定すれば、「この中でhttps://example.comが正規のURLです」と明確に伝えることができるのです。
なぜURL正規化が必要なのか
重複するURLが放置されていると、以下の問題が起こります。
- SEO評価の分散:被リンクやアクセスが複数URLに分かれ、本来1ページに集中するはずの評価が薄まる
- 意図しないページの表示:Googleが正規ページを誤って判断し、見せたいページとは別のURLが検索結果に出る
- クロールバジェットの浪費:検索エンジンのクローラーが重複ページを何度も巡回し、重要なページのクロールが遅れる
canonicalタグによる正規化は、こうした問題を防ぎ、SEO評価を正しいページに集約するための重要な内部対策です。
関連記事:クロールバジェットとは?SEOへの影響と最適化7つの方法を解説
canonicalタグの設定が必要な6つのケース
具体的にどのような場面でcanonicalタグを設定すべきなのか、代表的な6つのケースを紹介します。
ケース①:URLの表記ゆれがある場合
「www」の有無、「/」の有無、「http」と「https」の違い、「index.html」の有無など、同じページなのに複数のURLでアクセスできてしまうケースです。Webサイトの設定次第で自動的に発生するため、最も一般的なケースと言えます。
ケース②:ECサイトのカラー・サイズ違いページ
ECサイトで、同じ商品の色違いやサイズ違いでそれぞれ異なるURLが生成されるケースです。たとえば以下のようなURL構成です。
- example.com/t-shirt/black
- example.com/t-shirt/white
- example.com/t-shirt/red
商品説明のテキストが同一であれば重複コンテンツとみなされるため、代表カラー(最も売り上げの出ている色など)のページをcanonicalで正規URLに指定します。
ケース③:ソートやフィルタのパラメータ付きURL
ECサイトや求人サイトで「価格順」「新着順」「人気順」などの並べ替え条件がURLパラメータとして付与されるケースです。表示内容はほぼ同じなのに、URLだけが異なるページが大量に生成されます。
パラメータなしのURLをcanonicalで正規URLに指定することで、評価の分散を防ぎます。
ケース④:広告の計測用パラメータが付いたURL
Google広告やSNS広告の効果測定のためにUTMパラメータを付けたURLも、canonicalタグの設定対象です。パラメータ付きURLとパラメータなしのURLでページ内容は同じですが、Googleは別ページとして認識する可能性があります。
ケース⑤:コンテンツを他サイトに配信(シンジケーション)する場合
自社メディアの記事をニュースサイトなどに転載する場合、転載先にcanonicalタグでオリジナル記事のURLを指定してもらうことで、SEO評価がオリジナルに帰属するようにします。これにより、転載先が自社より上位に表示されるリスクを回避できます。
ケース⑥:301リダイレクトが技術的に設定できない場合
本来であれば301リダイレクトで正規化すべきケースでも、サーバーやCMSの制約でリダイレクト設定ができないことがあります。その場合、canonicalタグは代替手段として活用できます。
💡ポイント
canonicalタグはGoogleへの「ヒント」であり、必ずしも指定通りに処理される保証はありません。確実にURLを統一したい場合は、可能な限り301リダイレクトを併用してください。
canonicalタグの書き方(HTML記述方法)
ここでは実際のHTMLコードとして、canonicalタグをどのように記述するかを解説します。
基本の書き方
canonicalタグは、HTMLの<head>タグ内に以下のように記述します。
<link rel="canonical" href="https://example.com/page/">
「href=」の後ろに、正規URLとして指定したいページのURLを記述します。このコードを、重複している側のページの<head>セクションに設置します。
記述時の重要ルールは以下の3つです。
- 必ず<head>タグ内に記述する(<body>内に書くと機能しない)
- URLは絶対パスで記述する(「/page/」ではなく「https://example.com/page/」と書く。Googleの推奨事項)
- 1ページにつきcanonicalタグは1つだけ(複数書くとGoogleが混乱する)
自己参照canonicalとは
自分自身のURLをcanonicalとして指定する「自己参照canonical」も広く推奨されている設定です。たとえば、https://example.com/seo/ というページに、以下のように自分自身のURLを指定します。
<link rel="canonical" href="https://example.com/seo/">
これにより、URLの表記ゆれやパラメータ付きURLで意図せず重複が発生しても、正規URLが常にGoogleに伝わる状態を作れます。特に設定しない理由がなければ、すべてのページに自己参照canonicalを設定しておくのがおすすめです。
HTTPレスポンスヘッダーで指定する方法
PDFファイルや画像ファイルなど、HTML以外のコンテンツにcanonicalを設定したい場合は、HTTPレスポンスヘッダーを使います。
Link: <https://example.com/document/>; rel="canonical"
この方法はサーバー設定の知識が必要ですが、HTMLを編集できないファイルへの対応や、大規模サイトでの一括設定に適しています。
WordPressでのcanonicalタグ設定方法
WordPressを使っている場合、プラグインを利用することで簡単にcanonicalタグを管理できます。
SEOプラグインを使う方法(最も簡単)
代表的なSEOプラグインである「All in One SEO」「Yoast SEO」などをインストールすると、自動で各ページに自己参照canonicalが設定されます。特定のページに別の正規URLを指定したい場合は、記事編集画面のSEO設定欄に正規URLを入力するだけでOKです。
たとえばAll in One SEOの場合は、記事編集画面下部の「詳細設定」タブにある「Canonical URL」欄に、指定したいURLを入力して保存します。
テーマのfunctions.phpやheader.phpで設定する方法
プラグインを使わない場合は、WordPressテーマのheader.phpファイルを編集してcanonicalタグを直接出力することも可能です。ただし、テーマ更新時に上書きされるリスクがあるため、子テーマを作成した上で編集するのが安全です。
初心者の方には、テーマファイルの直接編集よりもSEOプラグインの利用を強くおすすめします。
canonicalタグと301リダイレクトの違い・使い分け
URL正規化の手段として、canonicalタグと301リダイレクトはよく比較されます。両者の違いと使い分けを整理しましょう。
比較項目 | canonicalタグ | 301リダイレクト |
|---|---|---|
仕組み | Googleへの「ヒント」(必ず従うとは限らない) | 自動的にURLを転送(確実に処理される) |
ユーザーの挙動 | 元のページにそのままアクセスできる | 自動的に別URLに転送される |
重複ページの扱い | インデックスは残る(検索結果には正規URLが表示) | 元のURLはインデックスから除外される |
適した場面 | ECのカラバリ、パラメータURL、リダイレクト不可時 | サイト移転、URL変更、ページ統合 |
基本的には301リダイレクトのほうが確実で推奨される方法です。しかし、ECサイトのカラーバリエーションのようにユーザーが両方のページにアクセスできる必要がある場合や、技術的にリダイレクトが設定できない場合にcanonicalタグを使います。
【注意】
サイトのリニューアルやドメイン変更の際にcanonicalタグを使うのはNGです。ユーザーが古いURLに到達してしまい、UXが低下します。URL自体を変更する場合は、必ず301リダイレクトを使用しましょう。
canonicalタグでやりがちな5つの設定ミス
canonicalタグは設定を間違えると逆効果になります。よくあるミスを事前に把握しておきましょう。
ミス①:<body>タグ内に記述してしまう
canonicalタグは必ず<head>タグ内に記述しなければ機能しません。テンプレートの構造を確認し、正しい位置に設置されているか確認しましょう。
ミス②:1ページに複数のcanonicalタグを設定してしまう
プラグインとテーマの両方がcanonicalタグを出力してしまい、1ページに2つのcanonicalが存在するケースがあります。Googleはどちらを信じるべきか判断できず、両方とも無視してしまう可能性があります。ソースコードを確認し、重複がないかチェックしましょう。
ミス③:全ページのcanonicalを同じURLに指定してしまう
一括設定の際に誤って全ページのcanonicalをトップページに指定してしまうケースです。この場合、Googleは「このサイトには1ページしかない」と認識してしまい、他のすべてのページがインデックスから外れる壊滅的な結果になります。
ミス④:相対パスで記述してしまう
canonicalのURLを「/page/」のような相対パスで記述すると、意図通りに処理されないリスクがあります。Googleは絶対パス(https://から始まる完全なURL)での記述を推奨しています。
関連記事:相対パスとは?絶対パスとの違い・書き方・使い分けを図解でやさしく解説
ミス⑤:noindexページをcanonicalの指定先にしてしまう
noindex(検索結果に表示しない設定)がされたページを正規URLとしてcanonicalに指定すると、評価を集約したい先のページ自体がインデックスされないという矛盾が生じます。正規URLには必ずインデックス可能なページを指定しましょう。
よくある質問(FAQ)
Q. canonicalタグは全ページに設定すべきですか?
はい、自己参照canonical(自分自身のURLを指定する)を全ページに設定しておくのが推奨されます。これにより、URLの表記ゆれやパラメータ付与による意図しない重複を予防できます。WordPressのSEOプラグインを使えば自動設定されるので、特別な作業は不要です。
Q. canonicalタグを設定したら、重複ページは削除しなくていいですか?
canonicalタグを設定すれば、Googleの評価は正規URLに集約されます。ただし、canonicalはあくまで「ヒント」であり、100%の保証はありません。不要なページであれば削除や301リダイレクトで対応するほうが確実です。ユーザーがアクセスする必要があるページ(ECのカラバリなど)は、削除せずcanonicalで対応しましょう。
Q. canonicalタグが正しく設定されているか確認する方法は?
ブラウザで対象ページを開き、右クリック→「ページのソースを表示」→Ctrl+F「canonical」で検索すると、設定されているcanonicalタグを確認できます。また、Google Search Consoleの「URL検査」機能でも、Googleが認識している正規URLを確認可能です。
Q. canonicalタグとnoindexタグはどう使い分ければいいですか?
canonicalタグは「正規ページに評価を集約する」目的で使い、重複ページ自体はインデックスに残ります。一方、noindexタグは「このページを検索結果に表示しない」指示です。重複ページにユーザーがアクセスする必要がない場合はnoindex、アクセスさせつつ評価だけ集約したい場合はcanonicalを使いましょう。
Q. 個人ブログでもcanonicalタグは必要ですか?
WordPressでSEOプラグインを使っていれば、自己参照canonicalが自動設定されるため、特別な対応は基本的に不要です。ただし、同じテーマの記事を複数書いてしまった場合や、記事を統合した際には手動でcanonicalを設定するケースがあります。記事数が増えてきたら、canonicalの考え方は知っておいて損はありません。
まとめ:canonicalタグは「SEO評価の交通整理」
この記事のポイントを振り返りましょう。
- canonicalタグとは、重複コンテンツが存在する場合に正規URLを検索エンジンに伝えるHTMLタグ
- 設定が必要なケースはURL表記ゆれ、ECのバリエーションページ、パラメータ付きURL、コンテンツ配信時など
- 記述は<head>タグ内に絶対パスで1つだけ設定するのが鉄則
- WordPressではSEOプラグイン(All in One SEO等)で簡単に設定可能
- 301リダイレクトのほうが確実だが、ユーザーにページを見せ続ける必要がある場合はcanonicalを使う
- 全ページ同一URL指定・<body>内記述・複数タグ設置は絶対に避けるべきミス
canonicalタグは、SEO評価が正しいページに流れるよう「交通整理」をする役割を担っています。設定自体は難しくありませんが、ミスをすると大きなダメージにもなりうるため、この記事の内容を参考に正しく実装してください。



