重複コンテンツとcanonicalの基本|SEOでURLの評価を整理するための入門ガイド
重複コンテンツとは、同じまたは非常に似た内容のページが複数のURLで表示されている状態です。この記事では、重複コンテンツが発生する原因、canonicalの基本、301リダイレクトとの使い分け、実装時の注意点、Search Consoleでの確認ポイントまでを初心者向けに分かりやすく整理して解説します。
Webサイトを運営していると、意図しないうちに似た内容のページが複数できてしまうことがあります。
たとえば、wwwあり・なし、http・https、URLパラメータ、商品バリエーション、テスト環境の残存などが原因で、同じような内容のページが複数のURLで表示されるケースです。
このような状態を整理せずに放置すると、検索結果に出したいURLがぶれたり、内部リンクや外部リンクの評価が分散したり、Search Console上のデータが見にくくなったりすることがあります。
そこで重要になるのが、canonical(カノニカル)です。 canonicalは、似た内容のページが複数あるときに、検索エンジンへ「優先して扱ってほしい正規URL」を伝えるための仕組みです。
ただし、canonicalは便利な反面、設定を間違えると重要なページが検索結果に出にくくなることもあります。 URL変更やリダイレクトの基本から確認したい場合は、 404エラーとリダイレクトの基本 もあわせて参考になります。
重複コンテンツとは何か
重複コンテンツとは、同じ、または非常に似た内容のページが、複数のURLで表示されている状態を指します。
ここで大切なのは、重複コンテンツは必ずしも悪意あるコピーだけではないということです。 多くの場合、CMSの仕様、パラメータ、カテゴリ設計、ECサイトの商品バリエーション、URL正規化の不足などによって、意図せず発生します。
たとえば、次のようなURLがすべて同じ内容を表示している場合、検索エンジンから見ると「どのURLを代表として扱うべきか」が分かりにくくなります。
https://example.com/service/
https://www.example.com/service/
http://example.com/service/
https://example.com/service/?utm_source=x
人間から見れば同じページでも、検索エンジンにとっては別々のURLです。 そのため、サイト運営者側でどのURLを正規として扱いたいかを整理しておくことが重要です。
重複コンテンツが発生しやすいケース
重複コンテンツは、さまざまな場面で発生します。 代表的なケースを見ていきましょう。
1. wwwあり・なし、http・httpsの混在
サイトが次のように複数のURLで表示されるケースです。
http://example.com/
https://example.com/
https://www.example.com/
現在はhttpsに統一するのが一般的ですが、設定が不十分だと複数のURLで同じページが表示されることがあります。
この場合は、canonicalだけでなく、301リダイレクトでURLを統一することも検討します。
2. URLパラメータによる重複
ECサイトや一覧ページでは、並び替えや絞り込みのためにURLパラメータが付くことがあります。
/category/shoes/
/category/shoes/?sort=price
/category/shoes/?sort=new
/category/shoes/?utm_source=mail
並び替えや計測用パラメータによって内容がほぼ同じページが増えると、正規URLが分かりにくくなることがあります。
ただし、絞り込みページが独自の検索需要を持つ場合もあります。 たとえば「黒い革靴 メンズ」のように、絞り込み条件自体が検索ニーズに合う場合は、単純にすべてcanonicalで元ページへまとめるのではなく、個別ページとして活かす判断も必要です。
3. 商品バリエーションによる類似ページ
色違い、サイズ違い、容量違いなどの商品ページが個別URLで生成される場合、本文の多くが共通になりやすいです。
/product/t-shirt-red/
/product/t-shirt-blue/
/product/t-shirt-black/
それぞれに独自の説明、画像、在庫情報、レビューなどがあるなら個別ページとして意味があります。 一方で、色名だけが違い、内容がほぼ同じなら、代表ページへcanonicalを向けるか、商品ページの設計を見直す必要があります。
4. カテゴリ・タグ・アーカイブページの重複
ブログやCMSでは、同じ記事が複数の一覧ページに表示されることがあります。
- カテゴリ一覧
- タグ一覧
- 月別アーカイブ
- 著者アーカイブ
- 検索結果ページ
これらの一覧ページは、便利なナビゲーションになる一方、内容が似たページを大量に生むことがあります。 必要な一覧ページは残しつつ、低品質な一覧ページや検索結果ページをインデックス対象にするかどうかは慎重に判断します。
5. テスト環境・旧環境の残存
本番サイトと同じ内容が、テスト環境や旧ドメインに残っているケースもあります。
https://example.com/
https://test.example.com/
https://old.example.com/
テスト環境がインデックスされると、本番サイトと重複して見えることがあります。 この場合は、テスト環境を認証で保護する、noindexを設定する、robots.txtやサーバー側で制御するなど、公開状態に応じた対策が必要です。
重複コンテンツはペナルティになるのか
「重複コンテンツがあるとGoogleからペナルティを受ける」と心配されることがあります。 しかし、通常のサイト運営で発生する重複があるだけで、すぐに手動ペナルティになるわけではありません。
問題は、検索エンジンとユーザーにとって、どのページを優先すべきか分かりにくくなることです。
1. 検索結果に出したいURLがぶれる
Googleは、複数の類似URLがある場合、独自に正規URLを選ぶことがあります。 その結果、サイト運営者が見せたいURLではなく、別のURLが検索結果に表示されることがあります。
2. 評価やリンクシグナルが分散しやすい
外部サイトや内部リンクが複数のURLへ分かれていると、正規URLへ評価を集めにくくなることがあります。
https://example.com/service/
https://example.com/service/?utm_source=x
canonicalや301リダイレクトを使って正規URLを明確にすると、リンクやインデックス上のシグナルを整理しやすくなります。
3. クロール効率が悪くなることがある
大規模サイトやECサイトでは、パラメータURLや類似ページが大量にあると、検索エンジンが重要ページを見つける効率が悪くなることがあります。
小規模サイトでは過度に心配しすぎる必要はありません。 ただし、商品数が多いECサイト、絞り込みURLが大量に生成されるサイト、CMSで一覧ページが増えやすいサイトでは、URL管理を早めに整理しておくと安心です。
canonicalタグとは?
canonicalタグとは、複数の重複・類似ページがあるときに、検索エンジンへ「優先して扱ってほしい正規URL」を伝えるためのHTMLタグです。
基本的には、HTMLの <head> 内に次のように記述します。
<link rel="canonical" href="https://example.com/sample-page/">
この記述は、「このページの正規URLは https://example.com/sample-page/ です」と検索エンジンに伝える役割を持ちます。
ただし、canonicalは命令ではなく、正規URLを伝えるためのヒントです。 そのため、canonicalを設定していても、内部リンク、サイトマップ、リダイレクト、ページ内容などが矛盾していると、Googleが別のURLを正規URLとして選ぶことがあります。
canonicalでできること・できないこと
canonicalでできること
canonicalには、次のような役割があります。
- 重複・類似ページの中で優先したいURLを伝える
- 検索結果に表示してほしいURLを示す
- 重複ページのシグナルを正規URLへまとめる助けになる
- パラメータ付きURLや類似ページの整理に使える
- Search Console上で正規URLの意図を伝えやすくなる
canonicalでできないこと
一方で、canonicalには限界もあります。
- 必ず指定先が検索結果に出るとは限らない
- クロール自体を止めるものではない
- noindexの代わりにはならない
- 関係ないページ同士の評価統合には使うべきではない
- ユーザーを別URLへ転送する機能はない
canonicalは「このURLを正規として扱ってほしい」と伝えるものです。 ユーザーを実際に移動させたい場合は、301リダイレクトなどを使います。
canonicalと301リダイレクトの使い分け
canonicalと301リダイレクトは、どちらもURLの評価や正規URLの整理に関係します。 ただし、役割は異なります。
| 項目 | canonical | 301リダイレクト |
|---|---|---|
| ユーザーの移動 | 移動しない | 自動で移動する |
| 主な用途 | 類似ページを残したい場合 | URLを完全に統合したい場合 |
| 検索エンジンへの伝え方 | 正規URLのヒント | 恒久的移動の強いシグナル |
| 例 | 並び替えURL、類似商品ページ | URL変更、記事統合、サイト移転 |
canonicalを使うケース
canonicalは、重複・類似ページを残す必要がある場合に向いています。
- 商品一覧の並び替えURL
- 計測用パラメータ付きURL
- 似た商品バリエーションページ
- 印刷用ページ
- PC・スマホでURLが分かれているサイトの正規化
ユーザーにはそのページを見せたいが、検索結果には代表URLを出したい、という場合に使いやすいです。
301リダイレクトを使うケース
301リダイレクトは、旧URLをもう使わず、新URLへ完全に移動したい場合に使います。
- 記事URLを変更した
- 2つの記事を1つに統合した
- サイト移転をした
- HTTPからHTTPSへ統一した
- wwwあり・なしを統一した
URLの完全な移動や統合については、 404エラーとリダイレクトの基本 も参考になります。
canonicalの正しい実装方法
canonicalを設定するときは、基本を丁寧に守ることが大切です。
1. head内に記述する
canonicalタグは、HTMLの <head> 内に記述します。
<head>
<link rel="canonical" href="https://example.com/sample-page/">
</head>
body 内に書いても正しく処理されない可能性があるため、必ずhead内に入れます。
2. 絶対URLで書く
canonicalのURLは、できるだけ絶対URLで記述します。
<link rel="canonical" href="https://example.com/sample-page/">
/sample-page/ のような相対URLよりも、プロトコルやドメインを含む完全なURLのほうが意図が明確です。
3. 正規URLは200で表示されるページにする
canonical先は、正常に表示されるページにします。
避けたい例は次のとおりです。
- 404になっているURL
- noindexが付いているURL
- リダイレクトされるURL
- robots.txtでブロックされているURL
- 内容が大きく違うURL
canonical先が正しく表示されない場合、検索エンジンに意図が伝わりにくくなります。
4. 自己参照canonicalを設定する
重複がない通常ページでも、自分自身をcanonicalに指定する「自己参照canonical」を設定しておくと安心です。
<link rel="canonical" href="https://example.com/sample-page/">
このページが https://example.com/sample-page/ の場合、自分自身を正規URLとして示していることになります。
自己参照canonicalは、UTMパラメータや意図しないURL揺れが発生したときの防御策として役立ちます。
5. 内部リンク・サイトマップと矛盾させない
canonicalで正規URLを指定していても、内部リンクやサイトマップが別URLを指していると、シグナルが矛盾します。
たとえば、canonicalでは
https://example.com/service/
を指定しているのに、サイト内リンクでは
https://www.example.com/service/
へリンクしているような状態です。
このような矛盾が多いと、Googleが別のURLを正規URLとして選ぶことがあります。 canonical、内部リンク、サイトマップ、リダイレクト設定は、できるだけ同じURLにそろえましょう。
内部リンクの整え方は、 初心者でもできる内部リンクの付け方 も参考になります。
ページネーションでのcanonicalの注意点
ページネーションとは、一覧ページや記事を複数ページに分ける仕組みです。
/category/page/1/
/category/page/2/
/category/page/3/
このとき、2ページ目、3ページ目のcanonicalをすべて1ページ目へ向けるのは、基本的には避けたほうがよいです。
なぜなら、2ページ目以降には、1ページ目とは違う商品や記事が載っていることが多いからです。 その場合、2ページ目、3ページ目もそれぞれ独自の一覧ページとして意味を持ちます。
基本的には、各ページが独自の内容を持つなら、各ページで自己参照canonicalを設定します。
<!-- 2ページ目なら -->
<link rel="canonical" href="https://example.com/category/page/2/">
ただし、すべての商品や記事を表示する「view-all」ページがあり、それがユーザーにとって最も有用な場合は、設計に応じて正規URLを検討することもあります。 ページネーションはサイト構造によって最適解が変わるため、安易に一律設定しないことが大切です。
noindexとcanonicalの使い分け
noindexとcanonicalは混同されやすいですが、目的が違います。
| 項目 | noindex | canonical |
|---|---|---|
| 目的 | 検索結果に出さない | 正規URLを伝える |
| 対象ページ | インデックスさせたくないページ | 重複・類似ページ |
| 検索エンジンへの扱い | インデックス除外の指示 | 正規URLのヒント |
| 例 | 社内用ページ、検索結果ページ | パラメータURL、類似ページ |
noindexは、そのページを検索結果に出したくない場合に使います。 canonicalは、似たページが複数ある中で、正規URLを伝えたい場合に使います。
たとえば、Aページを検索結果に出したくないならnoindex。 AページとBページがほぼ同じ内容で、Bを正規にしたいならAからBへcanonical。 このように整理すると分かりやすいです。
noindexとcanonicalを同時に使うべきか
原則として、同じページでnoindexとcanonicalを同時に使うのは慎重に考えたほうがよいです。
理由は、意図が分かりにくくなるためです。
- noindex:このページを検索結果に出さないでほしい
- canonical:このページの正規URLは別ページだと伝えたい
この2つを同時に使うと、検索エンジンに対して「このページを消したいのか」「別ページへ正規化したいのか」が分かりにくくなることがあります。
実務では、目的に応じて次のように考えると安全です。
- 検索結果に出したくないページ → noindex
- 重複ページの評価を正規URLへまとめたい → canonical
- URLを完全に廃止したい → 301リダイレクトまたは404/410
canonicalでよくあるミス
canonicalは小さなタグですが、ミスをすると影響が大きくなることがあります。
1. 全ページをトップページへcanonicalする
これは非常に危険な設定です。 各ページのcanonicalがすべてトップページを指していると、Googleに「各ページではなくトップページを正規として扱ってほしい」と伝えてしまいます。
結果として、個別記事やサービスページが検索結果に出にくくなる可能性があります。 canonicalは、関連する重複・類似ページ同士で使うものです。 すべてをトップページへ向けるものではありません。
2. 関係ないページへcanonicalする
内容が違うページへcanonicalを向けても、意図通りに処理されるとは限りません。
たとえば、ブログ記事AからサービスページBへcanonicalするような設定は、通常は不自然です。 正規化したいページ同士は、内容が同じ、またはかなり類似している必要があります。
3. canonical先が404になっている
canonical先が404の場合、検索エンジンは正規URLとして扱いにくくなります。 canonical先は、正常に表示される200のページにしましょう。
4. リダイレクト先をcanonicalにしている
canonical先がさらに別URLへリダイレクトされると、意図が複雑になります。 可能であれば、最終的に表示される正規URLを直接canonicalに指定します。
5. hreflangとcanonicalが矛盾している
多言語サイトでは、hreflangとcanonicalの設定が矛盾しないように注意が必要です。
たとえば、日本語ページのcanonicalが英語ページを指していると、日本語ページを正規として扱いにくくなります。 多言語ページでは、各言語ページが自己参照canonicalを持ち、そのうえでhreflangで言語・地域の関係を示す設計が基本です。
Search Consoleで確認したいポイント
canonical設定後は、Google Search Consoleで状態を確認します。
1. ユーザー指定の正規URLとGoogleが選択した正規URL
URL検査では、ユーザーが指定した正規URLと、Googleが選択した正規URLを確認できることがあります。
ここが一致していれば、意図通りに認識されている可能性が高いです。 一致していない場合は、内部リンク、サイトマップ、リダイレクト、ページ内容、canonicalタグの記述を見直します。
2. 重複によりインデックス未登録
Search Consoleのページレポートでは、重複によってインデックスされていないURLが確認できることがあります。
ただし、重複URLが意図通りcanonical先へまとまっているなら問題ではありません。 意図していないURLが正規として選ばれている場合や、出したいページが除外されている場合は修正が必要です。
3. サイトマップに含めるURL
サイトマップには、基本的に検索結果に出したい正規URLを含めます。 canonicalで別URLを正規にしているページを大量にサイトマップへ入れると、シグナルがぶれやすくなります。
canonical設定の基本チェックリスト
最後に、実装時に確認したい項目を整理します。
- canonicalはhead内にあるか
- canonical URLは絶対URLで書かれているか
- canonical先は200で表示されるか
- canonical先にnoindexが付いていないか
- canonical先がリダイレクトされていないか
- 内部リンクは正規URLへ向いているか
- XMLサイトマップに正規URLを入れているか
- 関係ないページへcanonicalしていないか
- ページネーションをすべて1ページ目へcanonicalしていないか
- noindexとcanonicalを目的なく併用していないか
- Search ConsoleでGoogleが選んだ正規URLを確認したか
まとめ
重複コンテンツとcanonicalは、内部SEOの土台になる重要なテーマです。
大切なのは、重複コンテンツを必要以上に怖がることではありません。 検索結果に出したい正規URLを明確にし、内部リンク・サイトマップ・リダイレクト・canonicalの向きをそろえることです。
- 重複コンテンツは意図せず発生することが多い
- 重複があるだけで即ペナルティになるわけではない
- canonicalは正規URLを伝えるためのヒント
- URLを完全に移動するなら301リダイレクトを使う
- 類似ページを残したいならcanonicalを使う
- canonical先は200で表示される正規URLにする
- ページネーションを安易に1ページ目へまとめない
- noindexとcanonicalは目的に応じて使い分ける
- Search ConsoleでGoogleが選んだ正規URLを確認する
まずは、自社サイトで 「同じ内容が複数URLで表示されていないか」 「canonical先が正しいURLになっているか」 「内部リンクやサイトマップとcanonicalが矛盾していないか」 を確認してみてください。
URLの整理は地味ですが、サイトが大きくなるほど効いてくる重要なメンテナンスです。