Matt Cutts(マット・カッツ)氏による「rel=”cannonical”」タグの解説ビデオが、GoogleがYouTubeに開設したばかりのGoogle Webmaster Help Channelにアップされました。
こちらは、プレゼンテーションに使われたスライドです。
「rel=”canonical”」タグは、まだ導入されたばかりの新しい仕組みなので、理解度を深めるために重要と思われるポイントをお伝えします。
まず、「rel=”canonical”」タグを使う前に、できる限り重複コンテンツを防ぐために実行すべきことがあります。
- 望んだURLだけを生成するようにCMS(Content Management System)を構成しておく
※CMSは1つのページにいろいろなURLを割り当てることがある。たとえば、カテゴリ、月別アーカイブ、プリント用ページなど。 - 正規化した1つのURLだけにリンクを張るようにする
※www.example.com、example.com、www.example.com/index.htmlなどに分散しない - 重複するURLは、すべて301リダイレクトで 1つに正規化する
- Googleウェブマスターツールで、wwwあり・なしのどちらを使用するか設定する
- XMLサイトマップに使ってほしいURLを記述する
しかし、上記の方法では重複コンテンツ問題に、完全に対応できない場合があります。
- 301リダイレクトが使えない環境
※無料ホームページスペースや無料ブログなど - 他人が張った外部リンク
- 大文字・小文字の違い
※MicorosftのWebサーバーのIISなどは、URLの大文字と小文字を区別しない。 - セッションID
※たとえばeコマースサイトでは一連の買い物をトラッキングするためにURLに一意のパラメータを付加するので、同じページでも毎回違うURLが作られることがある - クリック測定やアクセス解析のために、URLにトラッキング用のパラメータを付けるとき
- リストを昇順・降順にならべるとき
※コンテンツは同じなのにURLが少し変わる - パンくずナビ
※通った経路によってURLが変わってくる。たとえば、「サイズ⇒色⇒商品」と「色⇒サイズ⇒商品」とたどった場合。
このようなケースでは、rel=”canonical”が最適な代替手段となります。
http://www.example.com/page.html?sid=asdf314159265
上のようにURLが表示されるかもしれないページがあるとしたら、そのページのheadセクションにあらかじめ次のように記述しておきます。
<link rel="canonical" href="http://www.example.com/page.html"/>
こうすると、
http://www.example.com/page.html?sid=asdf314159265
は、
http://www.example.com/page.html
と同じだと、サーチエンジンは認識してくれます。
このように、rel=”canonical”タグは、重複URLを発生する可能性のあるページのheadセクションに、代表させるURLをhref属性に指定して記述するだけで機能します。
小難しい設定は不要で、たった1行のHTMLコードを追加するだけです。
そうすれば、指定されたURLのページだけをインデックスし、分散したリンクも統合して処理します。
次に、rel=”canonical”タグの使用に際しての注意点を説明します。
サーチエンジンは、rel=”canonical”を、あくまでも重複URL解消のための“手がかり”として利用するだけです。
絶対確実に、rel=”canonical”に従うことを約束するものではありません。
たとえば、ページAのrel=”canonical”でページBを指定し、一方でページBではrel=”canonical”でページAを指定した場合、「A⇒B⇒A⇒B・・・」のように無限ループが発生します。
このような場合は、サーチエンジンがもっとも適していると判断した処理を実行し、最終的な判断をする権利を持ちます。
少なくともGoogleは、rel=”canonical”を「非常に強いヒント」として取り扱い、第三者が他人のサイトに害を与えるために利用していない限りは、尊重して指示に従います。
先に説明したように、rel=”canonical”タグを使う前に、まず従来から使われている確立された方法で重複URL問題を解決するべきです。
rel=”canonical”タグで、すべてが簡単に解決すると思い込んではいけません。
また、すぐに使わずに、たとえばWordPressなどでは、簡単に実装できるプラグインがリリースされるかもしれないので、しばらく待つのも手です。
※ Canonical URL’sというWP用のプラグインがすでに公開されています。
rel=”canonical”タグはまだ登場したばかりなので、上級者でないならすぐに飛びつかずに様子を見たほうがよさそうです。
そして、サーチエンジンは乱用を防ぐために必要な措置を講じる権利を有しているし、タグを無視することもあります。
不正な使用を防ぐために、同一ドメイン内でしか機能しません。
つまりドメインが異なるURLを指定しても処理しません。
したがって、他のサイトの評価を奪ったりする悪用はできないとうことになります。
次はQ&Aです。
Q: ドメインを超えて機能するか?
A: すでに説明したように、同じドメインの中だけで適用される。
Q: サブドメイン間では機能するか?
A: サブドメインをまたぐことはできる。たとえば、zeta.zappos.comのrel=”canonical”としてwww.zappos.comを指定可能。
Q: httpをhttpsの正規化URLとして指示できるか?
A: 同じドメインであれば、問題なし。少なくともGoogleはこの目的での利用を認めている。
Q: 301リダイレクトとの違いは?
A: 非常によく似ているけれど、rel=”canonical”は301が使えない状況でも使える。301リダイレクトと同等の処理を行うが、rel=”canonical”タグは301と違ってドメインをまたげないという点が、決定的に異なる。
Q: 各ページは一語一句、同一でなければならないのか?
A: 少しくらいの違いは許容される。たとえば、ショッピングサイトで商品を値段の高いほうから並べたのと、安いほうから並べたのは、厳密には違っているけれど、内容は同じ。
しかし、まったくコンテンツの異なるページを指定することは認めない。つまりPageRankを渡す目的での不正利用はできない。
同一である必要はないけれど、類似している必要はある。
Q: 相対URLも絶対URLも使えるのか?
A: どちちらも使えるけれど、エラーを減らすために絶対URLを使うことを強く推奨する。
※相対URLは、「/abc/xyz.html」のように現在のディレクトリを基準としたURL、絶対URLは「http://www.exzample.com/abc/xyz.html」のようにhttp://から始まるURL。相対URLは、ページの配置場所によってrel=”canonical”での指定先ページのURLも変化してしまう。
Q: rel=”canonical”のチェーン接続は可能か?
※例:ページAでページBを指定 ⇒ ページBでページCを指定
A: できるけど、やめたほうがいい。最終到達地点のURLを直接指定するようにする(上の例なら、ページA ⇒ ページC)。やったら墓穴を掘る危険もある。
Q: 404ページを指していた場合、無限ループを生じていた場合、クロールされていないページを指していた場合、Webマスターツールでのwwwあり・wwwなしの設定と食い違っていた場合は?
A: 検索エンジンが合理的だと判断したように処理する。
最後に豆知識です。
rel=”canonical”は「Tag(タグ)」と呼ぶのか「Element(要素)」と呼ぶのかという問題ですが、技術的には「Element(要素)」が正しいのでしょうが、どっちを使ってもたいした問題ではありません。
rel=”canonical”タグは、Google、Yahoo!、Microsftがサポートを発表しています。
※対応が完了しているのはおそらくGoogleだけ。Yahoo!は、2009年2月の時点で数か月以内とのこと。
少し遅れて、Askもサポートすることをアナウンスしました。
重複URLを解消するために、rel=”canonical”タグは非常に簡単に実装できるのが特徴です。
しかし、今すぐにどうしても使わなければならないというものではありません。
仕組みと働き、注意点を踏まえたうえで利用しましょう。
不安があるなら、完全に普及するのを待つのも選択肢です。