Webサイトを運営する中で、表示内容は同じなのにURLが一部異なるページが意図せず生成されてしまうことは珍しくありません。特にECサイトや長く運営しているBtoBサイト、大規模なメディアサイトでは、この問題が頻発します。
検索エンジンにこれらが「重複コンテンツ」とみなされると、SEO評価が分散したり、ペナルティを受けたりするリスクがあります。この問題を解決し、検索エンジンに「正規のURL」を伝えるための重要な手段が「canonical(カノニカル)タグ」です。
この記事では、canonicalタグの基礎知識から設定すべき具体的なケース、記述方法や注意点について、Web制作とSEOのマーケティングの両視点から解説します。
canonical(カノニカル)タグとは、Webサイト内に内容が重複・類似しているページが複数存在する場合に、検索エンジンに対して「このページが本家(正規)のURLです」と示すためのHTMLタグのことです。
<link rel=”canonical” href=”正規のURL”>という記述をHTMLのヘッダー内に設置することで、検索エンジンのクローラーに対して優先すべきページを指示します。これにより、評価してほしいURLを明確に指定することができます。
URLの正規化とは、内容が同じであるにもかかわらず複数のURLでアクセスできてしまう状態を解消し、検索エンジンからの評価を1つのURLに統合(一本化)する処理のことを指します。
例えば、「wwwあり・なし」や「http・https」の違い、PC用とスマホ用でURLが異なる場合などが該当します。人間が見る分には同じページに見えても、検索エンジンはURLが1文字でも違えば「別のページ」として認識します。これらを放置するとSEO評価が分散してしまうため、canonicalタグや301リダイレクトを用いて正規化を行う必要があります。
Googleなどの検索エンジンは、内容が酷似したページが大量に存在することを評価しない傾向があります。そのため「コピーコンテンツ(重複コンテンツ)」と判断されると、検索順位が大幅に下げられたり、検索結果から削除されたりする可能性すらあります。
つまり、canonicalタグで「これはコピーではなく正規のバリエーションである」と正しく伝えることで、意図しないペナルティのリスクを回避しサイト全体の品質評価を保つことができます。
同じコンテンツに対して複数のURLが存在すると、外部サイトからのリンク(被リンク)やSNSでのシェアがそれぞれのURLに分散してしまいます。
例えば、ある人はパラメータ付きのURLにリンクし、ある人はパラメータなしのURLにリンクした場合、本来1つのページに集まるはずだった「リンクのパワー」が半分ずつに分かれてしまいます。URLを正規化することで、これらの評価を1つのページに集約し、検索順位の向上につなげることができます。
検索エンジンのクローラーが1つのサイトを巡回(クロール)できるリソースには限りがあり、これを「クロールバジェット」と呼びます。
重複ページが大量にあると、クローラーは無駄なページの巡回にリソースを使ってしまい本来見てほしい重要なページへの到達が遅れる可能性があります。正規化を行うことでクローラーの巡回効率を高め、重要なページを素早くインデックスさせることも可能になります。
ECサイト(ネットショップ)では、商品の並び替え(価格順・新着順)や、色・サイズ違いの表示などで、URL末尾に「?sort=price」などのパラメータが付与されることがよくあります。
これらはコンテンツの内容自体はほぼ同じであるため、canonicalタグを設定しないと大量の重複コンテンツが発生します。ECサイト構築においては、商品一覧ページや商品詳細ページでの適切な正規化設定が必須となります。
最近はレスポンシブデザインが主流ですが、システム上の理由などでPC用URL(example.com)とスマホ用URL(https://www.google.com/search?q=sp.example.com)を分けているケースがあります。
この場合、それぞれのページに「アノテーションタグ」を設定する必要があります。スマホ向けページにはcanonicalタグでPC向けURLを正規URLとして指定し、逆にPC向けページにはrel=”alternate”タグでスマホ版の存在を通知することで、両者の関係性を正しくGoogleに伝えます。
Web広告やメルマガからの流入を計測するために、URL末尾に「?utm_source=…」などの計測用パラメータを付与することがあります。
これらのURLでアクセスされた場合も、検索エンジンは別ページとして認識する可能性があります。ランディングページ等の重要なページには必ず自己参照(自分自身に向けた)canonicalタグを設定し、パラメータが付いても評価が分散しないように対策する必要があります。
canonicalタグは、HTMLの<head>セクション内に記述します。基本的な書き方は以下の通りです。
<head>
…
<link rel=”canonical” href=”[https://www.example.com/page-a/](https://www.example.com/page-a/)” />
…
</head>
href属性には、正規化したい(検索結果に表示させたい)URLを記述します。
hrefに記述するURLは、必ず「https://」から始まる絶対パスで記述することを推奨します。
「/page-a/」のような相対パスで記述してしまうと、ブラウザやクローラーが解釈する際に意図しないURLとして認識されるリスクがあります。特に「http」と「https」や、「www」の有無を厳密に区別するためにも、完全なURLを記述することがSEO上の鉄則です。
WordPressやShopify、MakeShop、EC-CUBEなどのCMSやカートシステムを使用している場合、多くは自動的にcanonicalタグを出力する機能が備わっています。
ただし、テーマの設定や導入しているプラグインによっては、意図しないURLが出力されていたり、重複して出力されていたりする場合もあります。導入時やリニューアル時には、必ずソースコードを確認し、正しく正規化が行われているかチェックすることが重要です。
指定したcanonical先のURLが存在しない(404エラー)、またはアクセスできない状態になっているケースです。
これでは検索エンジンに対して「存在しないページを正規として扱ってほしい」と指示していることになり、インデックス登録されなくなる重大なミスとなります。ページの削除やURL変更を行った際は、canonicalタグの記述も忘れずに修正する必要があります。
canonicalタグは必ず<head>タグ内に記述する必要があります。<body>タグ内に記述しても、検索エンジンはそれを無視します。
Web制作の現場でも、JavaScriptなどで動的にタグを挿入しようとする際などに発生しやすいミスです。GoogleはJavaScriptによる挿入も処理できるケースが増えていますが、確実性を高めるためにはHTMLソースの段階で内に出力される設計が望ましいです。
記事一覧や商品一覧などで「2ページ目」「3ページ目」がある場合、それら全てに「1ページ目」に向けたcanonicalタグを設定するのは間違いです。
2ページ目以降にはそれぞれ異なる商品や記事(ユニークなコンテンツ)が含まれているため、1ページ目に正規化してしまうと、それらのコンテンツが検索エンジンに認識されなくなります。ページネーションの場合は、それぞれのページが自分自身を指すようにするか、canonicalタグを使用しない(またはrel=”next/prev”の概念を理解する)のが一般的です。
canonicalタグによるURL正規化は、Webサイトの評価を正しく検索エンジンに伝え、SEO効果を最大化するために欠かせない技術的な施策です。
特に商品数の多いECサイトや、システムで動的にURLが生成されるサイトにおいては、売上や集客に直結する重要な要素となります。
しかし、その設定には「絶対パスの使用」や「重複の回避」「システムごとの仕様理解」など、専門的な知識と注意深い実装が必要です。誤った設定は逆に検索順位を下げる原因にもなりかねません。
正しいURL正規化の実装には、SEOの知識だけでなくWebサイトの裏側にあるHTMLやシステム、サーバーの理解が不可欠です。
当社では、テクニカルSEOはもとよりSEO全体の施策提案から実装まで対応が可能です。
「自社サイトのURL構造が正しいか不安」「提案はもらったが実行ができない」といったお悩みをお持ちの企業様は、ぜひ一度SynQ Partners株式会社へご相談ください。貴社のサイトを診断し、最適な改善策を実行まで行います。