重複コンテンツの検出と対処法 — canonical設定の実践
重複コンテンツとは
重複コンテンツとは、同一または非常に類似したコンテンツが複数のURLでアクセスできる状態を指します。Googleのガイドラインでは、完全に同一のコンテンツだけでなく、内容がほぼ同じで些細な違いしかないページも重複コンテンツとして扱われます。
重複コンテンツはSEOにおいて深刻な問題を引き起こします。検索エンジンがどのページを正規版としてインデックスすべきか判断できず、リンクパワーが複数のURLに分散し、クロールバジェットが無駄に消費される可能性があります。結果として、本来上位表示されるべきページの検索順位が低下してしまいます。
重複コンテンツが発生する主な原因
URLパラメータによる重複
セッションID、トラッキングパラメータ、ソートオプション、フィルター条件などのURLパラメータにより、同じコンテンツが異なるURLで表示されるケースです。
# 同じページが異なるURLでアクセス可能
https://example.com/products/
https://example.com/products/?sort=price
https://example.com/products/?color=red
https://example.com/products/?utm_source=twitter
wwwあり/なしの混在
www付きとwww無しの両方のURLでサイトにアクセスできる場合、すべてのページが2つのURLを持つことになります。
HTTP/HTTPSの混在
HTTP版とHTTPS版の両方でサイトにアクセスできる場合も同様に重複が発生します。
末尾スラッシュの有無
/page と /page/ の両方でアクセスできる場合も技術的には別のURLとして扱われ、重複の原因となります。
印刷用ページ
通常ページと印刷用ページが別URLで存在する場合、コンテンツはほぼ同一であるため重複となります。
canonicalタグによる正規化
canonicalタグ(rel="canonical")は、重複するページの中で正規(カノニカル)URLを検索エンジンに指定するためのHTML要素です。正規ページのURLをcanonicalタグで指定することで、検索エンジンの評価を正規URLに集約できます。
<!-- 正規URLの指定 -->
<link rel="canonical" href="https://example.com/products/" />
canonicalタグのベストプラクティス
- 自己参照canonical:すべてのページに自分自身のURLをcanonicalとして指定する
- 絶対URLを使用:相対パスではなく、https://から始まる完全なURLを記述する
- 一貫性の確保:サイトマップ、内部リンク、canonicalタグで指定するURLを統一する
- ページ単位で設定:各ページに個別のcanonicalタグを設定し、テンプレートで一括設定しない
その他の重複コンテンツ対処法
301リダイレクト
重複するURLから正規URLへ301リダイレクトを設定する方法です。canonicalタグよりも強力なシグナルであり、完全に不要なURLに対しては301リダイレクトが最も確実な対処法です。
URLパラメータの処理
Google Search Consoleでパラメータの扱い方をGoogleに指示することができます。特定のパラメータがコンテンツを変更しないことを伝え、重複の発生を防ぎます。また、サーバー側でパラメータ付きURLをパラメータなしURLにリダイレクトする設定も有効です。
noindexタグ
重複ページのうちインデックスさせたくないページにnoindexメタタグを設定します。ただし、noindexはcanonicalタグとの併用は推奨されません。noindexを設定する場合はcanonicalタグを削除しましょう。
重複コンテンツの検出方法
- Google Search Console:「カバレッジ」レポートで「重複しています」のステータスを確認
- site:検索:「site:example.com タイトル」で同じタイトルを持つページを検索
- Screaming Frog:サイト全体をクロールし、重複するタイトル、メタディスクリプション、コンテンツを検出
- Copyscape:外部サイトとの重複(コンテンツの盗用)を検出
重複コンテンツの問題は放置するとSEOパフォーマンスに深刻な影響を与えます。定期的にサイトを監査し、重複が発生していないかチェックする習慣をつけましょう。