canonicalとは?意味・SEO効果・設定方法・注意点をわかりやすく解説

canonical とは SEO対策

「サイトの中身は充実しているのに、なぜか検索順位が伸びない」「Search Consoleで“重複しています。ユーザーにより、正規URLとして選択されていません”という表示が出て困っている」——そんな悩みを抱えていませんか。その原因は、コンテンツの質ではなくURLの正規化ができていないことにあるかもしれません。この記事では、canonical(カノニカル)タグの意味と役割、SEOで必要とされる理由、設定すべきケース、HTML・HTTPヘッダー・WordPressそれぞれの記述方法、301リダイレクトとの違い、そして設定時の注意点までを、はじめての方にもわかるように順を追って解説します。

canonical(カノニカル)タグとは

canonical(カノニカル)タグとは、内容が同一または類似する複数のURLが存在するときに、「検索エンジンに評価してほしい正規のURLはこれです」と伝えるためのHTMLタグです。英単語の canonical には「正典の」「標準的な」といった意味があり、SEOの文脈では「正規の」と訳されます。

記述は次のような形で、HTMLの<head>内に1行入れるだけです。

<link rel="canonical" href="https://example.com/marketing/canonical/">

rel="canonical"が「これは正規URLの指定である」という関係性を示し、href属性に正規化したいURLを書きます。「link rel canonicalとは」「rel=canonicalとは」といった検索が多いのは、この記述そのものの意味を知りたい人が多いためですが、指しているものはすべて同じ、このタグのことです。

canonicalタグの役割

canonicalタグの役割は、ひとことで言えば検索エンジンに対する交通整理です。

Webサイトを運用していると、意図せず「中身は同じなのにURLだけが違うページ」が量産されます。たとえば以下はすべて別々のURLとして扱われる可能性があります。

  • https://example.com/
  • https://example.com/index.html
  • http://example.com/(httpとhttps)
  • https://www.example.com/(wwwの有無)
  • https://example.com/?utm_source=mail(計測用パラメータ付き)

人間の目にはどれも同じページですが、検索エンジンのクローラーは基本的にURL単位でページを認識します。そのため何もしなければ、これらが別々のページとしてインデックスされ、重複コンテンツとみなされる恐れがあります。canonicalタグは、そのすべてに「正規URLはhttps://example.com/です」と書いておくことで、評価を1本にまとめる働きをします。

なお、Googleの公式ドキュメントでもcanonicalは「命令」ではなく強いヒント(シグナル)として扱われるとされています。つまり、指定すれば必ずその通りに正規URLが選ばれるわけではなく、Googleが内容や内部リンク、サイトマップなど他の要素も踏まえて総合的に判断します。この点は後述の注意点でも重要になります。

URLの正規化とは

URLの正規化とは、内容が重複・類似する複数のURLの中から検索エンジンに評価させたい1つのURLを決め、そこへ評価を集約させる施策全般を指します。URL正規化を実現する手段は主に次の3つです。

手段 概要 ユーザーの遷移 主な用途
canonicalタグ HTML内で正規URLを指定する 遷移しない(両方閲覧可能) 重複・類似ページを残したまま評価を集約したい場合
301リダイレクト サーバー側で恒久的に転送する 強制的に遷移する 旧URLを完全に廃止し、新URLへ統合したい場合
サイトマップ等でのシグナル 正規URLだけをsitemap.xmlに記載する等 遷移しない canonicalの補助的なシグナル

canonicalタグは、この中でも「両方のページをユーザーに見せたまま、検索エンジンの評価だけを一本化したい」という場面で使う手段だと理解しておくとわかりやすいでしょう。

canonicalタグがSEOに必要な理由

「canonicalとはseoで何ですか?」という疑問に対する答えは、大きく2つの効果に集約されます。

重複コンテンツによる評価の分散を防ぐ

同じ内容のページが複数のURLで存在すると、検索エンジンはどれを検索結果に表示すべきか判断に迷います。その結果、意図しないURL(たとえばパラメータ付きの一時的なURL)が検索結果に表示されてしまったり、そもそもインデックスされるページが安定しなかったりします。

さらに、重複したURLをクローラーが何度も巡回することでクロールバジェット(1サイトあたりに割かれるクロールの量)が無駄に消費されるという問題もあります。ページ数の多いECサイトやメディアほど、この影響は無視できません。canonicalタグで正規URLを明示しておけば、クローラーは「評価すべきはこのURLだ」と判断しやすくなります。

なお、重複コンテンツ自体は、悪意ある大量コピーなどでない限り、それだけでペナルティを受けるものではないとされています。とはいえ評価が複数URLに分散して順位が伸び悩むという実害は生じるため、対策する価値は十分にあります。

リンク評価を1つのURLに集約する

外部サイトから被リンクを獲得したとき、リンク先がhttps://example.com/article/だったりhttps://example.com/article/?ref=twitterだったりとバラバラになることは珍しくありません。canonicalタグを設定していない場合、これらのリンク評価はそれぞれ別ページに与えられ、本来1ページに集まるはずだった評価がバラバラに分散してしまいます。

canonicalタグで正規URLを指定しておけば、パラメータ付きURLに集まったシグナルも正規URLの評価として統合されやすくなります。「canonicalタグの効果とは?」という問いへの実務的な答えは、この評価の集約による順位の安定化にあると言ってよいでしょう。

canonicalタグを設定すべきケース

具体的にどんな場面でcanonicalタグが必要になるのか、代表的なケースを整理します。

PCサイトとスマートフォンサイトでURLが異なる場合

https://example.com/(PC向け)とhttps://sp.example.com/(スマートフォン向け)のように、デバイスごとに別URLでサイトを運用している「セパレートURL」構成では、スマートフォン側にPCページを指すcanonicalタグを設定するのが一般的です。あわせてPC側からスマートフォン版へalternateを指定し、相互に関係を示します。「alternate canonicalとは」という検索は、この組み合わせを指していることが多いです。

なお現在はレスポンシブデザインでURLを1本化する構成が主流であり、その場合はこの対応自体が不要になります。

計測用パラメータ付きURLが発生する場合

メールマガジンや広告からの流入を計測するために、?utm_source=?cid=といったパラメータを付けたURLを配布するケースは非常に多いはずです。パラメータが付くとURLは別物になるため、パラメータの有無にかかわらず同じHTMLを返す設計であれば、パラメータなしの正規URLをcanonicalで指定しておくのが定石です。

ABテストを実施している場合

LPOなどでABテストを行い、/lp//lp/b/のように別URLでパターンを出し分けている場合、テスト用URLに元ページを指すcanonicalタグを設定します。これにより、テスト用の一時的なページが検索結果に露出してしまう事態を避けやすくなります。

ECサイトで類似ページが複数ある場合

ECサイトでは、同じ商品でも色・サイズ・並び順・絞り込み条件などによってURLが増殖しがちです。

  • /item/shirt/?color=white
  • /item/shirt/?color=black
  • /item/shirt/?sort=price

これらの内容がほぼ同一であれば、代表となる商品ページ/item/shirt/をcanonicalで指定します。ただし、色ごとに写真・説明文・価格が大きく異なり、それぞれで検索流入を狙いたい場合は、無理に統合せず個別ページとして扱う判断もあり得ます。

AMPページを実装している場合

AMP(Accelerated Mobile Pages)を実装している場合は、AMPページ側から通常のHTMLページへcanonicalを指定し、通常ページ側からはAMPページへrel="amphtml"を指定するのが標準的な実装とされています。近年はAMPの重要性が以前ほど高くないとされていますが、既存実装が残っているサイトでは正しい相互指定を維持しておく必要があります。

このほか、他社メディアに記事を転載するコンテンツシンジケーションでも、転載先から元記事へcanonicalを指定してもらうことで、オリジナル記事に評価を集約する狙いがあります。

canonicalタグの記述・設定方法

HTMLに記述する方法

最も一般的な方法です。対象ページの<head>内に、以下の1行を記述します。

<head>
  <meta charset="utf-8">
  <title>canonicalとは</title>
  <link rel="canonical" href="https://example.com/seo/canonical/">
</head>

ポイントは3つあります。

  1. 必ず<head>内に記述する<body>内の記述は無視されます)
  2. https://から始まる絶対パスで記述する
  3. 1ページにつき1つだけ記述する

「htmlのcanonicalタグとは?」という疑問に対しては、この<link rel="canonical">という1行がその答えです。

HTTPレスポンスヘッダーで設定する方法

PDFや画像など、HTMLではないファイルにはタグを埋め込めません。その場合はサーバーが返すHTTPレスポンスヘッダーでcanonicalを指定します。

Link: <https://example.com/docs/whitepaper.pdf>; rel="canonical"

Apacheなら.htaccess、Nginxならadd_headerディレクティブで設定するのが一般的です。同じ資料を複数の場所に置いているケースなどで有効ですが、サーバー設定の変更が必要なため、実施前にバックアップと検証環境での確認をおすすめします。

WordPressで設定する方法

「wordpressのcanonicalタグとは?」という質問が多いのは、WordPressの挙動が少し特殊だからです。実はWordPressは標準機能として、投稿・固定ページに自己参照canonicalを自動出力します。そのため、基本的なURL正規化については何も設定しなくても機能しているケースがほとんどです。

個別に正規URLを変更したい場合は、SEOプラグインを使うのが現実的です。

方法 特徴
WordPress標準機能 投稿・固定ページに自己参照canonicalを自動出力。個別指定はできない
Yoast SEO 投稿編集画面のSEOメタボックス内の詳細設定から、ページごとにcanonical URLを入力できる
All in One SEO 一般設定でカノニカルURLの出力を有効化でき、投稿ごとの上書き指定も可能
テーマのfunctions.phpを編集 柔軟だが、テーマ更新で消える・不具合の原因になるため上級者向け

プラグインを複数入れるとcanonicalタグが二重に出力されることがあるため、SEOプラグインは1つに絞るのが安全です。設定後は必ず、後述の方法で実際の出力を確認してください。

canonicalタグと301リダイレクトの違い

canonicalタグと301リダイレクトはどちらもURL正規化の手段ですが、性質が大きく異なります。noindexも含めて整理すると次のようになります。

項目 canonicalタグ 301リダイレクト noindexタグ
性質 検索エンジンへのヒント(推奨) 恒久的な転送(強いシグナル) インデックス拒否の指示
ユーザーの動き 元のページをそのまま閲覧できる 強制的に転送先へ移動する ページは閲覧できる
評価の扱い 正規URLに集約されやすい 転送先に引き継がれる 集約されず、評価が失われる
主な用途 重複・類似ページを残しつつ評価を統合 旧URLの完全な統合・サイト移転 検索結果に出したくないページ
実装場所 HTMLの<head>/HTTPヘッダー サーバー設定(.htaccess等) HTMLの<head>/HTTPヘッダー

使い分けの基準はシンプルです。「両方のページをユーザーに見せ続ける必要があるか」で判断します。

  • 旧ページはもう不要でユーザーにも見せない → 301リダイレクト
  • 両方のページに役割があり、検索評価だけまとめたい → canonicalタグ
  • 検索結果に一切出したくない(会員限定ページ、サンクスページ等) → noindex

なお、301リダイレクトのほうが検索エンジンにとって強いシグナルとされているため、統合してしまって問題ないURLであれば301リダイレクトのほうが確実です。

canonicalタグ設定時の注意点

canonicalは設定が簡単な一方で、間違えるとインデックスから消えるなど影響が大きいタグです。以下の点は必ず押さえてください。

正規ページには自己参照canonicalを入れる

正規URLとなるページ自身に、自分自身を指すcanonicalタグ(自己参照canonical)を入れておくことが推奨されています。

<!-- https://example.com/seo/canonical/ 内の記述 -->
<link rel="canonical" href="https://example.com/seo/canonical/">

一見すると無意味に見えますが、パラメータが付与されたURLでアクセスされた場合の正規化や、他サイトから不適切なcanonicalを向けられた際の防御として機能するとされています。「自己参照canonicalとは何ですか?」という質問が多いのは、この必要性が直感的にわかりにくいためでしょう。

内容の異なるページを指定しない

canonicalは「内容が同一または非常に類似している」ことが前提です。まったく別のテーマのページを正規URLとして指定すると、Googleはその指定を無視する可能性が高く、最悪の場合はサイト全体のシグナルの信頼性を損ないます。似ているだけの別コンテンツを安易に統合しないことが大切です。

noindexタグとの併用は避ける

canonicalは「このURLに評価を集約してください」という依頼、noindexは「インデックスしないでください」という指示です。同じページに対してこの2つを組み合わせると、評価せよ/評価するなという矛盾したシグナルを検索エンジンに送ることになります。基本的には併用を避け、どちらか一方を選ぶべきだとされています。

特に危険なのが、canonicalの指定先ページにnoindexが設定されているケースです。この場合、集約先が検索対象から外れているため、集約元も含めて検索結果に出なくなる恐れがあります。設定後は指定先ページのメタタグも必ず確認してください。

なお、自己参照canonicalとnoindexの組み合わせについては矛盾が生じないため問題ないとする見解もありますが、意図せぬ事故を避けるためにも、noindexを使うページではcanonicalの設計を慎重に確認しましょう。

同一ページに複数のcanonicalタグを記述しない

1ページに複数のcanonicalタグがあると、Googleはすべての指定を無視する可能性があります。テーマとプラグイン、あるいはプラグイン同士が二重に出力していないか、実際のHTMLソースで確認してください。HTMLタグとHTTPヘッダーの両方で異なるURLを指定するのも同様に避けるべきです。

URLは絶対パスで記述する

/seo/canonical/のような相対パスでも技術的には解釈されますが、記述ミスや環境差異で意図しないURLを指してしまうリスクがあります。必ずhttps://から始まる絶対パスで記述し、www有無・末尾スラッシュ有無・httpsの3点が実際のURLと一致しているかを確認しましょう。

そのほか、canonicalタグは必ず<head>内に置くこと、canonicalで指定した正規URLだけをXMLサイトマップに記載すること、内部リンクも正規URLに統一することを守ると、シグナルの一貫性が高まります。

canonicalタグの設定を確認する方法

設定したcanonicalが意図どおり機能しているかは、次の方法で確認できます。

1. HTMLソースを直接確認する ブラウザでページを開き、Ctrl+U(MacはCommand+Option+U)でソースを表示し、「canonical」で検索します。最も手軽で確実な方法です。ただし、JavaScriptで動的に出力している場合はデベロッパーツールの「要素」タブで確認してください。

2. Google Search ConsoleのURL検査ツールを使う Search Consoleの「URL検査」に対象URLを入力すると、「ユーザー宣言の正規URL(サイト側が指定したURL)」と「Googleが選択した正規URL」の両方が表示されます。この2つが一致していなければ、Googleがサイト側の指定を採用していないということです。「適切なcanonicalタグありとはどういう意味ですか?」という疑問は、この画面表示に由来することが多く、要するに「正規URLの指定は正しく認識されている」という状態を指します。

3. インデックス作成レポートを確認する Search Consoleの「ページ」レポートで「重複しています。ユーザーにより、正規URLとして選択されていません」「重複しています。Googleにより、ユーザー指定とは異なるURLが正規URLとして選択されました」といった項目が出ていないかを確認します。後者が出ている場合は、内容の類似度や内部リンク構造を見直す必要があります。

4. クローラーツールで一括確認する サイト全体を確認したい場合は、Screaming Frog SEO Spiderなどのクロールツールを使うと、全ページのcanonical設定を一覧で抽出できます。ページ数の多いサイトでは目視確認が現実的でないため、ツール活用が有効です。

canonicalに関するよくある質問

自己参照canonicalとは何ですか?

ページ自身のURLを正規URLとして指定するcanonicalタグのことです。重複ページがない場合でも設定しておくことが推奨されており、パラメータ付きURLでのアクセスや外部からの不適切なcanonical指定に対する備えになります。WordPressでは標準で自動出力されます。

canonicalタグは指定すれば必ず反映されますか?

いいえ。canonicalは命令ではなくあくまでヒントとして扱われるため、Googleが別のURLを正規と判断することがあります。反映されない場合は、指定先の内容が本当に類似しているか、内部リンクやサイトマップが正規URLを指しているか、noindexとの矛盾がないかを点検しましょう。また、反映にはクロールと再評価の時間が必要なため、設定直後に判断せず一定期間様子を見ることも大切です。

canonicalタグは必ず設定しなければいけませんか?

すべてのページに必須というわけではありませんが、重複・類似URLが発生しうるサイトでは実質的に必要と考えたほうがよいでしょう。特にパラメータを多用するサイトやECサイトでは、設定しないと評価分散が起こりやすくなります。一方、静的な小規模サイトであれば自己参照canonicalを入れておく程度で十分なケースもあります。

「Canonical」というUbuntuの開発元企業との違いは?

「canonicalとはどんな会社?」「canonicalとは ubuntu」といった検索も一定数あります。これはLinuxディストリビューション「Ubuntu」を開発・支援している英国のIT企業Canonical Ltd.を指しており、本記事で解説してきたSEOのcanonicalタグとはまったく別のものです。同じ単語ですが文脈が異なるため、検索する際は「canonical タグ」「canonical SEO」のように語を足すと目的の情報にたどり着きやすくなります。

まとめ

canonicalタグは、内容が同一・類似する複数のURLの中から検索エンジンに評価してほしい正規URLを伝えるHTMLタグです。本記事の要点を整理します。

  • canonicalタグは<head>内に<link rel="canonical" href="...">の形で記述し、URLの正規化を行う
  • 重複コンテンツによる評価の分散を防ぎ、被リンクなどのシグナルを1つのURLに集約する効果がある
  • 計測用パラメータ、ABテスト、ECサイトのバリエーション、PC/スマートフォンの別URL、AMPなどで設定が必要になる
  • 設定方法はHTML記述、HTTPレスポンスヘッダー、WordPressのSEOプラグインの3通りが基本
  • 301リダイレクトはユーザーごと転送する強いシグナル、canonicalは両方見せたまま評価だけ統合する手段という違いがある
  • 注意点は、自己参照canonicalを入れる/内容の異なるページを指定しない/noindexと矛盾させない/複数記述しない/絶対パスで書く、の5点
  • 設定後はHTMLソースとSearch ConsoleのURL検査で、Googleが選択した正規URLと一致しているかを必ず確認する

canonicalはあくまでヒントであり、指定すれば必ず反映されるものではありません。だからこそ、タグの記述だけで完結させず、内部リンク・XMLサイトマップ・リダイレクト設定まで含めてサイト全体で一貫したシグナルを送ることが、URL正規化を成功させる近道です。

タイトルとURLをコピーしました