URL正規化タグ「rel="canonical"」に関する12のよくある質問と答(実践者向け)
- 「rel="canonical"」とは?
- rel="canonical"はページネーションに使うべきか?
- rel="canonical"はクロスドメインで使えるか?
- rel="canonical"はクロスドメインで使うべきか?
- 不完全重複ページにrel="canonical"を使うべきか?
- 正規のページで「rel="canonical"」を使ってもいいか?
- サイトの全ページに「rel="canonical"」を記述してもいいか?
- 「rel="canonical"」と301リダイレクトはどう使い分けるべきか?
- rel="canonical"は、オーソリティやPageRankを引き渡すのか?
- rel="canonical"を(301リダイレクトや302リダイレクトなどと一緒に)ページからページヘと連鎖して使用できるか?
- 非正規ページはインデックスに登録されるのか?
- 私のページに対する「rel="canonical"」を他人が記述できるか?
- 重複コンテンツをそのままにして、すべてのページを検索結果に表示させることはできるか?
URL正規化タグ「rel="canonical"」のサポートをグーグルとヤフーが2009年2月に発表してから4年以上が経つけれど、この「rel="canonical"」のたった1行のHTMLは、今でもSEO担当者やウェブマスターをあれこれ混乱させている。
先ごろ、グーグルは「rel=canonical属性に関する5つのよくある間違い」という記事を公開した。これはいい記事で、正しい使い方がわかるのはありがたいが、MozのQ&Aコーナーで毎日僕らが目にしている多くの疑問には答えていない。そういうわけでこの記事では、特によくある疑問のいくつかを解決してみたいと思う(それから、下の画像はただのジョークなので大目に見ていただきたい……)。
「rel="canonical"」とは?
簡単に言うと、「rel="canonical"」タグは、検索の便宜を図る目的で、あるURLで公開されているページの内容と別のURLで公開されているページの内容が同じであることをグーグルに伝える方法だ。
一般に、URL(B)がURL(A)の重複コンテンツだとすると、(B)のページのHTMLの中で、canonicalタグで(A)を指定する。具体的には、(B)のページでは、<head></head>部分に以下のタグを記述する。
<link rel=”canonical” href=”http://www.example.com/url-a.html” />
グーグルの「rel="canonical"属性について」は、実にわかりやすいガイドラインだ。重複コンテンツの問題は複雑で、僕も以前詳しく取り上げたことがある。そこでこの記事では、読者のみんながテクニカルなSEOの実用的な知識を持っていて、自分のサイトでrel="canonical"を使おうとしたことがあると仮定して話を進める。
※注:「rel="canonical"」は「rel-canonical」や「canonicalタグ」とも呼ばれている。この記事では、「rel="canonical"」で統一する。
1 rel="canonical"はページネーションに使うべきか?
ここでグーグルの記事の内容をすべて繰り返すことはしないけど、この質問は本当によく聞かれるので、もっと詳しく取り上げるだけの価値がある。
たとえば、ページネーション(ページ分割)された一連の検索結果1、2、3……があるとしよう。検索の立場から、これらのページは「薄い」と見なされ得るので、分割した各ページに、ページ1を指定する「rel="canonical"」を記述するべきだろうか?
公式には、答えは「ノー」だ。グーグルはこれを推奨していない。
代わりに、(それが可能なら)ページ分割せずにすべての内容を1ページにまとめたページを作って、「rel="canonical"」でその「すべて表示」ページを指定すること、あるいは、「rel="next"」と「rel="prev"」を使うことをグーグルは推奨している。
「rel="canonical"」と「rel="next"」および「rel="prev"」を併用すれば、検索結果のソートやふるい分けなどを扱えるが、コードがあっという間に複雑になってしまう。
SEOに適したページネーションは、特に注意を要するテーマなので、以下の2つの記事(英語)をチェックしておくことをお薦めする。
2 rel="canonical"はクロスドメインで使えるか?
答えはイエスだ。rel="canonical"で指定するURLは、別ドメインのものでも問題ない。
2009年末、グーグルはクロスドメインで使用する「rel="canonical"」のサポートを発表した。通常これは外部に配信するコンテンツを対象とするもので、重複が心配な場合や、コンテンツのあるバージョンだけを検索結果に表示させたい場合に使用する。
3 rel="canonical"はクロスドメインで使うべきか?
これはやや難しい問題だ。
まず、ページがあまりに違うか不正に操作されているように見えれば、グーグルは「rel="canonical"」のクロスドメイン使用を無視することにするかもしれない。
クロスドメインで「rel="canonical"」を使う状況として最適なのは、同じオーナーが複数のサイトでコンテンツを共有していて、そのコンテンツが各サイトのユーザーにとって役に立つようなケースだ。そのような場合、多分301リダイレクトは使いたくないが(これはユーザーを混乱させる上に各サイトのブランドを傷つけるおそれがある)、重複コンテンツの問題は避けたいかもしれないし、グーグルの検索結果にどのサイトを表示させるかを自分で決めたいと思う人もいるだろう。
僕だったら、PageRankを統合するためだけにクロスドメインで「rel="canonical"」を使うようなことは、普通しない。
4 不完全重複ページにrel="canonical"を使うべきか?
グーグルは確かに、はっきりと内容が違うページでも「rel="canonical"」を考慮する場合がある。これは、僕の悲惨な正規化実験とその後の実験でわかる。
しかし、だからと言って、それが常に良い手だとは限らない。
一般に「rel="canonical"」は、内容がまったく同じかほとんど同じ場合に使うのがベストだと思う。たとえば、製品ページを色別に5つのURLに分割していて、各色のページでは1つか2つの文章(または画像)が違うだけの場合は、「rel="canonical"」で製品の「親」ページを指定してもいいと思う。
ただし、301リダイレクトや404エラーで対処するのが適切な場合に、その代替として「rel="canonical"」を使ってはいけない。大惨事を招くことはないだろうけど、グーグルが君のURL正規化タグを無視し始める可能性は十分考えられるし、そうなれば正当な重複コンテンツを管理する方法に影響が出るかもしれない。
5 正規のページで「rel="canonical"」を使ってもいいか?
言い換えるなら、参照される側の正規ページに「rel="canonical"」タグを追加して、そのページ自身を指定してもいいかという質問だ。
実際のところ、そうしても問題はないが、する必要もない。
以前、グーグルとBingのマイクロソフトがともに、「rel="canonical"」の多用は避けるほうが望ましいと示唆したことがあった。ただし彼らも徐々に姿勢を和らげてきたようで、僕はこのところ、正しく使われている自己指定のURL正規化タグが何か問題を引き起こした証拠を目にしていない。
これは多くの場合、実務上の問題に過ぎない。共通のテンプレートを使用しているURLは多いし、正規ページではなく重複ページにだけ「rel="canonical"」タグを追加する必要があるとなると、コードがぐちゃぐちゃになってしまって、ミスをしやすくなる可能性がある。個人的な考えだが、グーグルやマイクロソフトは大半のウェブマスターが直面している現実を認識して、当初の保守的な姿勢を修正したのだろう。
6 サイトの全ページに「rel="canonical"」を記述してもいいか?
ページの多くに重複コンテンツの問題がない場合でも、予めサイト全体に「rel="canonical"」を記述しておくべきだろうか?
これは推測の要素が非常に強くなるように思う。僕らはSEOmozで過去に、この方法を推奨したことがあるし、普通は問題ないと考えている。
ただ心配なのは、「rel="canonical"」を多用すると、検索エンジンがこれらのタグを軽視するようになり、さらには無視するようになる可能性さえあることだが、実際にそうなっている明確な証拠はない。
それから、サイト全体で間違った「rel="canonical"」の使い方をして、見当違いのページを指定してしまう人が多いのも気懸かりだ。
確かに、トップページは何種類かのURLでアクセスできるようになっている場合が多いから、最初から「rel="canonical"」を記述しておくのは一般的にいい考えだと思う。理想を言えば、トップページとすでに判明している重複ページ、それから重複コンテンツを引き起こす可能性のあるパラメータが含まれるページには「rel="canonical"」を使って、残りのページには何もしない方がいいだろう。だが、それは非常に面倒な作業になることが多い。インデックスに登録されないよりは、サイトの全ページに「rel="canonical"」を記述する方がましな場合もある。
7 「rel="canonical"」と301リダイレクトはどう使い分けるべきか?
ここで理解してほしいのは、これら2つの方法は同じように動作するが、SEOの立場からするとまったく同一だというわけではないということだ。
重要な違いを挙げれば、301リダイレクトは訪問者を正規のURLに誘導するが、「rel="canonical"」タグは訪問者を指定先のURLに誘導するわけではない。訪問者にとって必要なのは、両者のうちどちらか一方だけだ。
どうしても2つのページを永久に統合して重複をなくしたいなら、301リダイレクトを使おう。
どちらのページも訪問者が閲覧できるようにしておきつつ、検索結果にはどちらか一方だけを表示させたい場合は、「rel="canonical"」を使おう。
8 rel="canonical"は、オーソリティやPageRankを引き渡すのか?
これを測定するのはとても難しいが、「rel="canonical"」を正しく使っていて、グーグルがそれを考慮してくれるのなら、301リダイレクトと同じように働くようだ。
われわれは、オーソリティやPageRankが、(301リダイレクトと同じように)若干の損失はあるものの、リンクを通じて指定先のURLに引き渡されるのではないかと考えている。
9 rel="canonical"を(301リダイレクトや302リダイレクトなどと一緒に)ページからページヘと連鎖して使用できるか?
「rel="canonical"」で指定したページで、さらに別のURLを指定する「rel="canonical"」を記述したり、あるいは別のURLへの301リダイレクトを設定したりしたら、どうなるだろうか?
一言で言えば、状況が複雑になる。場合によってはうまくいくかもしれないし、PageRankを引き渡すことさえあるかもしれない。だが一般的には、まずい考えだ。うまくいったところで、わかりにくくなるのは避けられない。最悪の場合、まったく機能しないかもしれないし、あるいは連鎖の過程で重要なPageRankを失うかもしれない。
「rel="canonical"」は可能な限り連鎖使用を避けて、1回で正規URLにたどり着けるようにしよう。
10 非正規ページはインデックスに登録されるのか?
実用上の意味からすれば、答えはノーだ。
グーグルが「rel="canonical"」タグを考慮してくれた場合、非正規ページは検索順位を獲得できない。キャッシュコピーも保存されないし、「site:」指定検索でも結果一覧には表示されない。
では、グーグルは非正規URLの記録を保持しているのだろうか? 僕は、保持していると思う。だけどSEO担当者からすれば、非正規URLの存在価値はなくなる。
11 私のページに対する「rel="canonical"」を他人が記述できるか?
特にクロスドメインでrel="canonical"を使ってサイトに損害を与えたり、オーソリティを盗み出したりする人がいないか心配する声を、時々聞く。
正規化の設定は、自分が管理するページからしか行えないことを覚えていてほしい(他人のサイトのHTMLに、自分のサイトを指定先にするrel="canonical"タグは埋め込めない)。だから、自分のページすべてに「rel="canonical"」を記述して他人のサイトを指定することはできるけど、そんなことを理由などあるだろうか?
実際に大混乱を引き起こすには、君のサイトをハッキングしなければならない。もしそうなれば、「rel="canonical"」の悪用どころの問題ではなくなる。
「rel="canonical"」に起因する損害のほとんどは、自らが招くものだ。
12 重複コンテンツをそのままにして、すべてのページを検索結果に表示させることはできるか?
答えはノーだ。
いや、そんなこと聞きたくないってことはわかる。結局のところ、「rel="canonical"」について聞かれる疑問の少なくとも3分の1は、こんなものだ。
これらのページすべてを検索結果の上位に表示させたい。ちなみにページはすべて同じで、だけど重複コンテンツの問題には一切関わりたくない!
しかし僕には、これを解決する秘策なんてない。
必ずしも「rel="canonical"」を使う必要はないけれど、僕の経験では、自分で重複コンテンツを管理するほうがグーグルにやらせるよりましだし、いずれはグーグルがやることになる。
昔は、おかしなページがフィルタリングされて取り除かれるだけの話だったかもしれない。だけど25回以上のパンダアップデートを経た今では、サイト全体が損害を被ることにもなりかねない。
二兎追うものは一兎をも得ず。重複コンテンツがあるなら、削除するか、管理するか、改善するかのいずれかだ。
ソーシャルもやってます!