SEO

カノニカルタグ

By Jake Luo · Published 2026年8月12日

カノニカルタグとは、ほぼ同一の内容が複数のURLで配信されているときに、どのURLを正規とみなしてほしいかをページのhead内のlink要素で示す仕組みです。これにより検索エンジンは評価シグナルをバリエーションごとに分散させず、ひとつのアドレスに統合します。ただしこれは指示ではなくヒントで、Googleはリダイレクト、内部リンク、サイトマップと突き合わせたうえで、別のURLを正規として選ぶこともあります。

統合されるものと、あくまで提案にすぎないもの

重複URLは意図して作られることがほとんどありません。同じ商品が二つのカテゴリに並ぶ、計測パラメータひとつでページが百通りに増える、印刷用とモバイル用が併存する、あるいは同じ内容がwwwありとなし、httpとhttpsの両方で開ける。こうしたバリエーションはそれぞれ別々にリンクや表示回数を積み上げてしまい、結果としてひとつのクエリで自分のページ同士が競合します。これはキーワードカニバリゼーションで説明した自傷的な分散と同じ現象です。カノニカルタグは残したい版を指名し、ほかの版のシグナルをそこへ集約するよう求めます。

創業者が最も誤解しやすいのは、この「求め」の強さです。Googleは宣言されたカノニカルを複数の入力のひとつとして扱い、全体像から自分で優先URLを決めます。

  • 宣言したカノニカル — ページのhead内にあるlink要素そのもの。
  • リダイレクト — 301は注釈ではなく重複そのものを消すため、タグよりはるかに強い意思表示になる。
  • 内部リンク — サイト内のリンクが宣言していない側のURLばかりを指していれば、その宣言は自社のナビゲーションと言い争っている状態になる。内部リンクがこの判断と切り離せないのはそのため。
  • サイトマップ — 掲載したURLは、インデックスしてほしいと申告したURLでもある。
  • [hreflang](/glossary/hreflang)クラスタ — 相互参照する言語バリエーションはひとまとまりで読まれ、クラスタと矛盾するカノニカルはたいてい退けられる。

これらのシグナルが一致していれば、タグはほぼ確実に尊重されます。食い違っている場合、Googleは自分で結論を出し、選んだURLをSearch Consoleで報告します。技術的には正しく存在しているカノニカルがまったく効かないことがあるのは、この仕組みのためです。

まず疑うべき典型的な失敗

壊れたカノニカルの大半は、いくつかの型に収まります。別の場所へリダイレクトするURLを指したカノニカルは、もうそのページを配信していないアドレスへの統合を求めていることになります。noindexのページを指したカノニカルは、除外してほしいと申告済みの対象にシグナルを集めろと言っていることになります。テンプレートが全ページにトップページのカノニカルを焼き込んでいる場合 — これは実際によくあるバグです — サイト全体がひとつの文書だとGoogleに伝えてしまいます。そしてソース上は正しいのに、スクリプトやレンダリング層に押し出されてheadへ届かないカノニカルは、最も気づきにくい壊れ方をします。確認に使いたくなるツールが、どれも変わらずタグを表示してしまうからです。

Search Consoleには、見た目が似ていて意味が正反対のふたつの状態があります。「代替ページ(適切な canonical タグあり)」は、Googleが宣言を読み、同意して統合したという意味で、重複にとっては健全な着地点であり、追いかけるべきエラーではありません。「重複しています。ユーザーにより、正規ページとして選択されていません」は、ほぼ同一のページを見つけたものの使えるカノニカルがなく、Googleが代わりに選んだという意味です。対処すべきは後者で、最初に確かめるのはタグの指し先ではなく、そもそもGooglebotがそのタグを受け取れているかどうかです。

Googleが当社のカノニカルを見なくなったときに学んだこと

ここからはドキュメントではなく、agentceres.comを運用して得た話です。2026年8月、Search Consoleは当社サイトの88件のURLを「ユーザーにより正規ページとして選択されていない重複」として報告しました。カノニカルタグはその間ずっとソース上に正しく存在していました。原因は二層下にありました。マーケティングと法務のルートが十数本、静的プリレンダリングから静かに外れていたこと。そして当社のフレームワークは動的レンダリングのページではメタデータをストリーミングで送るため、タイトル、robotsディレクティブ、カノニカル、hreflangが、文書の先頭から約1.5KBの地点ですでに閉じたheadより後、body内に出力されていたことです。head外のカノニカルリンクはカノニカルリンクではないので、Googleは受け取ったとおりに記録しました。何も宣言のないほぼ同一のページ群として扱い、代わりに選んだのです。

最も時間を奪われた一点こそ、共有する価値があります。Search Consoleの「公開URLをテスト」はクローラーとは別のユーザーエージェントで取得しており、そのエージェントは当社フレームワークが完全な非ストリーミングのメタデータを返すボットの既定リストに入っていました。一方でGooglebotは意図的に入っていません。そのためライブテストは実行するたびにhead内の正しいカノニカルを表示し続け、実際にインデックスを構築するクロールは何も見ていませんでした。重複として報告されたら、どんなライブテストよりもインデックス済みの結果と生のHTMLを信じてください。ソースを表示し、headがどこで閉じているかを探すことです。同じ事故のより単純な半分も、自社サイトで確認する価値があります。当社のwwwホストは全ページを200で返しリダイレクトしていなかったため、Googleはwwwをapexドメインより上位の正規ホストとしてインデックスしていました。これは301ひとつで解決しました。この規模の修正は、Search Consoleが検証を確定するまでふつう二週間ほどかかります。カノニカルのレポートではなく流入の減少から逆算しているなら、サイトに流入がない理由がこれより手前の確認を扱っています。

FAQ

カノニカルタグと301リダイレクトは同じものですか
違います。分かれ目は、重複URLに引き続きアクセスできるかどうかです。301は重複そのものを消します。人でもクローラーでも、要求すれば行き着く先は移転先であり、検索エンジンへの指示に曖昧さがありません。カノニカルタグは両方のURLを生かしたまま内容を配信し続け、評価シグナルを一方に集約するよう求めるだけです。古いアドレスがもう誰にも必要ないとき — 移転、スラッグの変更、wwwをapexドメインに寄せる場合 — はリダイレクトを使います。両方のURLが実際に動作しなければならないときはカノニカルで、計測パラメータ、絞り込み一覧、転載コピーがその典型です。
ページは自分自身をカノニカルに指定すべきですか
既定としては、そうすべきです。インデックス対象の全ページに自己参照のカノニカルを置くのはコストがかからず、パラメータ、末尾スラッシュ、大文字などが意図せず生んだバリエーションの曖昧さを取り除けます。安全側に倒れる点も重要です。将来テンプレートの不具合でカノニカルが誤った先を指してしまったとき、自己参照は「そこから壊れた」状態であってほしいもので、「そこへ壊れた」状態ではありません。例外は、ページ送りの一覧や他者記事の転載のように、本当に別ページへ統合すべきページです。
なぜGoogleは私のカノニカルタグを無視するのですか
たいていはサイト内の別の要素がそれと矛盾しているか、Googlebotがそもそも受け取っていないかのどちらかです。矛盾はありふれています。内部リンクとサイトマップが別のバリエーションを指している、カノニカルの指し先がリダイレクトする、あるいはその指し先がnoindexになっている。配信の問題はもっと分かりにくく、しかも思う以上によくあります。タグはクローラーが実際に受け取るHTMLのhead要素の中になければならず、後からスクリプトで差し込むのも、レンダリング層がbodyへ出力するのも成立しません。ブラウザの検証ツールではなくソース表示で生のレスポンスを確認してください。検証ツールはスクリプト実行後のDOMを見せるので、Googlebotが一度も受け取っていないタグを平然と表示します。
Related terms
hreflangキーワードカニバリゼーション内部リンクスキーママークアップ

An AI growth team that runs this for you

AgentCeres is a managed AI marketing team — you approve what ships. 14-day free trial, from $39/month.

Start free trialBrowse the glossary