canonical タグとは?必要な場面と、よくある5つのミス

SEOgrinder 編集部 · 公開日 · 読了時間 約13分

結論: canonical タグとは、ページの <head> に置く <link rel="canonical"> 要素のことです。同じコンテンツに複数のアドレスからアクセスできるとき、主となるバージョンとして Google に扱ってほしいアドレスを示します。何も指定しなければ Google が canonical を自分で選ぶので、すべてのサイトに必要というわけではありませんが、重複が生じたら設定したほうがよいでしょう。また、これは命令ではなくヒントです。

canonical タグとは?

1つの記事に、3つのアドレスからアクセスできるとします。すっきりしたアドレス、トラッキングパラメーター付きのアドレス、並べ替えの指定が付いたアドレスです。Google は、これらのページが同じに見えることを認識し、グループにまとめて、代表となるアドレスを1つ選びます。Google はこれを正規化(canonicalization)と呼んでいます。選ばれた「正規」のページは最も定期的にクロールされ、重複ページはそれより少ない頻度でクロールされます。検索結果は、たいてい正規のページを指します。例外は、検索する人にとって重複ページのほうが合っている場合で、たとえばスマートフォンで検索する人向けの、別のモバイル用ページがそれにあたります。

canonical タグは、自分の希望を伝える手段です。HTML の <head> に置きます。

<link rel="canonical" href="https://example.com/dresses/green-dresses">

このコンテンツを表示するすべてのアドレスがこの行を持ち、どの行も同じアドレスを指します。Google は、手間をかける理由を4つ挙げています。検索結果に表示されるアドレスを自分で決められること、リンクなどのシグナルが1つのアドレスに集約されること、指標が読みやすくなること、そして Googlebot が重複ページではなく新しいページに時間を使えることです。これらのページには、順位が上がるという約束は見つかりませんでした。

始める前に、大事な点が1つあります。Google は、“indicating a canonical preference is a hint, not a rule”(canonical の希望を示すことは、ルールではなくヒント)とはっきり述べています。指定したページとは別のページが選ばれることもあります。

canonical タグが必要になるのはどんなとき?

多くの場合は、必要ありません。Google の正規 URL の指定のページには、“none of them are required; your site will likely do just fine without specifying a canonical preference”(どの方法も必須ではない。canonical の希望を指定しなくても、サイトはおそらく問題なく機能する)とあります。アドレスが1つしかないページには、手助けは要りません。

考える必要があるのは、同じコンテンツに複数のアドレスがあるときです。よくある原因を、Google のリストと例から挙げます。

  • トラッキングパラメーターとサイトの機能。 https://example.com/dresses/cocktail?gclid=ABCD は、Google 自身の例です。カテゴリーページの並べ替えや絞り込みでも、同じ種類のコピーができます。
  • プロトコルとホストの違い。 http と https、www ありとなし。私たちの見方では、ここはリダイレクトのほうがすっきりした手段です。
  • デバイスごとの違い。 専用のアドレスを持つモバイル版。
  • 同じ言語での地域違い。 同じ文章の、米国向けと英国向けのページ。canonical は、hreflang と併用します。
  • 意図しない別バージョン。 クローラーが到達できてしまう、サイトのデモ版やテスト用のコピー。
  • HTML 以外のファイル。 同じ内容のページの隣にある PDF。

重複コンテンツは、それ自体が違反ではありません。Google は、ある程度は普通のことで、スパムポリシーには反しないと書いています。

このタグが不適切な場面の1つが、シンジケーションです。Google は、そこでの使用を勧めていません。パートナーのページは、大きく異なることが多いからです。最も効果的な対処は、パートナー側があなたのコンテンツのインデックス登録をブロックすることです。

canonical タグの設定方法

Google は、希望を示す方法を3つ挙げ、それらは重ねて使えるとしています。2つ以上を使うと、希望するアドレスが表示される可能性が高まります。

方法シグナル向いている場面制限
リダイレクト(301 または 308)強い重複を完全になくす訪問者も別のアドレスに移動する
rel="canonical" のリンク要素、または HTTP ヘッダー強い到達できる状態で残す必要がある重複大規模なサイトでは、対応づけの維持が大変
サイトマップ弱い大規模なサイトで、2つめのシグナルとして何が重複かは、Google が決める

リンク要素については、Google の助言は次のようにまとめられます。

  • 重複ページそれぞれの <head> に置き、https:// から始まる完全なアドレスを使います。
  • 同じタグを、正規のページ自身にも付けます(詳しくは下で説明します)。
  • PDF のように HTML ではないファイルには、代わりに HTTP ヘッダーを送ります。Link: <https://www.example.com/downloads/white-paper.pdf>; rel="canonical" です。Google がこれをサポートするのは、ウェブ検索の結果に限られます。
  • リンク要素か HTTP ヘッダーのどちらかを選びます。両方を使うこともできますが、Google は、間違いが起きやすくなると述べています。
  • WordPress、Wix、Blogger のような CMS では、HTML を直接編集できないことがあります。CMS の中で、検索エンジン向けの設定ページを探してください。

リダイレクトは、重複ページをなくしたいときに適した方法です。

ページは自分自身を指すべき?

はい。Google は、正規のページ自身にも rel="canonical" のリンクを置くこと、つまり自己参照の canonical を推奨しています。そうすれば、たとえばトラッキングパラメーター付きなど、誰かが到達したページのどのバージョンも、同じことを伝えます。

ここからは私たちの見方で、Google の見解ではありません。タグの中のアドレスは、リクエストされたアドレスではなく、そのページの本来のすっきりしたアドレスから組み立ててください。そうしないと、パラメーターがタグに入り込みます。これを確かめる方法は、下の確認方法で紹介します。

canonical タグのよくあるミス5つ

以下のミスは、どれも Google が canonical のページで説明しています。どのくらいの頻度で起きるかは、私たちは測っていません。

ミス1:相対アドレス、フラグメント、誤ったプロトコル

完全なアドレスを使ってください。Google は相対パスもサポートしていますが、のちのち問題が起きうるため、勧めていません。たとえば、テスト用のサイトが誤ってクロールされた場合です。Google の例では、https://www.example.com/dresses/green/green-dress.html は良く、/dresses/green/green-dress.html は悪い例です。

URL のフラグメント(# より後ろの部分)も指定しないでください。Google は、一般にフラグメントをサポートしていません。また、https のページの canonical が http 版を指しているのは、Google が http 版を選ぶ原因になりうる食い違いの1つです。

ミス2:互いに食い違う2つのシグナル

同じページに対して、方法を変えて異なる canonical を指定しないでください。たとえば、サイトマップに1つのアドレス、タグに別のアドレスを書いたり、ヘッダーに1つ、リンク要素に別のものを書いたりすることです。CMS やそのプラグインが、意図していないアドレスをタグに設定してしまうこともあります。Google は、ブラウザーの開発者ツールで HTML を確認することを勧めています。内部リンクは、重複ページではなく、正規のアドレスに向けてください。

直し方は、方法を1つ、アドレスを1つにすることです。タグ、サイトマップ、内部リンクのすべてが、そのアドレスを挙げます。

ミス3:canonical の代わりに noindex、robots.txt、削除ツールを使う

Google は、正規化に使ってはいけないものを3つ挙げています。1つめは robots.txt です。Google は、robots.txt で禁止された URL を、“may still index URLs that are disallowed in robots.txt without their content”(コンテンツなしでインデックスすることがある)としています。2つめは URL の削除ツールで、URL のすべてのバージョンを検索結果から隠します。3つめは noindex で、ページを検索結果から完全にブロックします。

noindex が付いていて、同時に別のアドレスを canonical として挙げているページは、正反対の2つのメッセージを送っています。私たちのチェックの助言は、次のとおりです。ページを消したいなら、noindex を残して canonical を外します。別のページに加算したいなら、noindex を外して canonical を残します。

ミス4:Google が読めないタグ、または JavaScript による書き換え

Google がリンク要素を受け付けるのは、<head> セクションの中だけです。そのため、少なくともそのセクションは、有効な HTML でなければなりません。Google の JavaScript のガイドには、最善の方法は canonical を HTML に設定し、JavaScript が変更しないようにすることだとあります。それができない場合は、JavaScript だけで設定し、HTML には書きません。HTML に1つのアドレス、スクリプトに別のアドレスを書くことは、決してしないでください。

ミス5:重複ではないページを指すタグ

このタグは、重複した、または非常によく似たページのためのものです。翻訳されたバージョンは、本文が別の言語なら、重複ではありません。hreflang を使う場合、Google は、canonical が同じ言語のものか、それが無理なら最も近い代用のものであることを求めています。すべての言語バージョンが英語のページを指しているサイトは、この助言に反しています。

直し方は、各言語バージョンが自分自身を指し、バージョン同士を hreflang で互いに指すことです。

Google が選ぶ canonical があなたの指定と違う場合の対処

このタグはヒントなので、Google が別のアドレスを選ぶことがあります。その場合、Search Console は “Duplicate, Google chose different canonical than user” と報告します(ステータス名は URL 検査のヘルプにあり、英語表示での名前です)。Google のトラブルシューティングのページは、次の手順を提案しています。

  • Google が何を選んだかを調べる。 URL 検査ツールで、その URL のインデックス登録済みバージョンを検査し、“User-declared canonical” の隣にある “Google-selected canonical” を読みます(どちらも英語表示での名前です)。ライブテストでは予測できません。
  • Google が正しいかどうかを考える。 Google の選択は、検索から来る訪問者にとって、あなたの選択より良いものではないでしょうか。
  • 技術的な原因を探す。 Google のリストは、次のとおりです。hreflang のない言語バリエーション、誤った canonical を設定する CMS やプラグイン、誤設定のサーバー、ハッキング後に挿入されたリダイレクトやドメインをまたぐ canonical、シンジケートされたコンテンツ、コピーサイト。
  • 1つにすべきでないなら、ページを本当に違うものにする。 Google は、修正したあとも最大2週間、ページを重複のグループに残すことがあります。インデックス登録のリクエスト機能は割り当てで制限されているので、重要な URL のために取っておきます。

canonical タグの確認方法

ブラウザーでページのソースを開いて rel="canonical" を検索するか、ターミナルを使います。2つめのコマンドは、HTTP ヘッダーで送られる canonical も表示します。3つめの方法は、Search Console の URL 検査で、Google が選んだものが表示されます。

curl -sS https://example.com/page | grep -i 'rel="canonical"'
curl -sSI https://example.com/page | grep -i '^link'

seogrinder.com ではこうなっています。 2026年11月4日に、最初のコマンドを3つのアドレスに対して実行しました。トップページは <link rel="canonical" href="https://seogrinder.com/"> を返し、?utm_source=test を付けて取得した同じページも、同じものを返しました。ソフト404の記事は、自分自身のアドレスを返しました。その英語版も英語版自身のアドレスを返し、両者は hreflang で互いを挙げています。トップページの Markdown 版には HTML の head がないので、canonical は HTTP ヘッダーで送られます。Link: <https://seogrinder.com/>; rel="canonical" です。

SEOgrinder の無料スキャンは、入力したページのタグを確認します。「Google 上のページ」タブの「Canonical」カードには、見つかったアドレスと、それが「自身を指しています」か「別の URL を指しています」かが表示されます。タスク一覧には、「canonical タグがありません」「canonical が別の URL を指しています」「canonical が到達できないページを指しています」「noindex と canonical が矛盾しています」「異なる canonical タグが N 個あります」といった項目が出ることがあります。制限が2つあります。HTTP ヘッダーの canonical は、このテストでは検出されません。また、「Google が別のアドレスを canonical に選んでいます」には、接続済みの Search Console が必要で、その接続はローカルへのインストールにしかありません。seogrinder.com では、Google の選択を Search Console で直接確認してください。

よくある質問

すべてのページに canonical タグが必要ですか?

いいえ。Google は、どの方法も必須ではないと述べています。ただし、正規のページ自身に、自分を指すタグを付けることは推奨しています。

canonical タグと 301 リダイレクトは、どちらを使うべきですか?

重複ページをなくしたいときはリダイレクトです。訪問者も新しいアドレスへ送られるからです。重複ページを到達できる状態で残す必要があるとき、たとえばトラッキングパラメーター付きのバージョンには、canonical タグを使います。Google は、これらの方法を組み合わせられると述べています。

重複コンテンツにペナルティはありますか?

Google は、ある程度の重複コンテンツは普通のことで、スパムポリシーの違反ではないと述べています。Google が挙げているデメリットは、訪問者の混乱と、指標の追跡のしにくさです。

canonical タグは noindex と同じものですか?

いいえ。noindex は、ページを検索結果から完全に外します。canonical タグが示すのは、似た複数のページのうち、どれを優先したいかだけで、決めるのは Google です。

次のステップ

トップページと、いちばん重要なページのソースを開き、3点を確認します。タグが <head> にあること、アドレスが完全であること、ページが自分自身を指していることです。そのあと、SEOgrinder の無料スキャンを実行し、「Google 上のページ」タブの「Canonical」カードを見て、変更のたびに「再チェック」を押し、新しい結果を確認してください。

あわせて読みたい

ブログのほかの記事