Domain 3 / 225

canonical は重複コンテンツの正規 URL を Google に伝える仕組み

canonical の要点

canonical は重複ページの正規 URL を Google に伝えるヒントで、順位を上げる効果はない。指定方法は強い順に 301 / rel=canonical / サイトマップ。指定しても Google が別ページを正規と判定することがあり、URL 検査ツールで確認する

なぜこれを学ぶか

canonical は 誤設定すると重複ページが順位を食い合い、流入が分散したまま気づかれない 静かに損をするタイプのトラブル原因。 逆に正しく使えば、www / 非 www / HTTPS / URL パラメータ違いの評価を 1 ページに集約でき、被リンクシグナルを最大化できる。 EC・大規模メディア・多言語サイトでは、canonical を理解せずに運用すると数百ページ単位でカニバリゼーションが発生する。

学ばないと起きること

よくある事故被害
商品カラー違いページに canonical を未設定各色ページが互いの順位を食い合い、Top 10 から落ちる
www あり / なしの正規化未設定被リンクが両方の URL に分散して PageRank が薄まる
canonical を相対パス(/page.html)で書くステージング環境がクロールされた時に意図せぬ URL が canonical 化
canonical で順位を上げようと無関係ページに打つ内容が違いすぎて Google が無視、施策ごと無効になる
HTTPS 証明書エラーがあるGoogle が HTTP 版を強制的に canonical 化、実装した HTTPS が無視される
CMS が勝手に canonical を間違って設定想定と違うページが検索結果に出続け、修正漏れで気づかれない
robots.txt で重複を Disallow して canonical 代わりにするNG。Disallow しても URL は知られ、検索結果に説明なし URL が出る

学ぶメリット

  • 重複によるカニバリゼーションを未然に防げる
  • 被リンクシグナルを 1 ページに集約して、検索順位の天井を上げられる
  • EC や多言語サイトの運用設計を、Google 仕様に沿って組める
  • 商談で「Google に強制はできない、ヒントです」と即答できれば、SEO 担当としての解像度が高いことを示せる

仕組み

canonicalization とは

Google が「同じ・類似コンテンツが複数 URL にある時、どれを代表(canonical)として検索結果に出すか」を選ぶプロセス。 代表に選ばれた URL は最も頻繁にクロールされ、評価シグナルもそこに集約される。それ以外の URL は「代替版(alternate)」となり、モバイル端末や特定クエリで切り替わって表示されることがある。

なぜ重複が生まれるか

Google が公式に挙げる重複の発生源。

種類
地域別US 向けと UK 向けで同内容を別 URL で配信
デバイス別デスクトップ版とモバイル版が別 URL
プロトコル別HTTP 版と HTTPS 版が両方アクセス可能
サイト機能カテゴリページのソート / フィルター結果(?sort=price など)
偶発的ステージング環境やデモが Googlebot に拾われている

「重複コンテンツがある = ペナルティ」ではない。Google は重複を検出して 1 ページにまとめるだけで、悪意のある複製でない限りスパム扱いにはならない。

canonical を指定する 4 つの方法(強い順)

方法強さ主な用途
301 リダイレクト重複ページを完全に削除して統合する場合
rel="canonical" link 要素(HTML)HTML ページの代表 URL 指定
rel="canonical" HTTP ヘッダーPDF / Word など非 HTML ファイルの代表 URL 指定
サイトマップに含める大規模サイトで簡易に正規 URL を示す

複数併用するとシグナルが重なり、効果が高まる。 ただし「サイトマップでは A、rel=canonical では B」のように矛盾した指定は避ける(混乱の元になる)

canonical はヒントであってルールではない

公式に明記されている重要な性質:

  • canonical は Google への「ヒント」であり、別ページを正規と判定されることがある
  • Google は HTTPS / 内容の充実度 / 内部リンク / 被リンク など複数シグナルを総合判断する
  • 指定しなくても Google が自動で代表 URL を選ぶ(多くのサイトで指定なしでも問題なく動く)

「指定したのに別 URL が選ばれている」場合は Search Console の URL 検査ツールで Google の判断結果を確認する。

キー概念

canonical の HTML 実装

<head> 内に link 要素として記述する。

<html>
<head>
<title>グリーンドレス特集</title>
<link rel="canonical" href="https://example.com/dresses/green-dresses" />
</head>

ポイント:

  • 絶対 URL を使う(https://... から始める)。相対パスはサポートされるが、ステージング誤公開時の事故源になるので非推奨
  • <head> の中に置く。<body> 内では Google に無視される
  • JavaScript で挿入する場合は、初期 HTML の canonical を上書きしないようにする

非 HTML ファイル(PDF など)の canonical

PDF や Word ファイルは HTML を持たないので、HTTP レスポンスヘッダーで指定する。

HTTP/1.1 200 OK
Link: <https://www.example.com/downloads/white-paper.pdf>; rel="canonical"

「同じ資料の .docx 版と .pdf 版で .pdf を代表にしたい」のようなケースに使う。

canonical と HTTPS の関係

Google は基本的に HTTPS 版を優先して canonical にする。ただし、以下の条件があると HTTP 版が選ばれることがある。

条件Google の挙動
HTTPS の SSL 証明書が無効HTTP 版を強く優先(HSTS でも上書き不可)
HTTPS ページに混在コンテンツ(mixed content)がある同上
HTTPS から HTTP に転送される同上
HTTPS ページが HTTP 版に rel=canonical を打っているHTTP 版を選ぶ

HTTPS 移行時は「証明書を正しく設置」「HTTP → HTTPS の 301 リダイレクト」「サイトマップ・hreflang は HTTPS 版を記載」「HSTS の併用」をセットでやる。

hreflang クラスタと canonical

多言語サイトで hreflang を使うと、Google は hreflang クラスタ内の URL を優先して canonical にする。クラスタ外の URL(hreflang を持っていない言語版)は canonical 候補から外れやすい。

よくある誤解

よくある誤解実際のところ出典
canonical で順位を上げられる順位を上げる効果はない、重複ページの統合用URL の正規化
canonical を指定すれば必ず Google が従うヒント扱い。Google が別ページを正規と判定することがある同上
robots.txt で Disallow すれば canonical 代わりになるNG。Google は Disallow した URL も検索結果に出すことがあり、評価統合もされないcanonical 統合方法
URL 削除ツールを canonical の代わりに使える全バージョンを検索から消すツールなので canonical 代替には使えない同上
<head> でも <body> でも canonical は効く<head> 内のみ有効。<body> 内のものは無視される同上
相対パスで canonical を書いて問題ないサポートはされるが、誤公開時の事故源になるため絶対 URL 推奨同上
HTTP / HTTPS が混在しても勝手に HTTPS が選ばれる証明書エラーや mixed content があると HTTP 版が canonical 化される同上
canonical タグを複数の方法で違う URL に向けてもいいNG。サイトマップと rel=canonical で異なる URL を指定すると Google が混乱する同上
canonical で別ドメインの自社ページを指定できる可能(クロスドメイン canonical)。シンジケーション提携などで使う同上
自己参照 canonical(自分自身を指す)は不要推奨。URL パラメータ違いやスクレイピング被害から守るために自己参照を入れるのが安全同上

実務での適用

新規サイト・ページ追加時のチェックリスト

  1. すべてのページに自己参照 canonical(自分自身の絶対 URL)が入っているか
  2. www / 非 www のどちらかに 301 で統一しているか
  3. HTTP → HTTPS の 301 リダイレクトが効いているか
  4. サイトマップに記載する URL は canonical と一致しているか
  5. URL パラメータ(?utm_source=...?ref=...)が混入したページの canonical がパラメータなし版を指しているか
  6. ページネーション(?page=2)の canonical を 1 ページ目に向けていないか(各ページを別コンテンツとして扱う方が現代では推奨)

EC サイト: 商品カラー違いの canonical 設計

<!-- /products/dress-red (色違いページ)-->
<link rel="canonical" href="https://example.com/products/dress" />

<!-- /products/dress-blue (色違いページ)-->
<link rel="canonical" href="https://example.com/products/dress" />

<!-- /products/dress (統合元の代表ページ、自己参照)-->
<link rel="canonical" href="https://example.com/products/dress" />

色ごとに固有のキーワードで上位を取りたい場合は別ページとして残し、canonical も自己参照にする。 カニバリゼーションが起きていれば代表ページに統合する。

CMS(WordPress 等)の落とし穴

CMS のテンプレートやプラグインが勝手に canonical を出力していることが多い。新規導入時は以下を確認する。

確認項目チェック方法
canonical が二重出力されていないかブラウザの DevTools で <head> を表示、link[rel=canonical] の数を数える
canonical が想定外の URL を指していないかURL 検査ツールで Google が選んだ canonical を確認
プラグイン更新で canonical の挙動が変わっていないかSearch Console の「ページ」レポートで重複扱いが急増していないか定点観測

トラブル別の対処

症状確認すべきこと
自分が指定した URL と違うページが検索結果に出るURL 検査ツールで Google が選んだ canonical を確認、シグナル整合(HTTPS / 内容充実度 / 内部リンク)を見直す
Search Console で「重複、Google が選択した正規 URL がユーザー指定と異なります」が増えたサイトマップと rel=canonical の指定が一致しているか、内容差分が小さすぎないか
海外ドメインに自分のページがコピーされて検索結果に出るDMCA 削除リクエストを Google に提出
HTTPS 移行後も HTTP が canonical のまま証明書エラー / mixed content / HTTP → HTTPS リダイレクトの欠落を解消
ページネーション 2 ページ目以降が検索に出ない各ページの canonical が 1 ページ目を指していないか、自己参照に修正

公式ソース

自己テスト

Q1. canonical タグで検索順位を上げられるか?

上げられない。canonical は重複コンテンツの統合(正規 URL の指定)が目的であり、順位を上げる効果はない。 被リンクや評価シグナルを 1 つの URL に集約することで、結果的に「分散していた評価が 1 ページに集まる」効果はあるが、絶対的な順位上昇とは別物

Q2. canonical を指定すれば、必ず Google はその URL を検索結果に出すか?

出さないことがある。canonical は Google への「ヒント」であり、ルールではない。 HTTPS の優先、内容の充実度、内部リンク、hreflang クラスタなど、複数のシグナルを総合判断して別ページを正規と判定することがある。 実際にどの URL が選ばれたかは Search Console の URL 検査ツールで確認できる

Q3. canonical を指定する 4 つの方法のうち、最も強いシグナルはどれか?

301 リダイレクト。重複ページを完全に削除して統合する場合に最も強い。 次が rel="canonical" の link 要素 / HTTP ヘッダー、最も弱いのがサイトマップへの記載

Q4. canonical タグは `<body>` 内に書いても効果があるか?

ない。<head> 内に書いた canonical のみ Google に認識される。 JavaScript で後から挿入する場合は、初期 HTML の canonical を上書きしないように注意する

Q5. HTTPS のページがあるのに、Google が HTTP 版を canonical として選ぶことがあるのはどんな時か?

以下のいずれかが起きている時:

  • HTTPS の SSL 証明書が無効
  • HTTPS ページに mixed content(HTTP リソース)が混入
  • HTTPS から HTTP に転送するリダイレクトがある
  • HTTPS ページが HTTP 版に rel=canonical を打っている

これらは HSTS でも上書きできないので、証明書とリダイレクトの根本修正が必要

Q6. canonical の代わりに robots.txt の Disallow を使ってもいいか?

NG。Disallow するとクローラーが内容を取得できず、評価統合もされない。 さらに被リンクで URL が発見されると検索結果に「説明なし URL」として出てしまう

Q7. canonical を相対パス(例: `/page.html`)で書いても問題ないか?

サポートはされるが、推奨されない。 ステージング環境がクロールされた時に意図せぬ URL(https://staging.example.com/page.html)が canonical 化される事故源になる。 絶対 URL(https://www.example.com/page.html)で書くのが安全

Q8. PDF ファイルにも canonical を指定できるか?

可能。HTML を持たないので、HTTP レスポンスヘッダーで指定する。

Link: <https://www.example.com/downloads/white-paper.pdf>; rel="canonical"

「同じ資料の .docx 版と .pdf 版で .pdf を代表にしたい」のようなケースで使う

これらの内容を採点付きで挑戦したい場合は、本ドメインのプロ試験で 5 問形式で確認できる。