重複コンテンツとは、複数のURLで同じコンテンツが返される状態をいいます。検索エンジンはそれらのURLを代表する正規URLを選択します。その選択にサイト運営者が介入することをURLの正規化と呼びます。URLの正規化を適切にすることで、分散した評価を正規URLに統合したり、クロールバジェットを節約することができます。
目次
重複コンテンツとは
重複コンテンツとは、あるコンテンツと完全に一致するかまたは非常によく似たコンテンツを返すURLが複数ある状態のことを指しています。サイト内に重複コンテンツが存在することはごく普通のことであり、Googleなどの検索エンジンは重複コンテンツを適切に処理することができます。下は一般的なサイトで発生する重複コンテンツの例です。
# wwwの有無
https://www.example.com/
https://example.com/
# httpとhttps
https://www.example.com/
http://www.example.com/
# 追跡用パラメーターの有無
https://www.example.com/
https://www.example.com/?utm_source=mail
https://www.example.com/?fbclid=xxxxxxxxxxx
# 商品のバリエーション
https://www.example.com/products.php?id=12345
https://www.example.com/products.php?id=12345&color=blue&size=large
https://www.example.com/products.php?id=12345&color=red&size=small
# URLリライトの有無
https://www.example.com/products.php?id=12345
https://www.example.com/products/12345
# ディレクトリインデックスファイル名の有無
https://www.example.com/
https://www.example.com/index.php
# トレーリングスラッシュの有無
https://www.example.com/products
https://www.example.com/products/
# 並び替えフィルターの有無
https://www.example.com/products/
https://www.example.com/products/?sort=price_low
# 端末の種類ごとに代替URLがあるケース
https://www.example.com/
https://www.example.com/sp/
https://www.example.com/tab/
上の各例のURLにブラウザでアクセスしたとき表示されるものがまったく同じか、または非常に似たものであれば、重複コンテンツが発生している状態です。このような重複コンテンツは、多かれ少なかれどんなサイトにも発生するものであり、特段の害はありません。
正規URLとは
正規URLとは、同じか非常に似たコンテンツに複数のURLがある場合に、それらのURLの代表となるひとつのURLのこと1をいいます。Googleなどの検索エンジンは重複コンテンツを発見したとき、正規URLだけをインデックスに登録し、それ以外の重複URLはインデックスから除外します。同じコンテンツが検索結果にいくつも表示されることを防ぐためです。
Googleなどの検索エンジンが正規URLとして選択したURLは通常通りの頻度でクロールやインデックスが行われます。その一方、重複URLとしてインデックスから除外したURLはクロールの頻度が下がり、ネットワークの帯域やサーバーのリソースが節約されます。これらの処理は正常なもので、自動的に行われます。
URLの正規化とは
URLの正規化とは、検索エンジンが重複コンテンツの中から正規URLを選択する処理のこと、または、サイト運営者が適切と考える正規URLを検索エンジンに対して明示的に指定すること2をいいます。SEOの文脈ではほとんどの場合、後者の「サイト運営者による正規URLの指定」のことを指しています。
サイト運営者が行うURLの正規化は検索エンジンに対する要望という位置づけであり、確実なものではありません。しかし、URLの正規化を正しく行えば、サイト運営者が想定したとおりのURLが正規URLとなり、サイト運営者が予期していないURLを検索エンジンが正規URLとして扱ってしまうことを避けられます。
またURLの正規化には、重複URLが受け取っている被リンクなどの評価を正規URLへと統合する意味もあります。Google検索は正規URLを対象にコンテンツや品質を評価します。正規化によって、正規ではないURLへの被リンクなどの評価を正規URLに引き継がせることで、正規URLを正しく評価してもらえる効果が期待できます。
重複コンテンツがSEOに及ぼす影響
重複コンテンツのSEOへの影響について最初に確認しておきたいことは、重複コンテンツの存在がただちに検索ランキングに悪影響を及ぼすことはないということです。ここまで繰り返し述べてきたように、サイト内にまったく同じまたは非常に似たコンテンツを表示する複数のURLがあるのは正常なことです。
良くも悪くも、重複コンテンツがSEOに及ぼす影響は大きくありません。きちんと正規化したからといってインデックスやランキングの状況が大きく改善することはありませんし、正規化のための対応を何もしていなかったらからといってインデックスやランキングの状況が大きく悪化することもありません。
ペナルティを受けるおそれはない
重複コンテンツの存在はペナルティの原因にはなりません。重複コンテンツでペナルティを受けたと誤解されているケースのほとんどすべては、スパムポリシー3で明確に禁止されている「無断複製されたコンテンツ」や「内容の薄いアフィリエイト ページ」に該当しています4。他のコンテンツの単純なコピーまたは焼き直しのコンテンツが低評価やペナルティの原因です。
繰り返しですが、重複コンテンツが存在することはごく普通のことであり、それをGoogleが発見することもまた普通のことです。そうした普通のことが、極端な低評価やペナルティの原因になることはありません。ランキングを操作することを目的に似たページを量産するようなことをしていないのなら、重複コンテンツについて神経質になる必要はありません。
評価が分散するおそれがある
よくある重複コンテンツであれば、検索エンジンは重複コンテンツの評価を正規URLに統合できると考えられています。ディレクトリインデックスのファイル名の有無(URLが “/” で終わるか “/index.php” などで終わるか)や、プロトコルの違い( “http” か “https” か)などであれば、正規URLの選択を検索エンジンに任せても問題ありません。
しかし状況によっては、サイト運営者が考える正規URLと重複URLの間で検索エンジンの評価が分散してしまうこともあります。サーチコンソールのインデックスレポートで、正規URLだけでなく、本来なら重複として除外されるはずの非正規のURLもインデックス登録済みになっているような状況です。
例えば、URLリライトを実施している場合で、リライト前のURLとリライト後のURL( “/products.php?id=12345” と “/products/12345” のような)のどちらでも正常にアクセスでき、どちらのURLもサイト内外からの被リンクを受けているような場合です。こうしたケースでは、正規化によって評価の分散を解消することで、本来の正規URLのランキングの状況をわずかに改善できる可能性があります。
クロールバジェットを浪費するおそれがある
検索エンジンが適切に正規URLを決定することができずに、本来であれば頻繁なクロールの必要のない非正規URL(つまり重複コンテンツ)にもクローラーが頻繁に巡回してくることがあります。このような状況になってしまうと、そのサイトに割り当てられたクロール量(クロールバジェットと言います)を無駄に使ってしまいます。
例えば、同一のコンテンツが複数のURLでサイト内外からの被リンクを受け取っているような場合や、検索エンジンが正規URLに選択したURLとは異なるURLをサイト運営者が正規URLとして指定しているような場合に、不要なクロールが発生し、クロールバジェットを浪費します。そうなると、本来の正規URLへのクローラーの巡回が減少してしまいます。
こうした場合には、適切にURLを正規化することで、重複コンテンツへの不要なクロールを削減し、そのぶんのクロールバジェットを正規URLのクロールに回すことができる可能性があります。通常のサイトであればクロールバジェットを気にする必要はありませんが、クロールバジェットの管理が一定の効果を発揮するECサイトやデータベース型サイトなどでは有効な施策となります。
重複URLを正規化する
繰り返しですが、重複コンテンツがSEOに及ぼす影響は、通常であれば無視してもよい程度に小さなものです。したがって、重複URLがインデックスされて正規URLがインデックスされないなどの問題が発生している場合を除けば、正規化のための施策を打ったとしても目覚ましい改善は期待できません。5
その一方で、正規化の指示に誤りがあった場合には無視できない影響があります。誤った正規化の指示はインデックスやランキングに大きなダメージを与えます。URLの正規化に関連する問題で筆者がこれまでに見てきたもののほとんどすべては、誤った形でURLの正規化の指示を出していることが原因で発生しているものです。
ここで重要なことは「正規URLや重複コンテンツについてよく理解できないなら何もせずGoogleに任せる」ことです。サイト運営者が何も指示しなかったとしても、ほとんどの場合Googleは正しく正規URLを選択できることを忘れないでください。また正規化の指示がなかったり不十分だったとしても、それで被る損害は無視できる程度のものです。
またそもそも、WordPressを初めとするメジャーなCMSやメジャーなASPカートシステムを使っていて、最小限のカスタマイズしかしていない場合には、システム側ですでに正規化のための対応がされています。一般的な環境では、URLの正規化や重複コンテンツについて特別な対応は必要がありません。
正規化サイト運営者が検索エンジンに対して正規URLを明示的に指定する方法は、正規化の効果の大きい順に次の通りです。Googleはこれらを組み合わせて使用することで、サイト運営者が適切と考える正規URLを使って正規化できるとしています。
リダイレクトを使ったURLの正規化
プロトコル(httpとhttps)を統一する場合や、サブドメインwwwの有無を統一する場合、またディレクトリインデックスのファイル名を消す場合には、サーバー側で強制的に301リダイレクト処理を行うことで正規化できます。これはサーバ側での強制的な処理ですから、重複コンテンツにはアクセスできなくなり、正規URLにリダイレクトされます。.htaccessが利用できる場合には、次のように記述します。
# httpからhttpsへのリダイレクト
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
# wwwなしからwwwありへのリダイレクト
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}/$1 [R=301,L]
# index.htmlまたはindex.phpを消す
RewriteCond %{THE_REQUEST} ^.*/index.(html|php)
RewriteRule ^(.*)index.(html|php)$ https://%{HTTP_HOST}/$1 [R=301,L]
内部リンクの一貫性を保つ
内部リンクを設定するとき、サイト運営者が考える正規URLをプロトコル(多くはhttps)から始まるフルパスで一貫して使うことで、正規化のための強いシグナルを検索エンジンに送ることができます。なお、WordpressのようなメジャーなCMSや、ほとんどのASP型カートなどでは初めからこの形で内部リンクを設定する形になっています。
内部リンクのURLに非正規のURLが使われたり、または正規URLと非正規URLが混在したりするケースでよくあるのが、EC-Cubeのようなインストール型カートです。リライト前のURLとリライト後のURL( “/products.php?id=12345” と “/products/12345” のような)が内部リンクのリンク先で混在していたり、追跡用のパラメーター( “?t=head” のような)が内部リンクに追加されていたりするケースを何度も見ました。
内部リンクで使うリンク先URLは、検索エンジンに正規URLを指示する強力なメッセージです。サイトのテンプレート部分を手動で編集するようなとき、または商品ページから別の商品ページへと手動でリンクするようなとき、くれぐれも重複コンテンツにリンクするようなことのないように注意してください。
canonicalリンク要素を使うURLの正規化
ページのhead要素内にそのページ自身の正規URLを指し示すcanonicalリンク要素を記述しておくことで、正規化のシグナルを検索エンジンに送ることができます。この指定はトラッキング用のパラメーターを含む被リンクを受け取っている場合などに有効です。例えばご覧のこのページであれば、以下のようなリンク要素が挿入されています。
<link rel="canonical"
href="https://www.bodhi.co.jp/canonicalize-duplicate-content" />
なおWordpressなどのメジャーなCMSや、またはメジャーなカートASPでサイトを構築している場合、初期状態で正しいcanonicalリンクタグが挿入されています。その場合は対応する必要はありません。初期状態で挿入されているタグを間違ったタグで上書きするようなことのないように注意してください。
XMLサイトマップを使うURLの正規化
XMLサイトマップを検索エンジンに送信すると、検索エンジンはサイトマップに掲載されたURLをサイト運営者が考えた正規URLであると受け取り、正規URLを選択するときのヒントとして扱います。ここで注意したいことは、XMLサイトマップは正規URLを指示するために使うもので、非正規のURLを送信すると問題を起こすことです。
詳しくはこのリンク先の記事にありますが、筆者はこれまで、非正規URLを送信するXMLサイトマップが原因で問題を起こしているサイトを数多く見てきました。適切なXMLサイトマップを出力する機能を持たないシステムをお使いの場合には、XMLサイトマップの送信は実施しないでください。
XMLサイトマップの送信は必須ではなく、送信しなくても何ら問題ありません。特に、サードパーティー製のツールで作ったXMLサイトマップをそのまま検索エンジンに送信することは絶対に避けてください。サードパーティー製のツールでXMLサイトマップを生成する場合、手動で重複コンテンツを除く必要があり、まったくおすすめできません。
お使いのシステムが正規URLだけ掲載したXMLサイトマップを出力する機能を持っている場合には、それをサーチコンソールに登録することで、検索エンジンによる正規URLの選択を大いに助けることができます。お使いのシステムが正規URLだけ掲載したXMLサイトマップを出力する機能を持っていないなら、無理にXMLサイトマップを送信する必要はありません。
まとめ
あるコンテンツに対してトラッキング用のパラメーター付きを含む複数のURLでアクセスできることはごく普通のことであり、つまり重複コンテンツが存在するのはごく普通のことです。正規化のために特段の対応をしなかったとしても、通常はGoogleなどの検索エンジンは適切に正規URLを選択することができ、それで何ら問題ありません。
重複コンテンツに起因してインデックスに問題が発生しているケースの多くは、間違った正規化によるものです。サーチコンソールのインデックスレポートにエラーが大量にあるような場合には、正規URLの指示が誤っている可能性が極めて大きいため、正しい指示へと修正するか、それが難しければ正規URLの指示を中止しましょう。
URLの正規化を適切に実施すれば、重複URLが受け取っている被リンクなどの評価を正規URLに統合できるほか、クロールバジェットの浪費を防ぐことで正規URLのクロールやインデックスを適正化できます。これらのSEO効果は小さなものですが、可能であれば実施しておくとよいでしょう。ただし、正規化を誤るよりは何もしないほうがずっとよい結果になることをお忘れなく。