canonicalタグとは?SEOでのURL正規化の目的・書き方・設定方法を解説
canonical(カノニカル)タグは、内容が重複・類似する複数のURLに対して「評価をまとめる正規URLはこれ」と検索エンジンに伝えるHTMLタグです。パラメータ付きURLやPC・スマホ別URLなどで同じ内容が複数のアドレスに存在すると、被リンクやコンテンツの評価が分散し、検索順位が伸びにくくなります。canonicalタグはこの評価を1つのURLへ統合するために使います。ただしcanonicalはあくまで「ヒント」であり、Googleへの命令ではありません。この記事では、URL正規化の仕組みからrel=canonicalの書き方、301リダイレクトとの使い分け、Googleに無視される原因までを実務目線で解説します。
まとめ:canonicalタグの要点
- 役割:重複・類似URLの評価を「正規URL」1本へ統合し、評価分散とインデックスの重複を防ぐ。
- 書き方:正規URLのページ側も含め全ページの
<head>内に、絶対URLでrel="canonical"を1本だけ記述する(自己参照canonicalが基本)。 - 使い分け:両方のURLを残すなら canonical、URLを完全に一本化・転送するなら301リダイレクト。
- 限界:canonicalは命令ではなくヒント。内部リンク・サイトマップ・リダイレクトが矛盾すると、Googleは指定を無視して別URLを正規と判断する。
canonicalタグとは何か(URL正規化の仕組み)
canonicalタグとは、rel="canonical"属性を使って、重複または類似する複数ページの中から検索エンジンが評価の基準とすべき「正規URL(canonical URL)」を指定する仕組みです。指定を受けたGoogleは、複数URLに分散していたリンクやコンテンツのシグナルを正規URLへ集約し、検索結果には原則としてその正規URLを表示します。
背景にあるのがURL正規化という考え方です。次のように、人間には同じページに見えても、Googleにとっては文字列が異なる別URL=別ページとして扱われるケースが数多くあります。
- wwwの有無(
example.comとwww.example.com) - httpとhttps、末尾スラッシュの有無
- 並び替え・トラッキング用のパラメータ付きURL(
?sort=price、?utm_source=...) - PC用とスマートフォン用で分かれたURL
これらを放置すると同一内容が複数URLでインデックスされ、評価が割れます。canonicalタグは「このURL群の代表はこれ」と明示することで、評価を1本に束ねる役割を担います。
canonicalタグを設定する目的とSEO効果
canonicalタグを設定する目的は、重複コンテンツによる不利益を避け、SEO評価を正規URLへ集中させることにあります。得られる効果は次のとおりです。
- 評価の統合:分散していた被リンクやコンテンツの評価が正規URLに集まり、その1本で上位を狙いやすくなる。
- インデックスの最適化:重複URLが検索結果に乱立するのを防ぎ、意図したURLを表示させられる。
- クロール効率の改善:Googleが重複URLのクロールに費やす無駄を減らし、重要ページへクロールを振り向けられる。
なお、重複コンテンツそのものはペナルティの直接原因ではありません。問題は「どのURLを評価すべきかGoogleが判断できず、評価が割れる」点にあり、canonicalはその判断材料を与える施策だと理解すると使いどころを外しません。
canonicalタグの書き方と設置方法
基本の書き方(head内・絶対URL・1ページ1つ)
HTMLの<head>内に、正規URLを絶対URLで指定したlink要素を1つ記述します。
<head>
<link rel="canonical" href="https://example.com/products/item123" />
</head>
ポイントは3つです。<body>ではなく<head>内に置くこと、相対パスではなくプロトコルから始まる絶対URLで書くこと、そして1ページにcanonicalは1つだけにすること。複数指定するとGoogleはすべて無視します。
自己参照canonical(全ページに自分自身を指定)
Googleは、重複がないページも含めてすべてのページに自分自身を指すcanonical(自己参照canonical)を設定することを推奨しています。パラメータ付きでアクセスされた場合でも正規URLが明確になり、意図しないURLがインデックスされる事故を防げるためです。トップページや通常の記事ページでも、そのページ自身のURLをcanonicalに指定しておきます。
HTMLに書けない場合(HTTPヘッダでの指定)
PDFなどHTMLの<head>を持たないファイルは、サーバーのHTTPレスポンスヘッダでcanonicalを指定します。
Link: <https://example.com/white-paper.pdf>; rel="canonical"
canonicalの設定が必要なケース・不要なケース
設定すべきケース
- パラメータ付きURL:並び替え・絞り込み・計測パラメータで内容が同じURLが増える一覧ページやECサイト。パラメータ無しの正規URLを指定する。
- PC・スマホで別URL:別々のURLで同内容を配信する場合、スマホ側からPC側へcanonicalを張り、PC側にはスマホ版を指す
alternateタグ(rel="alternate" media="...")を併記して対応関係を示す(レスポンシブ対応で単一URLなら不要)。 - 類似する商品・記事ページ:色違い・サイズ違いなど内容がほぼ同じページを、代表ページへ集約したいとき。
- 他サイトへの転載・シンジケーション:配信先に、元記事URLを指すcanonicalを設定してもらう。
設定しなくてよいケース
すべてのページで重複が起きているわけではありません。内容が固有で重複URLが存在しないページに、無理にcanonicalを増やす必要はありません(自己参照canonicalで十分)。また、検索結果に出したくないページはcanonicalではなくnoindexで制御します。canonicalは「評価を統合するが両方のページは残す」タグであり、インデックスを止める手段ではないためです。
canonicalと301リダイレクトの違いと使い分け
どちらも評価を1つのURLへ集約する点は共通ですが、ユーザーの扱いが決定的に異なります。
| 観点 | canonicalタグ | 301リダイレクト |
|---|---|---|
| ユーザーの転送 | されない(両URLとも閲覧可) | される(正規URLへ自動転送) |
| 元URLの扱い | 残す | 実質廃止・統合 |
| Googleへの効力 | ヒント(無視され得る) | 強いシグナル |
| 主な用途 | 両方残したい重複・類似URL | URL変更・サイト移転・完全統合 |
並び替えパラメータのように「両方のURLを残しつつ評価だけまとめたい」場合はcanonical、旧URLを完全に閉じてURLを一本化したい場合は301リダイレクトを選びます。リダイレクトの種類や設定の詳細はリダイレクトとは?301・302の違いと設定方法・SEOへの影響で整理しています。
よくある間違いと設定後の確認方法
やりがちな設定ミス
- 相対URLで記述する:
/item123のような相対パスは誤解釈の原因。必ず絶対URLで書く。 - canonicalを複数指定する:1ページに2つ以上あると全て無視される。テーマやプラグインの二重出力に注意。
- noindexと併用する:「評価を統合したい(canonical)」と「インデックスさせない(noindex)」は矛盾するシグナルで、意図が伝わらない。
- リダイレクトやサイトマップと矛盾:canonicalの指定先と、内部リンク・サイトマップ・リダイレクト先がバラバラだとGoogleは混乱し指定を無視する。
- 存在しない・別内容のページを指定:canonical先は、指定元と実質的に同じ内容の到達可能なURLにする。
正しく設定できたかの確認方法
Google Search ConsoleのURL検査ツールで対象URLを調べ、「ユーザー指定の正規URL」と「Googleが選択した正規URL」が意図どおり一致しているかを確認します。ページのソース(Ctrl+Uや検証ツール)で<head>内のcanonicalが1本だけ正しく出力されているかも併せてチェックします。
canonicalがGoogleに無視される理由と対処
実務でつまずきやすいのがここです。canonicalは命令(directive)ではなくヒント(signal)であり、Googleは指定を参考にしつつ、内部リンク・サイトマップ・リダイレクト・hreflangなど数十のシグナルを総合して最終的な正規URLを自分で決めます。指定した覚えのないURLがインデックスされる、あるいはSearch Consoleに次の表示が出るのは、シグナルの矛盾をGoogleが検知しているサインです。
- 「重複しています。ユーザーにより、正規ページとして選択されていません」:Googleが重複と判断したのにcanonicalが読み取れていない状態。まずcanonicalが正しく出力されているかを確認する。
- 「重複しています。Googleにより、ユーザーがマークしたページとは異なるページが正規ページとして選択されました」:canonicalは認識されたが、Googleが別URLの方が正規にふさわしいと判断した状態。
対処の原則は、canonicalタグ単体に頼らず、サイト内のシグナルをすべて正規URLへ揃えることです。内部リンクを正規URLに統一し、サイトマップには正規URLだけを載せ、リダイレクトの向きと矛盾させない。canonicalをお願いとして出しつつ、周辺シグナルで同じ結論を裏づけて初めて、Googleは指定どおりに正規URLを選びます。canonicalが効かないときは、タグの書き方以前にサイト全体の導線が一致しているかを疑ってください。
よくある質問(FAQ)
canonicalタグは必ず設定すべきですか?
すべてのページで必須ではありませんが、重複が起きなくても自己参照canonicalを入れておくと、パラメータ付きアクセスによる意図しないインデックスを防げます。パラメータURLやPC・スマホ別URLがあるサイトでは実質的に必要です。
自己参照canonicalとは何ですか?
各ページが自分自身のURLをcanonicalに指定することです。Googleが推奨しており、正規URLを明確にして重複URLのインデックスを防ぐ効果があります。
canonicalとnoindexは併用できますか?
推奨しません。canonicalは「評価を統合して両方残す」、noindexは「インデックスさせない」という相反する指示のため、Googleに意図が伝わりません。検索結果に出したくないページはnoindexを使います。
canonicalとalternateタグの違いは何ですか?
canonicalは「評価を集約する正規URL」を指すタグ、alternate(rel="alternate")は「同内容の別バージョン(スマホ用URLや別言語ページ)」を示すタグです。PC・スマホ別URLでは、両者を組み合わせて対応関係を伝えます。
canonicalタグが反映されない・効かないのはなぜですか?
canonicalはヒントのため、内部リンクやサイトマップ、リダイレクトが指定先と矛盾しているとGoogleに無視されます。相対URLや複数指定などの記述ミスも原因です。サイト内のシグナルを正規URLへ統一してください。