Webサイトを運営していて、「キャノニカルって何?」「SEOに関係あるの?」って疑問に思ったことはないかな。実は、Googleなどの検索エンジンに対して「このページが本当のページです」と教えるための大事な仕組みがあるんだ。この記事を読めば、キャノニカルがなぜ必要で、どう使うのかがスッキリわかるよ。
- キャノニカルはrel=”canonical”というHTMLタグで、『このページが本物です』と検索エンジンに教える機能だ
- 同じ内容が複数のURLで存在するとき、SEOパワーが分散するので重複を統一することで評価を集める
- ECサイト、セッションID付きURL、HTTP/HTTPSの併用など、重複が多い環境で特に重要だ
もうちょっと詳しく
キャノニカルを使う場面をもっと具体的に想像してみよう。例えば、オンラインショップで『靴』というカテゴリーから『スニーカー』『黒色』という条件でフィルターしたページと、直接そのページのURLを打ち込んでアクセスしたページが、見た目は同じだけど異なるURLを持っていることがある。あるいは、あなたのWebサイトを持っていて、サイトの統合や改築をしたときに、古いURLと新しいURLの両方が存在することもあるよね。そういう時に、『ページAがメインで、ページBはページAの複製です』とGoogleに伝えるのがキャノニカルの役割なんだ。
キャノニカルは『強制リダイレクト』じゃなく『参考情報』。ユーザーはそのままページを見られるけど、Googleはカウントを本体ページに寄せる仕組みなんだ。
⚠️ よくある勘違い
→ Googleはあくまで『参考情報』として受け取るだけ。ユーザーが直接そのURLにアクセスすればページは表示される。ただし、SEOの評価は本体ページに集約されるので、検索結果には本体が表示されやすくなるんだ。
→ 正確にはこう考えよう。キャノニカルを設定しても複製ページはインデックスされるかもしれないけど、Googleは『本体はこっち』という指示を参考にして、評価を本体に集中させるんだ。
[toc]
キャノニカルが必要な理由
Webサイトを運営していると、意図しないうちに重複ページが作られてしまうことが多いんだ。例えば、オンラインストアで同じ商品を複数の方法で表示できる場合を考えてみよう。『赤いシャツ』をカテゴリーの『メンズ』→『トップス』という経路でアクセスすると https://shop.example.com/mens/tops/red-shirt というURLが生まれるかもしれない。でも、検索結果から直接その商品にアクセスすると https://shop.example.com/products/red-shirt というURLになることもある。内容は全く同じなのに、異なるURLが存在してしまうわけだ。
こういう重複が問題になる理由は、検索エンジンがどちらを『本物』だと思うか判断できないからなんだ。Googleなどの検索エンジンは、評判の良いページ(リンクが多い、古い、人気がある)を高く評価して検索結果に表示する。でも、同じ内容のページが2つあると、その評価が分散してしまう。例えば、『赤いシャツ』へのリンクが100個あったとしても、50個が https://shop.example.com/mens/tops/red-shirt に向いていて、50個が https://shop.example.com/products/red-shirt に向いていると、どちらも『良いページ』とは言い切れないと判断されてしまうんだ。つまり、1つのページに100個のリンクがあった場合より、検索結果での順位が下がってしまう可能性があるということだよ。
もう一つの問題は、検索結果に不要なページが重複で表示されてしまうことだ。ユーザーが『赤いシャツ』を検索したときに、同じ商品が2つのURLで検索結果に出ていたら、ユーザーは混乱してしまう。どちらをクリックしても同じなら、意味がないよね。Googleも『ユーザーにとって不要な重複は避けたい』と考えているから、キャノニカルタグで『本物はこっち』と指定されたページを優先的に表示するようにしているんだ。
こういった問題を避けるために、キャノニカルは『これが正規版です』と事前に宣言するシステムなんだ。例えば、https://shop.example.com/products/red-shirt が本体だとして、他のURLから https://shop.example.com/products/red-shirt へのキャノニカルタグを設定しておけば、Googleは『複製ページのリンクや評価も、本体ページの評価として数えよう』と判断してくれるんだ。その結果、本体ページの検索順位が上がりやすくなり、ユーザーも本体ページだけを検索結果で見るようになるわけだ。
キャノニカルタグの使い方
キャノニカルタグは、HTMLのhead(ヘッド)という部分に書く。具体的には、こんなコードになるんだ:<link rel="canonical" href="https://example.com/正規ページのURL">。これを複製ページのHTMLに入れておくと、『このページの本体は https://example.com/正規ページのURL です』という指示が検索エンジンに伝わるんだ。
例えば、オンラインショップで『赤いシャツ』のページがあるとしよう。本体ページのURLが https://shop.example.com/products/red-shirt だとしたら、フィルター経由でアクセスしたページ https://shop.example.com/mens/shirts?color=red には、このタグを入れるんだ:<link rel="canonical" href="https://shop.example.com/products/red-shirt">。すると、Googleは『このページは https://shop.example.com/products/red-shirt の複製だな』と理解して、評価を本体ページに集約してくれるわけだ。
もう一つ大事なポイントは、キャノニカルは『自分のサイト内』だけじゃなく、『別のサイト』へ向けることもできるということだ。例えば、あなたがブログで誰かの記事を引用して全文コピーしてしまった場合(もちろん本来はダメだけど)、キャノニカルタグで元の記事を指すようにすれば、Googleに『本体はあっちのサイトです』と伝えられるんだ。こういった使い方もあるんだよ。
ただし、キャノニカルタグを使うときは、指定先のURLが完全に同じ内容であることが大事だ。微妙に異なるバージョンのページにキャノニカルを設定してしまうと、Googleは『これは指示を無視してもいい』と判断することもある。つまり、キャノニカルは『参考情報』であって『絶対命令』ではないんだ。だから、完全に同じ内容のページ間での使用に限定するのが安全だよ。
重複コンテンツが発生する場面
実際のWebサイト運営で、重複コンテンツはどんな場面で発生するのかな。一つは、先ほど話したECサイト(オンラインショップ)のフィルター機能だ。『色で絞り込む』『サイズで絞り込む』『価格帯で絞り込む』といったフィルターを組み合わせると、同じ商品が複数のURLで表示されてしまう。
二つ目は、セッションIDというやつが原因の場合だ。Webサイトを訪問したとき、あなたのアクセスを追跡するために https://example.com/page?sessionid=abc123 というようにURLにIDが付けられることがある。別のセッションで同じページを訪問すると https://example.com/page?sessionid=xyz789 というIDが変わったURLになってしまう。見た目は同じページなのに、URLが違うから別ページと判定されてしまうわけだ。
三つ目は、HTTPとHTTPSの両方が動いている場合だ。HTTPは古い通信方式で、HTTPSはセキュアな新しい方式なんだ。サイトを移行するときに、古いHTTPのページと新しいHTTPSのページが両方存在していることがある。同じ内容だけど異なるプロトコルで2つのURLが存在する状況だね。
四つ目は、『www あり』『www なし』の両方が動いている場合だ。https://example.com と https://www.example.com は、技術的には異なるURLなんだ。でも、両方とも同じコンテンツを表示するように設定されていることもある。
五つ目は、サイトの統合や引越しのときだ。古いドメインから新しいドメインに移転するとき、古いURLと新しいURLの両方が一時的に存在することがある。あるいは、複数のサブドメイン(例えば blog.example.com と news.example.com)を統合するときにも、重複が生じるんだ。
こういった場面では、キャノニカルタグが非常に重要な役割を果たすんだ。『どちらが本体か』を明確にすることで、SEOのパワーが分散するのを防いで、検索順位を維持できるんだよ。
キャノニカルとリダイレクトの違い
キャノニカルに似た機能に『リダイレクト』というものがあるんだ。リダイレクトは『このページにアクセスされても、別のページに自動で移動させる』という機能だ。例えば、https://old-site.example.com にアクセスすると、自動的に https://new-site.example.com に移動してしまうような仕組みだね。これもSEO対策で使われるんだけど、キャノニカルとは全く違う機能なんだ。
リダイレクトの場合、ユーザーが見ているURLが実際に変わってしまう。古いサイトにアクセスしようとしても、新しいサイトに連れていかれちゃうわけだ。一方、キャノニカルはユーザーが見ているページのURLは変わらない。ページの背後で『検索エンジンへの指示』として機能しているだけだから、ユーザーは何も違いを感じないんだ。
サイト全体を別のドメインに移転する場合は『リダイレクト』を使うのが正しい方法だ。でも、同じサイト内の複数のURLが同じ内容を表示していて、その中から『これが本体』を指定したいという場面では『キャノニカル』を使うんだ。例えば、ECサイトで『赤いシャツ』の本体ページと、フィルター経由でアクセスしたページが両方存在する場合、リダイレクトでユーザーを強制的に移動させるのは不便だから、キャノニカルで『背後の指示』として使うわけだ。
もう一つの使い分けは、自分のサイト以外にキャノニカルを向けられるということだ。リダイレクトは『ユーザーを移動させる』ので、自分のサイト内か、完全に移転した先にしか使えない。でも、キャノニカルなら『別サイトの記事が本体で、ここは複製です』と指定できるんだ。これを『クロスドメインキャノニカル』と呼ぶんだけど、シンジケーション(複数のサイトで同じ記事を掲載する)みたいな場面で活躍するんだよ。
キャノニカル設定のコツと注意点
キャノニカルタグを正しく設定するためのコツをいくつか紹介しよう。まず、キャノニカルを指定する先のページが『本当に完全に同じ内容』であることを確認することが大事だ。微妙に違う内容(例えば、1つの商品だけ説明が異なるなど)のページにキャノニカルを設定してしまうと、Googleはそのタグを無視する可能性があるんだ。
二つ目は『チェーンキャノニカル』を避けることだ。例えば、ページAがページBを指し、ページBがページCを指すような連鎖的な指定をしてしまう場合だね。Googleは『最終的な本体はどこ?』と混乱してしまうかもしれない。だから、複製ページから直接本体ページへ指定するのがベストだ。
三つ目は『相対パス』より『絶対パス』を使うことだ。相対パスというのは <link rel="canonical" href="/products/red-shirt"> みたいに書く方式で、絶対パスは <link rel="canonical" href="https://shop.example.com/products/red-shirt"> みたいに完全なURLを書く方式だ。Googleは絶対パスの方が確実に理解できるから、必ず完全なURLを書くようにしよう。
四つ目は『自分の本体ページでもキャノニカルを設定する』という考え方だ。本体ページ自身に『私が本体です』という意味で、自分自身へのキャノニカルを設定することもできるんだ。必須ではないけど、『念のため本体ページもキャノニカルを設定しておく』という方法もあるんだよ。
五つ目は『HTTPS化や新サイトへの移転』の際、キャノニカル設定を忘れずに更新することだ。例えば、古いHTTPからHTTPSに移行するとき、各ページのキャノニカルが古いHTTPのURLを指していたら、Googleは『複製はHTTPSで、本体がHTTP?』と逆に理解してしまうかもしれない。新しい環境に合わせてキャノニカルも更新する必要があるんだ。
最後に、『キャノニカルは参考情報』という点を忘れずに。つまり、Googleがいつもキャノニカルの指示に従うわけではないんだ。内容が全く違うページへのキャノニカル指定とか、何か不自然な指定があれば、Googleは無視することもある。だから、キャノニカルだけに頼るのではなく、『複製を避ける設計』を心がけることが大事なんだよ。
