canonicalタグの書き方:Googleが強く読む順に3つのシグナルを並べる
canonicalタグは、同じ内容を複数のURLで配信するときに残したいURLを伝える仕組みです。Googleはリダイレクトやsitemapと合わせて判断します。貼れるブロック、3コマンドの確認、静かに失敗する4つの形をまとめます。

canonicalタグは、同じ内容を複数のURLで配信しているときに、Googleに残してほしいURLを伝える仕組みです。これは命令ではなくシグナルで、Googleはリダイレクト、sitemap、内部リンクと合わせて判断し、別のURLを選ぶこともあります。やることは、それらのシグナルを同じ方向に揃え、残したいページが自分自身を指しているか確認することです。
始める前に
ページの<head>を編集できるか、レスポンスヘッダーを設定できる必要があります。そして、検索結果にどのURLを出したいかを決めておきます。これは技術ではなく内容の判断です。2つのページが本当に別物なら、canonicalの問題ではなく、同じテーマを2ページで争っている状態です。
内部リンクも仕組みの一部です。内部リンクの戦略が複製側のURLを指していれば、タグの支えが弱くなります。
canonicalタグが数あるシグナルの1つにすぎない理由
2026-10-25に読んだGoogleのcanonicalizationのドキュメントは、各方法を説明する前に強さの順に並べています。この順序が、タグが無視されたように見えるすべてのケースを説明します。
| 方法 | 強さ | 対象 |
|---|---|---|
| 恒久的なリダイレクト | 強い | すべてのURL。ただし旧URLは消える |
rel="canonical"要素 | 強い | HTMLページのみ |
rel="canonical"ヘッダー | 強い | PDFを含むすべてのファイル |
| sitemapへの掲載 | 弱い | 掲載したすべてのURL |
ドキュメントは、リダイレクトを「転送先がcanonicalになるべき強いシグナル」、リンク注釈も「強いシグナル」、sitemapへの掲載を「弱いシグナル」と表現しています。さらに、これらの方法は重ねて使うと効果が強まるとしています。そこから2つの結論が出ます。AをBへリダイレクトし、BにAへ戻すcanonicalを置けば、強いシグナルを逆向きに2つ送ったことになります。sitemapがAを載せ、canonicalがBを指すなら、間違いというより自分の主張を弱めている状態です。
リダイレクトはURLを消します。canonicalタグはURLを残し、評価を別の場所へ送るよう頼みます。そのページにまだ誰かが到達する必要があるかで選びます。
canonicalタグを設定する4ステップ
1ページなら10分ほどで、その後も同じ手順です。
- 残したいURLを決めます。プロトコル、実際に配信しているホスト、実際に使っている末尾スラッシュまで含めて書きます。
- そのURLに自分自身を指すcanonicalを置きます。Googleはcanonicalページ自身にも置くよう明示的に勧めています。
- 複製側はすべてそのURLを指すようにし、使う方法は1つに絞ります。リンク要素とHTTPヘッダーのどちらかを選ぶようドキュメントは勧めています。両方を同時に使うと誤りやすいためです。
- 内部リンクを揃えます。サイト内では複製ではなくcanonicalのURLへリンクします。
飛ばされやすいのがステップ2です。自分を指すページは冗長に見えるからです。しかしこれが、アグリゲーターのコピー、計測パラメータ、印刷用ビューがGoogleに選ばれるのを防ぎます。
成果物:2つのブロックと1つの確認
リンク要素の形。canonicalページと各複製の<head>に入れます。
<link rel="canonical" href="https://example.com/dresses/green-dresses" />
HTTPヘッダーの形。PDFや画像ではこれしか使えません。リンク要素はHTMLページでしか機能しないためです。
Link: <https://example.com/white-paper.pdf>; rel="canonical"
そして確認。ページが宣言している内容と、実際にたどり着くURLを読み比べます。
# ページは何を宣言しているか
curl -sL https://example.com/page \
| grep -o '<link[^>]*rel="canonical"[^>]*>'
# ヘッダーにもあるか(両方の併用は勧められない)
curl -sIL https://example.com/page | grep -i '^link:'
# URLは実際どこに着地するか
curl -s -o /dev/null -w '%{url_effective}\n' -L https://example.com/page
3つ目のコマンドが1つ目と違うURLを出しても、直ちに誤りではありません。リダイレクトの連鎖がcanonicalで終わるのは一貫しています。誤りなのは、canonicalがさらにリダイレクトするURLを名指ししている場合です。その住所には存在しないページを残せとGoogleに頼んでいることになります。sitemapも正しい版を指す必要があります。必要な4つの項目はsitemapの作り方にまとめています。
壊れる場所と見分け方
canonicalがリダイレクトと戦っている
症状:Search Consoleに「重複、ユーザーが指定したものとは異なるcanonical URLをGoogleが選択しました」と出ます。原因は、名指ししたURLがサーバーの解決先と違うことです。タグを疑う前に3つ目のコマンドを試します。
robots.txtで複製を隠している
症状:複製が説明なしで検索結果に残ります。ドキュメントははっきり書いています。canonicalizationにrobots.txtを使わないこと。Googleは禁止されたURLを内容なしでインデックスすることがあります。クロールを止めても消えるのは証拠で、URLではありません。
noindexで勝者を選んでいる
症状:統合されず、ページごと消えます。同じリストの中でGoogleは勧めていません。サイト内のcanonicalページの選択を防ぐためにnoindexを使うと、そのページは検索から完全に外れます。残したいならcanonicalが優先です。
canonicalがフラグメントを指している
症状:何も起きません。Googleは一般にURLフラグメントをcanonicalとして扱いません。#sectionで終わるcanonicalは弱いシグナルではなく、シグナルではありません。
canonicalタグが効かなくなる範囲
どの方法も必須ではありません。ドキュメントも、canonicalの指定がなくてもサイトはおおむね問題なく動くと書いています。指定がなければGoogleが客観的に最良の版を選ぶためです。矛盾があればcanonicalも持ちません。hreflang、lang、media、typeが付いた注釈はcanonicalizationには使われません。サイトをまたぐcanonicalも、Googleが知っている他の材料と比べて判断される依頼であって、実行できる移転ではありません。
Search Consoleの判断が一致し、内部リンクがタグと一致したら終わりです。その先の状態はありません。ページが取得できない場合はそこが先です。クロールとインデックスのエラー確認はタグの後ではなく前に来ます。
よくある質問
canonicalタグは何のために使いますか
重複またはほぼ重複したURLを1つの住所にまとめ、リンクやその他のシグナルが分散せず1ページに集まるようにします。Googleはもう1つ、重複ページへのクロール時間を減らす目的も挙げています。
すべてのページに必要ですか
必須のページはありません。すべてのページに利点があり、テンプレートに1行足すだけです。2026年8月に28のトップページを調べたところ23がcanonicalを宣言していました。多くのコンテンツ管理システムが既定で備えている設定からすれば、おおよそ想定どおりの割合です。
canonicalと301リダイレクトのどちらを使いますか
古いURLに誰も到達する必要がないならリダイレクトです。両方のURLが動き続ける必要があるならcanonicalです。絞り込み一覧、印刷用ビュー、シンジケートされたコピーが該当します。
canonicalタグはHTML標準の一部ですか
RFC 6596で定義されており、Googleのドキュメントも対応する仕様としてこの文書を挙げています。Googleの発明ではなくWeb標準なので、他の検索エンジンも読みます。
収録: QueryWinガイド · レベル2


