どのURLを登録して欲しいのかを検索エンジンに伝える
link要素の「rel="canonical"」
例えば、あるページが、以下の4種類のURLでアクセス可能だとします。
●http://example.com/
●http://example.com/index.html
◎http://www.example.com/
●http://www.example.com/index.html
このとき、3番目の「 http://www.example.com/ 」を正式なURLとして検索エンジンに登録して欲しい場合は、HTML内に以下のように記述しておきます。
<link rel="canonical" href="http://www.example.com/">
例えば、あるコンテンツに「PC閲覧用」・「携帯端末用」・「印刷用」の3つのページがあるとします。
◎PC用: http://www.example.com/problem.html
●携帯用: http://m.example.com/p.html
●印刷用: http://www.example.com/print/problem.html
このとき、「PC用のページ」を正式なURLとして登録して欲しい場合には、 これら3つのHTML内すべてに、以下のように記述しておきます。
<link rel="canonical" href="http://www.example.com/problem.html">
上記のように、link要素を使って「rel="canonical"」と記述すれば、href属性で指定したページを正式なURLとして(検索エンジンに)伝えることができます。
こうすることで、望ましくないURLの方が登録されてしまう可能性を減らすことができます。
※絶対にこの指示に従ってくれるわけではありませんが、参考として解釈してくれます。
なお、この記述は、Google、Yahoo!、Bing(Microsoftの検索サイト)でも共通して有効です。
注意点:
■この記述は、HTMLのhead要素内に記述して下さい。
■もし、XHTMLで記述している場合には、(空要素ですから)タグの終わりに「/」記号が必要です。(下記のように)
<link rel="canonical" href="(URL)" />
■異なるドメインのページを指定することはできません。
例えば、http://www.example.com/ 内のHTMLで、http://www.example.jp/ を正式なURLとして指定することはできません。
サブドメイン間の場合は指定できます。
例えば、http://print.example.com/ 内のHTMLで、http://www.example.com/ を指定することはできます。
おわりに
今回は、同一のコンテンツに対して複数のURLでアクセスできる場合に起こる問題の解決方法をご紹介いたしました。 1行記述するだけで簡単に対処できますので、複数のURLでアクセスできる仕様になっている場合には、ぜひお試し下さい。
【参考情報】(※All About外のサイト)
- 検索結果に優先的に表示させたいページの指定について(Webmaster Central 日本版 公式ブログ)
- 重複するコンテンツ(Google ウェブマスター/サイト所有者 ヘルプ)