検索結果に優先的に表示させたいページの指定について

2009年7月13日月曜日

複数の URL で同一、もしくは同一に近いコンテンツを管理されていて、 重複するコンテンツ 関連の問題を抱えるウェブマスターの方々に朗報です。検索結果に優先的に表示させたいバージョンの URL を、検索エンジンに通知する書式がサポートされるようになりました。この書式をご利用いただくことで、検索結果に表示される、ご自身のサイトの URL に関して、これまでよりもコントロールできるようになります。また、この書式は、優先したいバージョンの URL に、外部からのリンクなどの情報を統合する助けにもなります。

架空のサイトを例に、この書式についてご説明します。

Swedish Fish (魚の形をしたスウェーデンのお菓子)を販売するサイトだとしましょう。優先したいバージョンの URL と、そのコンテンツは、次のようなものであるとします。

https://www.example.com/product.php?item=swedish-fish


しかし、ユーザー(や Googlebot )は複数の URL により Swedish Fish にアクセスできるとします。これらの URL に表示されるコンテンツは、次の図のように、優先したい URL に表示されるコンテンツとほとんど同じです。異なるのは、分類用のパラメータやカテゴリー遷移に対応する部分だけです。

https://www.example.com/product.php?item=swedish-fish&category=gummy-candy


また、次の図のように、まったく同一のコンテンツが、訪問者識別用パラメータやセッション ID を付加されたがゆえに、異なる URL で提供されている場合もあるとしましょう。

https://www.example.com/product.php?item=swedish-fish&trackingid=1234&sessionid=5678


ここで、次のような優先したいバージョンの URL を指定する <link> タグを、

<link rel="canonical" href="https://www.example.com/product.php?item=swedish-fish">

重複するコンテンツを持つ URL 群:

https://www.example.com/product.php?item=swedish-fish&category=gummy-candy
https://www.example.com/product.php?item=swedish-fish&trackingid=1234&sessionid=5678


<head> 部分に入れることにより、これらの URL 群よりも、 https://www.example.com/product.php?item=swedish-fish という正規の URL を優先的に検索結果に表示してほしいと Google に伝えることができます。PageRank などの URL に付随する情報も統合されます。

Google 以外の検索エンジンも、あなたのサイトをクロール、インデックスする際にこの情報を使うことができます。 2009 年 7 月現在、この書式は、 Ask.com , Microsoft Live Search , Yahoo! においてもサポートされています。

以上が簡単な canonical 指定についての説明になりますが、読者の皆様は、きっと、もっと詳しく知りたいとおっしゃるのではないかと思い、インデックスチームの Joachim Kupke にいくつか質問に答えてもらったので、紹介します。

rel="canonical" は Google に対する命令 (directive) として機能しますか、それとも参考情報 (hint)として機能しますか?
参考情報ですが、重要な参考情報として受け止められます。検索結果に表示する最適なページの判定を行ううえで、他の情報と共に、この canonical 指定の指定も考慮に入れます。

Canonical 指定を指定する上で、 <link rel="canonical" href="product.php?item=swedish-fish"> のような相対リンクは使えますか?
<link> タグ内に、通常通り相対パスを使うことは可能です。また、 <base> リンクを記述していただくことで、その基準 URL に基づいて、相対リンクを処理するように指定できます。

Canonical 指定で指定した URL にあるコンテンツが完全に重複するコンテンツではなくても大丈夫でしょうか?
商品の並びが違うなど、若干の違いは許容範囲です。また、優先ページと、そのページと重複するコンテンツを持つ複数のページが、異なるタイミングでクロールされることが想定されるので、複数の異なるバージョ ンの重複するコンテンツが Googlebot に検出されることがあるかもしれません。いずれにしても、問題はありません。

rel="canonical" で指定したページが 404 を返している場合はどうしたらいいのでしょうか?
これまでどおりコンテンツをインデックスし、優先するページの特定に努めますが、実在する URL を正規の URL として利用することをおすすめします。

rel="canonical" で指定した URL がインデックスされない場合はどうしたらいいのでしょうか?
インターネットにある全ての公開コンテンツに対してそうであるように、Google は canonical 指定で指定された URL もできるだけ早く発見し、クロールするよう努力しています。インデックスされると Google はすぐに、 rel="canonical" の指定について再確認します。

rel="canonical" の指定にはリダイレクト URL も使えるのでしょうか?
はい、リダイレクト設定をしている URL も、正規の URL として使うことができます。通常と同じようにリダイレクトを処理し、インデックスへの登録を試みます。

もし rel="canonical" に、複数の矛盾する URL を指定してしまった場合は、どうなるのでしょうか?
Google のアルゴリズムは寛容にできており、canonical 指定の連鎖をたどることもできますが、最適な正規化のためには、常に特定の正規の URL が指定されるよう、リンクの更新を行うようおすすめします。

異なるドメイン上の URL を canonical 指定のリンクタグ内で指定することはできますか?
できません。異なるドメインへのサイトの引越には、 301 リダイレクト の利用をおすすめします。現在 Google は、サブドメイン間 (あるいは同ドメイン内)での正規化には対応していますが、異なるドメイン間の正規化には対応していません。例えば、 www.example.com example.com help.example.com 間での canonical 指定の指定はできますが、 example.com example-widgets.com 間での指定はできません。

実際に使われているサイトの例はありますか?
はい。 wikia.com がテストサイトとして、協力してくれました。例えば、 https://starwars.wikia.com/wiki/Nelvana_Limited という URL にあるページのソースコードに、 https://starwars.wikia.com/wiki/Nelvana が優先ページとして指定されているのを見ていただくことができます。

この 2 つのページはほとんど同じですが、Nelvana_Limited となっている上の URL にあるコンテンツには、上部に短いメッセージが掲載されています。これは canonical 指定を有効に活用している、良い例です。この書式を利用することで、両方の URL のインデックス上の情報は統合され、検索結果には wikia.com が指定したバージョンの URL が掲載されるようになります。

ご質問やご意見は、ぜひ、 ウェブマスターヘルプフォーラム までお寄せください。また、もし、この正規化の書式をすぐに導入できなくても、ご心配なさらないでください。この書式以外にも、 これまで試みてきましたように (英語)、外部からのリンクなど、サイトの情報を統合し、最適なバージョンの URL を特定することに関しては、引き続き、私たちも更なる改善に努めてまいります。