canonicalタグは、同じ内容またはよく似た内容が複数のURLで表示されるときに、検索エンジンへ「代表として扱ってほしいURL」を伝えるための設定です。URLパラメータ、印刷用ページ、複数のカテゴリから表示される同一コンテンツなどで役立ちます。
ただし、canonicalタグはGoogleに対する強いヒントであり強制ではありません。URLを完全に移転するなら301リダイレクト、検索結果から除外するならnoindexを使うなど、目的に応じて手段を分ける必要があります。
この記事では、canonicalタグが必要なケース、HTMLでの書き方、WordPressでの確認方法、Google Search Consoleで設定ミスを見つける手順を、実務で確認しやすい順に解説します。
canonicalタグとは?必要なケースと書き方を先に確認
canonicalタグは、重複または類似するページ群の中から、検索エンジンに優先して評価・インデックスしてほしい正規URLを示すHTML要素です。たとえば、計測用パラメータが付いたURLと通常URLでページ内容が同じなら、通常URLを正規URLとして指定します。
重複ページのシグナルを代表URLへ集めたい場合に使うもので、検索順位を直接上げるためだけに設定するものではありません。Googleはcanonicalのほか、リダイレクト、サイトマップ、内部リンクなどを総合して、どのURLを正規URLとして扱うかを判断します。
出典:Google Search Central「How to Specify a Canonical with rel="canonical" and Other Methods」
HTMLでは、対象ページの<head>内に次のように記述します。
<link rel="canonical" href="https://example.com/page/">
hrefには、正規URLとして扱いたい完全なURLを指定します。canonicalを設定しても必ず採用されるわけではありません。指定先がリダイレクトやnoindexになっている、ページ内容が大きく異なる、内部リンクが別URLを指しているといった矛盾があると、Googleが別のURLを選ぶことがあります。
canonicalタグを設定する主なケース
canonicalを検討しやすいのは、URLは違ってもユーザーに見せる主要な内容が実質的に同じケースです。URLが異なるだけで、必ずcanonicalが必要になるわけではありません。
| 状況 | 基本的な考え方 |
|---|---|
| 計測用パラメータ付きURL | 内容が同じなら、パラメータなしの通常URLを正規URLに指定します。 |
| 並び替えURL | 商品・記事が同じで並び順だけが異なるなら、基本URLへのcanonicalを検討します。 |
| 印刷用ページ | 通常ページと内容がほぼ同じなら、通常ページを正規URLに指定します。 |
| 同一内容の別カテゴリURL | 同じ記事や商品が複数URLで表示されるなら、代表URLを決めます。 |
| http/https・wwwあり/なし | canonicalだけに頼らず、リダイレクトを中心に一つのURL形式へ統一します。 |
一方、絞り込みページや検索結果ページには、独自の一覧として検索者に役立つ場合があります。表示内容が大きく異なり、個別に検索流入を得る価値があるページを親ページへ一律にcanonical指定すると、そのページが正規URLとして扱われにくくなる可能性があります。
canonicalタグだけでは解決しないケース
canonicalは複数URLを残したまま代表URLの候補を伝える方法です。旧URLを廃止して訪問者も新URLへ移したい場合や、検索結果に出したくない場合には、目的に合う別の方法を選びます。
- サイト移転やURL変更により、旧URLを使わなくなる場合
- httpからhttpsへ恒久的に統一する場合
- wwwあり・なしを一方の形式へ統一する場合
- 問い合わせ完了画面や管理画面などを検索結果から除外したい場合
- 内容が大きく異なるページを無理に一つへ集約したい場合
URLを廃止するなら301リダイレクトを優先します。検索結果から除外する目的ならnoindexを検討してください。内容が大きく異なるページへのcanonicalは、Googleに採用されない可能性が高く、ユーザーにとっても不自然です。
canonicalタグの正しい書き方と基本ルール
canonicalタグは、重複・類似URLだけでなく、正規URLのページ自身にも設定します。正規ページが自分自身を指す設定は「自己参照canonical」と呼ばれ、URL表記の揺れを減らすためにも有効です。
各ページから最終的な正規URLを直接指定します。AのcanonicalがBを指し、BがさらにCを指すようなチェーンは避け、正規URLがCならAとBの両方からCを指定する方針が分かりやすくなります。
出典:Google Search Central「How to Specify a Canonical with rel="canonical" and Other Methods」
- 1ページにつきcanonicalタグは原則として1つにする
<head>内に記述する- 相対URLではなく絶対URLを使う
- https、wwwあり・なし、末尾スラッシュなどの表記を統一する
- 指定先はHTTPステータスコード200で表示できるURLにする
- 指定先をnoindex、robots.txtによるクロール制限、別URLへのリダイレクトにしない
- 指定元と指定先の主要コンテンツが同一または十分に類似していることを確認する
Googleは相対URLを解釈できる場合もありますが、URLの解釈違いやテスト環境のURL混入を避けるため、絶対URLの使用が安全です。また、HTMLのcanonicalはhead内に置く必要があります。
出典:Google Search Central「How to Specify a Canonical with rel="canonical" and Other Methods」
自己参照canonicalとパラメータURLの記述例
記事の正式URLがhttps://example.com/canonical-tag/である場合、正規ページには次のように自分自身を指定します。
<head>
<link rel="canonical" href="https://example.com/canonical-tag/">
</head>
広告計測用にhttps://example.com/canonical-tag/?utm_source=newsletterへアクセスされた場合も、表示内容が同じならcanonicalの指定先は同じ正式URLです。表示中のパラメータURLではなく代表URLを記述してください。
正規URLに選ぶページの条件
正規URLの指定先は、検索エンジンとユーザーの双方が問題なく利用できる公開ページである必要があります。単にURLを指定するだけでなく、サイト内の他の設定と整合させることが重要です。
- HTTPステータスコード200で応答する
- noindexが設定されていない
- robots.txtでクロールを妨げていない
- 別URLへリダイレクトしていない
- 内部リンクとXMLサイトマップが同じURL形式を使っている
- 多言語サイトではhreflangの指定方針とも矛盾していない
robots.txtでページをブロックすると、Googleはそのページをクロールできず、ページ内のrobots metaタグなども確認できません。noindexをGoogleに認識させたいページまでrobots.txtで遮断しないよう注意してください。
出典:Google Search Central「Robots Meta Tags Specifications」
canonical・301リダイレクト・noindexの使い分け
canonical、301リダイレクト、noindexは、いずれもURLやインデックスを整理する際に使いますが、解決する問題は異なります。「複数URLを残すか」「訪問者も移動させるか」「検索結果から除外するか」で選んでください。
| 目的 | 主な方法 | 向いているケース |
|---|---|---|
| 類似URLの評価を代表URLへ集めたい | canonical | パラメータURL、印刷用ページ、並び替えページ |
| 旧URLを廃止し、新URLへ完全に移したい | 301リダイレクト | URL変更、サイト移転、httpからhttpsへの移行 |
| 検索結果に表示させたくない | noindex | サンクスページ、サイト内検索結果、管理用ページ |
SEO対策としてではなく運用目的で選ぶことが大切です。旧URLを今後も利用者に表示する必要がない場合は、canonicalだけを置くより、旧URLから対応する新URLへの301リダイレクトを検討するほうが明確です。
出典:Google Search Central「How to Specify a Canonical with rel="canonical" and Other Methods」
301リダイレクトを優先するケース
301リダイレクトを優先するのは、旧URLを廃止し、新URLのみを正式な公開先にするケースです。訪問者を新URLへ案内でき、検索エンジンにもURL変更の意思を伝えられます。
たとえばhttp://example.com/をhttps://example.com/へ統一するなら、http側からhttps側へ恒久的なリダイレクトを設定します。そのうえで、新URLのcanonical、内部リンク、XMLサイトマップもhttpsのURLへそろえます。
GoogleのURL変更を伴うサイト移転ガイドでは、対応する新URLへのリダイレクト実装と、新サイト側でcanonicalが新URLを指していることの確認が案内されています。関係のないURLを一律にトップページへ転送する運用は避けてください。
出典:Google Search Central「Site Moves and Migrations」
noindexを検討するケースと注意点
noindexは、そのページをGoogle検索結果に表示させないための指定です。問い合わせ完了ページ、会員専用ページ、サイト内検索結果など、検索流入を受ける必要がないページで検討します。
canonicalは代表ページの候補を示す指定、noindexはページをインデックス対象から外す指定です。同じページに両方を設定すると意図が衝突しやすいため、目的を整理してから設定してください。不要ページの除外目的でcanonicalを使わないことが基本です。
Googleは、canonical選択のためにnoindexを利用することを推奨していません。重複ページの正規化と、検索結果からの除外は別の問題として扱います。
出典:Google Search Central「How to Specify a Canonical with rel="canonical" and Other Methods」
ケース別:canonicalを設定するか判断する方法
canonicalの判断では、URLが異なることだけを基準にしません。ページ内容の重複度、複数URLを残す必要性、利用者をどこへ案内したいかを確認して決めます。
http/https・wwwあり/なし・末尾スラッシュのURL揺れ
httpとhttps、wwwあり・なし、末尾スラッシュあり・なしのように、同じサイトが複数形式で表示できる状態は、リダイレクトで代表URLへ統一するのが基本です。canonicalは、その統一方針を補強する役割としてそろえます。
canonical、内部リンク、パンくず、XMLサイトマップ、構造化データ内のURL、hreflangを同じ形式に統一してください。GoogleはURLの大文字・小文字を区別して扱うため、URL表記のルールを定めて一貫して運用することも重要です。
出典:Google Search Central「URL Structure Best Practices for Google Search」
URLパラメータ、絞り込み、並び替えページ
UTMパラメータや広告クリック識別子のように、ページ内容を変えないパラメータURLは、通常URLを正規URLに指定しやすいケースです。たとえば?utm_source=mailが付くだけなら、パラメータなしのURLへのcanonicalを検討できます。
ただし、絞り込み条件で表示商品が大きく変わるページは個別に判断します。「赤いワンピース」の一覧のように検索者に固有の価値があるページを親カテゴリへcanonical指定すると、その一覧ページを検索対象として残す方針と矛盾することがあります。内容が変わるURLを一律に重複扱いしないでください。
ページネーション、印刷用ページ、類似商品ページ
ページネーションでは、2ページ目以降をすべて1ページ目へcanonical指定することは通常おすすめできません。2ページ目以降にしかない商品や記事があるなら、ページ内容は同一ではないためです。多くの場合、各ページに自己参照canonicalを設定し、ページ送りリンクを適切に設置します。
印刷用ページは通常ページと内容がほぼ同じなら通常ページを正規URLにできます。一方、色違い・サイズ違いなどの類似商品ページは、在庫、価格、説明、画像、選択肢が異なり、個別に探す価値があることもあります。商品ページを機械的に一つへ統合しないことが重要です。
WordPressでcanonicalタグを設定・確認する方法
WordPressでは、WordPressコア、テーマ、SEOプラグインのいずれかがcanonicalタグを自動出力していることがあります。コードを追加する前に、公開ページのソースコードを確認して、既存の出力状況を把握してください。
WordPressには、単一ページでcanonicalを出力するためのrel_canonical()関数があります。ただしテーマやSEOプラグインが独自にcanonicalを出力する構成もあるため、実際のページソースを確認することが欠かせません。
出典:WordPress Developer Resources「rel_canonical()」
設定前にテーマとSEOプラグインの出力を確認する
確認したい投稿または固定ページをブラウザで開き、「ページのソースを表示」からrel="canonical"を検索します。ブラウザの開発者ツールで表示するDOMではなく、配信されたHTMLソースも確認すると、サーバー側の出力を把握しやすくなります。
- canonicalタグが1つだけか
- タグがhead内にあるか
hrefが想定した正規URLか- https、ドメイン、末尾スラッシュの表記が統一されているか
- テーマ機能と複数のSEOプラグインで重複出力していないか
functions.phpへ追加する前に既存タグを確認してください。すでにcanonicalがある状態で別のcanonicalを追加すると、検索エンジンへ伝える意図が不明確になります。
投稿・固定ページで個別URLを指定する際の注意点
SEOプラグインによっては、投稿や固定ページごとにcanonical URLを入力できる機能があります。この機能を使う場合も、通常の正規ページには自己参照canonicalを設定し、明確な重複・類似ページに限って別URLを指定する考え方が基本です。
指定先が公開中でHTTP 200を返すこと、noindexではないこと、内容が重複または十分に類似していることを確認してください。設定画面の名称や場所は、テーマ・プラグインの種類やバージョンで異なります。画面上の項目名だけで判断せず、使用製品の公式ドキュメントも確認しましょう。
canonicalタグの設定ミスを確認する手順
canonicalの確認は、HTMLタグを見るだけでは終わりません。ページ上の指定、Googleが選んだ正規URL、サイト全体のURL統一状況を順に確認すると、設定ミスやGoogleとの判断の不一致を見つけやすくなります。
ページソースでcanonicalが1つだけか確認する
まず、ブラウザのページソースでrel="canonical"を検索します。正規URLだけでなく、パラメータ付きURL、別カテゴリで表示されるURLなども確認対象にしてください。
- canonicalタグが2つ以上ある
hrefが404ページ、リダイレクトURL、テスト環境、旧ドメインを指している- 内容が異なる記事・商品ページを指している
- head外に出力されている
- 正規URLの表記がサイト内のURLルールと異なる
PDFなどHTML以外のファイルでは、HTTPレスポンスヘッダーのLinkでcanonicalを指定できます。HTMLタグとHTTPヘッダーの両方で異なるURLを指定すると管理上の矛盾になるため、同一対象に複数方式を使う場合は指定先を必ず一致させます。
出典:Google Search Central「How to Specify a Canonical with rel="canonical" and Other Methods」
Google Search ConsoleのURL検査でGoogleの判断を確認する
次に、Google Search ConsoleのURL検査ツールで対象URLを確認します。インデックス情報の「ユーザーが指定した正規URL」と「Google が選択した正規URL」を比較してください。
両者の一致は方針が伝わっている目安です。不一致の場合は、指定元と指定先の内容の類似性、指定先のインデックス可否、内部リンク・サイトマップの向き先、canonicalチェーン、リダイレクトやnoindexの有無を見直します。
URL検査で表示される情報は、Googleが取得・処理したデータに基づきます。修正直後に結果が変わるとは限らないため、必要に応じて再クロールをリクエストし、処理時間を置いて確認してください。
出典:Google Search Console ヘルプ「URL Inspection Tool」
サイトマップ・内部リンク・リダイレクトとの不一致を点検する
canonicalが正しくても、ほかのシグナルが別URLを指していると、正規化方針が伝わりにくくなります。サイト全体で正規URLを一貫して使えているかを確認してください。
- XMLサイトマップには正規URLだけを掲載する
- メニュー、パンくず、関連記事、本文中のリンクを正規URLへ向ける
- リダイレクト先とcanonicalのURL形式を一致させる
- 構造化データ内のURLも正規URLに統一する
- 多言語サイトではcanonicalとhreflangの言語・地域設定を整合させる
Googleは、リダイレクトとcanonicalを正規URLの判断における強いシグナル、サイトマップへの掲載を弱いシグナルとして案内しています。複数のシグナルを同じURLへそろえることが重要です。
出典:Google Search Central「How to Specify a Canonical with rel="canonical" and Other Methods」
Googleにcanonicalが採用されない主な原因と修正方法
canonicalを設定してもGoogleが別URLを正規として選ぶ場合は、タグの有無だけでなく、指定先の状態、ページ内容、サイト内シグナルの整合性を確認します。Googleの正規URL選択は複数の情報に基づく判断です。
指定先がエラー・リダイレクト・noindex・クロール制限になっている
canonicalの指定先が404や5xxエラー、リダイレクト、noindex、robots.txtによるクロール制限の状態では、正規URL候補として適切ではありません。正規URLにしたいページは、ユーザーと検索エンジンがアクセスできる公開URLに修正します。
特にrobots.txtでブロックされたページでは、Googleはページ内のnoindexを確認できません。検索結果から除外したいページにnoindexを用いる場合は、その指示をGooglebotが取得できる状態にする必要があります。
出典:Google Search Central「Robots Meta Tags Specifications」
複数canonical・canonicalチェーン・相互指定がある
1ページ内に複数のcanonicalがある、A→B→Cのcanonicalチェーンになっている、A→BかつB→Aの相互指定があると、正規化の意図が曖昧になります。各ページから最終的な正規URLを直接指定してください。
たとえばパラメータURL Aと通常URL Bを、最終的な正規URL Cへ集約するなら、AとBのcanonicalはいずれもCを指す構成にします。中間URLを経由させない設計が管理しやすいためです。
ページ内容やサイト内シグナルが方針と矛盾している
指定元と指定先の内容が大きく異なる場合、Googleはcanonicalを採用しないことがあります。別商品、別地域向けページ、異なる一覧結果、主要コンテンツが大きく異なる記事を一つのURLへ正規化するのは適切ではありません。
また、canonicalがAを指す一方で、内部リンク・サイトマップ・構造化データがBを指している場合も、サイトの方針が伝わりにくくなります。Search Consoleで不一致を確認したら、現在のURL、ユーザー指定の正規URL、Google選択の正規URLを並べ、表示内容と各設定を比較してください。
出典:Google Search Console ヘルプ「Page indexing report」
canonicalタグ設定後のチェックリスト
canonicalの変更は、インデックス状況や検索流入の着地先に影響することがあります。本番環境へ反映する前にバックアップを取り、可能であれば検証環境で表示、リダイレクト、タグ出力を確認してください。
- サイトの正規URLルールを決めたか
- canonicalタグが各ページに1つだけあるか
- canonicalがhead内にあり、絶対URLで記述されているか
- 正規URLがHTTP 200で表示できるか
- 正規URLにnoindexやrobots.txtのクロール制限がないか
- 旧URLを廃止する場合、対応する新URLへ301リダイレクトしたか
- 内部リンク、XMLサイトマップ、構造化データのURLを統一したか
- Google Search Consoleでユーザー指定とGoogle選択の正規URLを確認したか
- 変更後に重要ページの表示、アクセス解析、エラー状況を確認したか
タグ単体ではなくURL運用全体を点検することで、canonicalの意図を検索エンジンへ伝えやすくなります。
まとめ:canonicalは正規URLを一貫して示すための設定
canonicalタグは、重複・類似するURLがあるときに、検索エンジンへ優先して扱ってほしい正規URLを伝える設定です。パラメータURLや印刷用ページなど、複数URLを残す必要がある場面で活用できます。
URLを恒久的に変更するなら301リダイレクト、検索結果から除外するならnoindexを検討します。canonicalは強制命令ではないため、正規URLをHTTP 200で公開し、自己参照canonical、内部リンク、XMLサイトマップ、リダイレクトの方針をそろえることが重要です。
設定後は、ページソースでcanonicalが1つだけ出力されていることを確認し、Google Search ConsoleのURL検査でユーザー指定とGoogle選択の正規URLを比較しましょう。設定後にGoogleの採用状況まで確認することが、重複URL対策を適切に運用するポイントです。