検索結果での非表示、被リンクの分散、クローリング効率の低下、最悪の場合ランキングの下落・インデックスからの消滅など、重複コンテンツはさまざまな悪影響を発生させます。
海外では重複コンテンツは、ブログ・フォーラム・カンファレンスなどで頻繁に取り上げられるトピックですが、日本のSEO界では、重複コンテンツはあまり話題に上がらないし、興味を持たれていない気がします。
たぶん理由の1つに、重複コンテンツそのものが理解されておらず、何かややこしいもの、自分には関係のないものとしてとらえられているからではないでしょうか。
それはそれで構わないのですが、重複コンテンツによってトラブルにあっていると判断できる問い合わせを何度も受けたのことがあるので、少なくとも重複コンテンツが抱える問題と、対処方法については、SEOに携わる人間なら概要だけでも押さえておくべきだと思います。
重複コンテンツについて、名前くらいしか聞いたことがないという人は、この記事を読み進める前に、まずこちらの記事を読んで全体像だけでも把握しておいてください(2つめは外部サイトの記事で、非常によくまとまっています)。
さて、ここまでは前置きです。
重複コンテンツの発生を防ぐにはいくつかの手段があります。
Googleが、Webmaster Central Blogで重複コンテンツを防止する方法を再統一して解説しました。
大きな変更も混ざっています。
重複コンテンツを処理するステップを次のように説明しています。
1.重複コンテンツが存在するかどうか調べる
ページのコンテンツの一部分(ユニークな短文)を抜き出して、「site:」コマンドともに自サイト内検索してみる。複数の結果が出るようであれば、重複コンテンツができているかもしれないので、詳しく調べる。
たとえば、Googleで次のように検索します。
“コンテンツが同じでもURLが違ければ、サーチエンジンは、独立した別々のページとして認識 site:www.suzukikenichi.com”
※「”」は不要
もしコンテンツが同じページになのに、複数の異なるURLで検索結果に現われたときは、重複コンテンツが発生している可能性が高そうです。
2.代表のURLを決める
重複コンテンツが認められた場合は、どのURLを代表にさせるか(検索結果に表示させたいか)を決める。
通常は余分なパラメータが付いていなかったり、プリントバージョンがあるときは元のページの方ですね。
「wwwあり/wwwなし」は自分で決めることですし、「index.htmlあり/index.htmlなし」は、「なし」をおススメします。
3.使用するURLを統一する
サイト内で使うURLを1つに限定する。
たとえば内部リンクで、index.htmlあり/なしの両方を使っていけません。
どちらか片方だけに統一します。
XMLサイトマップにも代表するURLだけを記述します。
4.301リダイレクトが可能なら利用する
301リダイレクトで解決できるなら、301リダイレクトを設定する。
「wwwあり/wwwなし」や、「index.htmlあり/index.htmlなし」は301リダイレクトで処理します。
※Googleは、やらなくても同じと認識してくれることがほとんどなのですが、たまにこれらの未正規化が(おそらく)原因で、インデックス状態に問題が起こるとがあります。Yahoo!でも、正規化していないとトラブルが発生することがあります。
また、Googleウェブマスターツールでは、「wwwあり/wwwなし」のどちらを使うか、もしくは別々に扱うかを設定できます。
当然、Googleに対してだけ有効です。
5.rel=”canonical”タグを使う
301リダイレクトが無理な時は、rel=”canonical”を設定する。
たとえば、Wikipediaには印刷用ページが存在します。
もしこのページを標準のページに301リダイレクトしたら、意味がないですね。
また元のページに戻ってしまいます。
こんなときは、rel=”canonical”タグで印刷用ページと標準ページが同じコンテンツであることを伝えます。
※Wikipediaは、noindexタグで検索結果に出ないようにしています。後述しますが、Googleでは推奨されない不十分な設定になりました。
6.Googleウェブマスターツールのパラメータ処理機能を使う
パラメータによって重複コンテンツが起こる場合は、ウェブマスターツールのパラメータ処理の機能を利用する。
パラメータ処理機能はつい最近登場したばかりです。
動的URLのパラメータやトラッキング用のコードを付けるときは、除外するように設定できます。
詳しくは、こちらをご覧ください。
以上が、Googleが推奨する重複コンテンツ防止策の再構成です。
以前まで含まれていた項目が1つ消えています。
それはrobots.txtによるブロックです。
robots.txtで、重複していて検索結果に出したくないURL、たとえば印刷用ページをアクセス拒否できます。
しかし、重複コンテンツを防ぐ目的でのrobots.txtによるブロックを、Googleはもはや勧めていません。
rel=”canonical”タグやパラメータ処理機能の利用を勧めています。
重複URLにアクセスできないとなると、コンテンツを見ることができず、重複していることが判断できないからです(中身が分からなければ、同じかどうかは判断できませんよね)。
最適なのは、コンテンツを見せたうえで、「このページはこのページと同じですよ。だから1つにまとめてください」と知らせることなのです。
つまり、Googleとしては、「隠しごとをせずに、『同じページが複数あるんだけど、本物はこのページです』と指示してもらえれば、あとはこっちで処理してあげるよ。そのために、rel=”canonical”か、パラメータ処理機能を使ってくれ。」と言っているわけです。
もし、重複コンテンツを防ぐ目的でrobots.txtによってブロックしているページにリンクが張られていた場合、そのブロックされたページに集まったPageRankは無駄になります(まったくの無駄ということではないのですが、これはまた別の機会に)。
一方rel=”canonical”を使えば、正規化したページにPageRankをまとめてもらうことができます。
robot.txtによるブロックだけではなく、Wikipediaが採用しているnoindexについても同じことが言えるでしょう。
Wikipediaは、プリントページに”meta robots noindex”タグを設定しています。
noindexによってSERPに出ないようにしているので、重複コンテンツは防止しています。
しかしプリンタページと標準ページは別々のページとして扱われることに変わりはないので、PageRankはそれぞれが持ちます。
もし、noidnexタグではなくて、rel=”canonical”タグを使えば、プリントページのPageRankは、標準ページに統合されることになります(Wikipediaくらいになれば、どうでもいいことかもしれませんけどね)。
ちなみに、Wikipediaのプリントページにはrobots followタグ(nofollowではない)が付いてますが、これはプリントページにあるリンク先を検索エンジンのロボットがたどってもいい(=PageRankを渡してもいい)ということであって、正規化とは関係ありません。
プリントページが持つPageRankはリンク先ページに渡されますが、プリントページ自体が持つPageRankはそのままです。
統合されはしません。
<追記>
Googleに従うなら、rel=”canonical”を追加したほうがよいですね。
</追記>
もう1つ補足です。
Googleは、昨日まで米ニューヨークで開催されていたSMX East 2009というサーチマーケティングのカンファレンスで、ドメインをまたがるrel=”canonical”のサポートを発表しました。
rel=”canonical”は、乱用を防ぐ目的もあって同一ドメイン(とサブドメイン)の間だけでのみ受け入れるように策定されていました。
年内にはクロスドメインでの、rel=”canonical”の対応を完了させるとのことです。
なお、Yahoo!とMicosoft(Bing)は、普通のrel=”canonical”のサポートも完了していません。
年内に片付けたいとのことです。
【追記】
はてブで、SEO塾の石崎さんから次のようなコメントをいただきました。
ところがGoogle仕様にしちゃうとYahoo!とかBingがボケをかますんだよね…
Yahoo!(Slurp)とBing(MSNbot)に対しては、従来どおりrobot.txtでブロックしておけばよいですね。
Googleだけに対して、Google仕様で臨むことができます。