canonical(カノニカル)タグは、テクニカルSEOにおいて基礎的な内容だが、SEO担当者でもその詳細や具体的な実装方法を理解していないことが多い。
また、技術的な内容だけに、苦手意識をもつ方も多いだろう。
canonicalタグは、検索エンジンに評価してもらうべき正規のURLを伝え、SEO評価の分散を防ぐために重要な役割を果たす。
必須の取り組みではあるが、正しく設定しなければサイトのSEOパフォーマンスが低下するおそれがあるため注意が必要だ。
本記事では、canonicalタグのメリットと具体的な設定方法に加え、よくあるミスや設定時の注意点などを詳しく解説する。
テクニカルSEOに苦手意識がある方も、ぜひ安心して読み進めていただきたい。
1. canonicalタグとは
まずは、canonicalタグの概要と、混同されやすい「301リダイレクト」との違いについてみていこう。
1.1. canonicalタグとは
canonicalタグとは、検索エンジンに対して「このページの正規(canonical)URLはどれか」を明示するためのHTMLタグだ。
主に重複コンテンツによるSEO評価の分散を防ぐ役割をもつ。
例えば、WebサイトのURLにパラメータ(例:「?utm_source=newsletter&utm_medium=email」)が付与されると、同じ内容のページが複数の異なるURLで存在することになる。
この場合、検索エンジンは各URLのページを重複コンテンツとして判断し、サイトの評価が下がったり、SEO評価が分散したりするおそれがある。
このような状態を回避するのが「canonicalタグ」だ。
canonicalタグを設定すると、同じページでやむを得ず複数のURLが存在する場合に「このページを正規のものとし、評価の対象としてください」という指示を出せる。
1.2. canonicalタグと301リダイレクトの違い
canonicalタグと301リダイレクトは、どちらも検索エンジンに対して正規のURLを指定する「URL正規化」の手段だが、その目的や動作には明確な違いがある。
基本的な違い
- canonicalタグ
検索エンジンに対して正規のURLを伝える役割があるが、ユーザーの画面上では変わらず、パラメータなどがついた正規以外のURLにもアクセスできる。
canonicalタグを設定したとしても、ユーザーによる操作やユーザーからの見た目は何も変わらない。
つまり、企業側のSEO対策のための施策といえる。 - 301リダイレクト
ユーザーや検索エンジンが正規以外のURL以外にアクセスした際、指定したURLへ強制的に転送する仕組みだ。
元のページにはアクセスできなくなり、機能していないURLや移転前のURLへのアクセスを防げるため、ユーザビリティの改善にも影響する点がcanonicalタグとは異なる。
具体的な使い分け
項目 | canonicalタグ | 301リダイレクト |
目的 | SEO評価の統一(重複コンテンツ対策) | URLの完全な統合(URLの変更やサイト移転) |
ユーザー側の挙動 | 変化なし(ページURLはそのまま) | 指定したURLへ自動転送される |
検索エンジンの動作 | 正規URLとして評価を統一するが、重複ページもインデックスされる可能性あり | 元のURLをインデックスから削除し、新しいURLに評価を移す |
使用例 | 企業のサービスページで異なるURLが存在する場合 | 製品名変更やサイトリニューアルなどに伴い、旧URLを新URLに統合する場合 |
301リダイレクトについて詳しくは以下の記事で解説しているので、併せて参照いただきたい。
2. canonicalタグの重要性とBtoB企業にとってのメリット
canonicalタグは、検索エンジンに正規のURLを指定し、SEO評価を統一するために重要な役割を果たす。
BtoB企業において、canonicalタグを設定するメリットは以下のとおりだ。
2.1. 重複コンテンツによるSEO評価の分散を防ぐ
WebサイトにURLのバリエーション(例:パラメータ付きURL、トラッキング用URL、CMSの自動生成ページなど)が存在すると、検索エンジンが「同じ内容のページが複数ある」と判断し、ページ評価が分散してしまうリスクがある。
特にBtoB企業のマーケティングでは、ホワイトペーパーやウェビナーのランディングページへの被リンク、UTMパラメータ付きの広告リンクなど、複数の経路から同じコンテンツに誘導するケースが多い。
こうした施策では、おのずとURLのバリエーションが増えがちだ。
canonicalタグを設定すれば、SEO評価を正規URLに統一し、検索順位の低下を防ぐことができる。
例:
- ランディングページへの被リンクが「https://example.com/software」「https://example.com/software/index.html」「https://www.example.com/software」など複数のURLに分散している。
- Google広告で配信したホワイトペーパーのランディングページが「https://example.com/whitepaper」と「https://example.com/whitepaper?utm_source=googlead」のように異なる。
2.2. 長期的なSEO価値を維持できる
BtoB企業では、業界知識や技術解説などの専門的なコンテンツがSEOの柱となる。
こうしたBtoBのコンテンツは、ブログやホワイトペーパーといった形で長期間にわたって多くの人に参照されうる資産となるため、URLを正規化して検索順位を保つことが重要だ。
例:
ブログやホワイトペーパーのURLが「https://example.com/blog/canonical-tag」と「https://example.com/blog/canonical-tag?source=linkedin」のように異なる場合、canonicalタグを設定すれば、検索エンジンが1つのURLを評価対象として扱い、長期的にSEO価値が蓄積していく。
2.3. 製品名変更やWebサイト統合時のSEO対策
BtoB企業では、製品の名称変更、企業の合併・買収(M&A)、Webサイトの統合など、大きな変化が起こりやすい。
その際、すべてのページをリダイレクト(301)するとトラフィックの管理が難しくなるため、一部のURLはcanonicalタグを使って統一することが有効だ。
例:
ある企業がM&Aによって「https://oldcompany.com/solutions」のコンテンツを「https://newcompany.com/solutions」に統合する場合、一時的にcanonicalタグを利用してSEO評価を統一し、アクセス状況を見ながら301リダイレクトに移行する。
3. canonicalタグを設定するべきケース
それでは、canonicalタグはどのような場合に設定する必要があるのだろうか。主なケースを8つみていこう。
- Webサイトのシステムにより重複URLが自動生成されてしまう場合
- PCとスマートフォンでURLが異なる場合
- コンテンツシンジケーションを行う場合
- AMPページを作成している場合
- ABテストを実施する場合
- URL表記に違いがある場合
- 国や地域でURLが異なる場合
- 自己参照canonicalとして設定する場合
ケース1. Webサイトのシステムにより重複URLが自動生成されてしまう場合
CMSやECサイト、検索機能を備えたWebサイトでは、パラメータの違いやページ遷移によって、同じ内容のページが複数生成されることがある。
このような場合、canonicalタグを設定しなければ、検索エンジンが別々のページと判断し、SEO評価が分散するおそれがある。
(例)
https://example.com/products
https://example.com/products?category=software
https://example.com/products?sort=price
上記のようにURLが異なっても、ページの主要コンテンツが同じ場合は、https://example.com/products を正規URLとしてcanonicalタグを設定する。
ケース2. PCとスマートフォンでURLが異なる場合
PC版とスマホ版のWebサイトを別々のURLで提供している場合、両サイトのコンテンツがほぼ同一であるため、検索エンジンが重複ページとして認識してしまう可能性がある。
この場合、PC版のURLを正規URLとしてcanonicalタグを設定し、スマホ版ではrel=”alternate”を使って検索エンジンに正しく伝える。
(例)
PC版:https://example.com/service
スマホ版:https://m.example.com/service
→ <link rel=”canonical” href=”https://example.com/service”> をスマホ版のページに設定する。
ケース3. コンテンツシンジケーションを行う場合
コンテンツシンジケーションとは、自社で制作した記事やホワイトペーパーなどのコンテンツを、ほかのWebサイト(提携メディア、業界ポータルサイト、ニュースサイトなど)にも掲載してもらう仕組みを指す。
シンジケーションを行うと、複数のサイトに同じコンテンツが掲載されるため、検索エンジンがどのページを「オリジナル」と認識すべきかを判断できず、SEO評価が分散する可能性がある。
この問題を防ぐためには、提携メディア側でcanonicalタグを設定し、オリジナルのURLを正規URLとして指定してもらうことが重要だ。
(例)
企業Aが、自社のオウンドメディア「Tech Insights」にSEO記事を掲載。
オリジナル記事URL: https://techinsights.com/big-data-trends-2025
業界の大手ニュースメディア「IT News」が、この記事を転載し、自社サイトでも公開。
転載記事URL: https://itnews.com/big-data-trends-2025
このとき、IT News側で以下のようなcanonicalタグを設定することで、検索エンジンに「元の記事はTech Insightsにある」と伝えられる。
<link rel=”canonical” href=” https://techinsights.com/big-data-trends-2025″>
ケース4. AMPページを作成している場合
AMP(Accelerated Mobile Pages)とは、モバイル向けに高速表示を実現するためのHTMLフレームワークであり、AMP版と通常版のページが別々のURLで存在することになる。
この場合、通常版のURLを正規URLとして指定する。
(例)
通常ページ:https://example.com/article
AMPページ:https://example.com/article/amp
→ AMPページに <link rel=”canonical” href=”https://example.com/article”> を設定する。
ケース5. ABテストを実施する場合
異なるデザインやコンテンツのバリエーションをテストするABテストでは、異なるURLで同じコンテンツが提供されることがある。
この場合、検索エンジンが重複ページと判断しないよう、すべてのテストページでオリジナルのURLを正規URLとして指定する。
(例)
オリジナルページ:https://example.com/landing
テストページA:https://example.com/landing?variant=A
テストページB:https://example.com/landing?variant=B
→ 各テストページに <link rel=”canonical” href=”https://example.com/landing”> を設定する。
ケース6. URL表記に違いがある場合
同じコンテンツが「wwwの有無」「httpとhttps」「末尾のスラッシュの有無」などで異なるURLとしてアクセスできる場合、検索エンジンが別のページと認識しないよう、正規のURLを指定する。
(例)
https://www.example.com/page
https://example.com/page/
http://example.com/page
→ すべてのページに <link rel=”canonical” href=”https://example.com/page”> を設定する。
ケース7. 国や地域でURLが異なる場合
グローバル展開する企業が、異なる言語や地域ごとに別のURLを持つ場合、同じ言語のページが複数のURLで存在すると、検索エンジンが評価を分散させる可能性がある。
そのため、正規のURLを指定する必要がある。
(例)
日本向け:https://example.com/jp/service
アメリカ向け(同じ言語):https://example.com/us/service
→ 日本向けページに <link rel=”canonical” href=”https://example.com/jp/service”> を設定する。
ケース8. 自己参照canonicalとして設定する場合
自己参照canonicalとは、そのページ自身を正規のURL(canonical)として指定することだ。
WebページはSNSなどで共有されると、管理者側にも把握しきれないパラメータがURLに付くことがある。
そのようなURLが重複コンテンツとして検索エンジンに認識されるのを防ぐため、自己参照canonicalを設定することで「このページの正規URLはXXXです」と検索エンジンに明示できる。
(例)
https://example.com/about-us のページに <link rel=”canonical” href=”https://example.com/about-us”> を設定する。
4. canonicalタグの設定が不要なケースとは?
反対に、canonicalタグの設定が必要ないケースもある。
- 完全に異なるコンテンツのページ
- 301リダイレクトの方が適しているページ
- hreflangタグを使用している多言語サイト
- インデックスさせたくないページ
不要であるにもかかわらずcanonicalタグを設定してしまうと、SEOにおいて逆効果となるおそれがあるため注意してほしい。
不要なケース1. 完全に異なるコンテンツのページ
canonicalタグは、類似または重複するページの評価を統一するためのものであり、内容が完全に異なるページには設定する必要がない。
異なるトピックや異なるターゲットを持つページにcanonicalタグを設定すると、検索エンジンが本来別々に評価すべきページを1つのページとして扱ってしまうリスクがある。
不要なケース2. 301リダイレクトの方が適しているページ
複数のURLを完全に統合したい場合や、古いURL・不要なURLへのアクセスを止めたい場合には、canonicalタグではなく301リダイレクトが適している。
301リダイレクトにも、SEO評価を集中させる効果はあるため安心してほしい。
301リダイレクトは、ユーザーと検索エンジンの両方を新しいURLへ強制的に転送する処理だ。
リダイレクト元のページはインデックスされなくなり、評価も自動的に新URLへ引き継がれる。
よって、301リダイレクトとcanonicalタグの重複設定は推奨されない。
不要なケース3. hreflangタグを使用している多言語サイト
多言語対応サイトでは、同じコンテンツを異なる言語で提供するため、言語ごとのURLを検索エンジンが適切に認識できるようにすることが重要だ。
canonicalタグを使用すると、検索エンジンがほかの言語ページを無視してしまう可能性があるため、代わりにhreflangタグを使用しよう。
不要なケース4. インデックスさせたくないページ(noindexを設定する場合)
canonicalタグは検索エンジンに「このページを正規URLとして扱ってほしい」と伝えるものであり、検索エンジンがインデックス対象から除外するとは限らない。
そのため、そもそもインデックスさせたくないページの場合はcanonicalタグではなくnoindexタグを使うべきだ。
5. canonicalタグの書き方・設定方法
canonicalタグの設定方法には、HTMLに直接記載する方法と、CMSのプラグインを使う方法の2つがある。
どちらの方法が適しているかは、以下を参考にしてほしい。
- HTMLに直接記述:静的サイトを運営している人、またはHTML/CSSの編集が可能な人
- CMSのプラグイン:CMSでサイトを運営している人、コード編集に自信がない人
それぞれの具体的な設定方法について解説する。
5.1. HTMLに直接記載する方法
静的なWebサイトや、エンジニアが常駐していてカスタマイズが可能な環境では、<head> 内に直接canonicalタグを記述することで設定できる。
これは、HTMLファイルを手動で編集できる場合に適した方法だ。
手順
- HTMLファイルを開く(対象ページの .html または .php ファイル)
- <head> セクション内に以下「記述例」のコードを追加する
- 保存してアップロードする
記述例
<head>
<title>サービス紹介 | Example社</title>
<link rel=”canonical” href=”https://example.com/service”>
</head>
このコードにより、検索エンジンは 「https://example.com/service が正規のURLである」 と認識する。
ポイント
- <head> 内に記述すること(<body> 内には記述しない)
- URLは必ず絶対パス(https://example.com/… の形式)で記載する
5.2. CMSのプラグインを使って設定する方法
Webページの管理にWordPressなどのCMS(コンテンツ管理システム)を使用している場合、HTMLを直接編集しなくても、SEOプラグインを使えば簡単にcanonicalタグを設定できる。
WordPressでよく使用されるプラグインは以下のとおりだ。
- Yoast SEO
- All in One SEO Pack
- Rank Math
ここでは、利用者数が特に多い「Yoast SEO」 を例に、設定方法を説明する。
手順
ステップ1. WordPressに「Yoast SEO」プラグインをインストール
- WordPress管理画面にログイン
- 左側のメニューから「プラグイン」→「新規追加」をクリック
- 検索バーに「Yoast SEO」と入力し、表示されたプラグインを「今すぐインストール」
- インストール完了後に「有効化」
ステップ2. ページごとにcanonicalタグを設定する
- WordPress管理画面で「投稿」または「固定ページ」を開く
- 編集画面の下にスクロールすると「Yoast SEO」メタボックスが表示される
- 「詳細設定」タブを開く(⚙マーク)
- 「canonical URL」欄に正規URLを入力
例:https://example.com/service
- 「更新」または「公開」ボタンを押して保存
ポイント
- Yoast SEOは投稿・固定ページごとにcanonicalを設定できるため、個別に管理しやすい
- 自動的にcanonicalタグを設定する機能もある(手動で変更しない限り、記事のURLがそのままcanonicalとして設定される)
- ページごとに異なるURLを指定したい場合は、手動での設定が推奨される
6. canonicalタグが設定されているか確認する方法
canonicalタグが正しく設定されているかを確認するには、Googleサーチコンソール(Google Search Console)を活用するのが最も確実な方法だ。
サーチコンソールを使うことで、検索エンジンがどのURLを正規URLとして認識しているかをチェックできる。
以下で、その手順を解説する。
手順
- Google Search Console にログインし、 確認したいWebサイトのプロパティを選択する
- サーチコンソールの管理画面で左側のメニューから「URL検査」をクリック
- 上部の検索バーに、canonicalタグを確認したいページのURLを入力し、Enterキーを押す
- 「ページのインデックス登録」のセクションを開き、「インデックス作成」の項目を確認する
- 「ユーザーが指定した正規URL」と「Googleが選択した正規URL」が同一であれば、URL正規化が問題なく行えている
7. canonicalタグを設定する際の注意点
最後に、canonicalタグを設定する際に気をつけたい注意点を理解しておこう。
注意点1. 正確にURLを記述する
canonicalタグで指定するURLが間違っていると、検索エンジンが意図しないページを正規ページと認識するため、SEO評価が分散したり、検索結果から正しいページが除外されたりするおそれがある。
以下に、よくあるミスを紹介するため、記述を間違えないよう十分に注意してほしい。
【よくあるミス】
- スペルミスや不要な文字を含める
- 間違ったディレクトリを指定する
- URLをエンコード(%エンコーディング)していない
(日本語や特殊文字を含むURLをそのまま記載するのはNG。例えば https://example.com/製品紹介 のようなURLをそのまま指定すると、検索エンジンが正しく解釈できないことがある。)
注意点2. 複数ページあるコンテンツの1ページ目を正規URLにしない
記事や一覧ページが「1ページ目」「2ページ目」「3ページ目」…と分かれている場合は、ページごとに固有の正規URL(canonical)を設定することが重要だ。
1ページ目だけを正規URLとして指定すると、2ページ目以降の内容が1ページ目の重複コンテンツと判断され、SEO評価を得られなくなるリスクがある。
例えば、1〜3ページのページネーションがある場合の例をみてみよう。
記事一覧ページが、以下のように分かれているとする。
- 1ページ目:https://example.com/articles?page=1
- 2ページ目:https://example.com/articles?page=2
- 3ページ目:https://example.com/articles?page=3
この場合、すべてのページで1ページ目を正規URLとするのではなく、各ページの固有のURLを正規URLとして指定する必要がある。
<div class=”box3”>
(誤ったcanonicaタグの記述方法)
1ページ目の<head>内:
<link rel=”canonical” href=”https://example.com/articles?page=1″ />
2ページ目の<head>内:
<link rel=”canonical” href=”https://example.com/articles?page=1″ />
3ページ目の<head>内:
<link rel=”canonical” href=”https://example.com/articles?page=1″ />
(正しいcanonicaタグの記述方法)
1ページ目の<head>内:
<link rel=”canonical” href=”https://example.com/articles?page=1″ />
2ページ目の<head>内:
<link rel=”canonical” href=”https://example.com/articles?page=2″ />
3ページ目の<head>内:
<link rel=”canonical” href=”https://example.com/articles?page=3″ />
</div>
注意点3. URLは絶対パスで指定する
canonicalタグでは、URLを絶対パスで指定する必要がある。
絶対パスとは、http://またはhttps://から始まる完全な形式のURLだ。
「…href=”/service”」のような相対パスで指定すると、検索エンジンが正しいページを認識できないことがある。
注意点4. 1ページに複数のcanonicalタグを設定しない
1つのページに複数のcanonicalタグがあると、検索エンジンがどのURLを正規URLとして認識すべきか判断できなくなり、意図しないページがインデックスされる可能性がある。
WordPressのプラグインを使用する場合は、自動設定と手動設定が競合しないように注意しよう。
注意点5. 301リダイレクトと重複させない
前述したように、canonicalタグと301リダイレクトは混同されやすい設定だが、重複させないことが重要だ。
301リダイレクトは「このページは完全に新しいURLへ移動した」という指示を指す。
canonicalタグは「このページは残るが、SEO評価は別のURLに渡したい」という指示だ。
相反する指示となるため、両者を重複してページに設定すると、検索エンジンがどちらを優先すべきか迷い、インデックスの処理が適切に行われない可能性がある。
8. まとめ
canonicalタグは、検索エンジンに正規URLを伝え、重複コンテンツによるSEO評価の分散を防ぐための重要な仕組みだ。
適切に設定すれば検索順位の安定化や評価の統一が可能だが、301リダイレクトとの使い分けや記述ミスの注意など、留意すべき点もある。
本記事を参考にしてcanonicalタグを正しく設定し、WebサイトのSEO評価を最適化してほしい。
また、当社ではBtoBのIT企業向けにSEOコンサルティングを提供している。
お困りのことがあれば、ぜひお気軽にご相談いただきたい。