複数ページにまたがる記事やコンテンツをお持ちの方へ。rel=”next” と rel=”prev” を使用したページネーションのご紹介

2011年12月2日金曜日

注: 本機能(rel=”next” と rel=”prev”)につきましては、Google 検索でのサポートを終了しました。

rel=”canonical” の設定が重複コンテンツを Google に知らせる手がかりになっているのと同様に、複数ページにまたがった一つのコンテンツがある場合、HTML の タグの rel=”next” と rel=”prev” (英語)を使ってそのページ間の関係を Google に示すことができるようになりました。

ウェブを見渡してみると、続きものになっているコンテンツには様々な形態があります。例えば 1 つの記事を複数のページに分けているものや、同一の製品カテゴリに属する製品を複数ページにまたがって掲載しているもの、フォーラムの 1 つのスレッドを一連の複数 URL に分割しているものなどがあります。この度、続きものを構成する個々のページ上で rel=”next” と rel=”prev” マークアップの指定を行うことによって、Google に対し、次のような指定ができるようになりました。
  • 個々のページ / URL にあるリンクの効果などのインデックス対象の属性を、一連のページ全体のものとしてまとめること(つまり、page-1.html、page-2.html といった個々のページにあるリンクをばらばらの状態ではなく、一連のグループとして取り扱うこと)
  • 最も関連性が高いページ / URL (通常は一連のコンテンツの最初のページ)にユーザーを誘導すること

rel=”next” と rel=”prev” を使うことによって、続きものになっているコンテンツの個々の URL 間の関係性を Google に示すことができます

ただし、この rel=”prev” と rel=”next” を実装すべきかどうかについて判断するにあたって、1 つ例外があります。連続するページで構成されるコンテンツとは別に、「すべて表示」ページ( 1 ページに情報のすべてが表示されたページ)をお持ちの場合、あるいはそれを作ろうとしている場合はブログ記事「 検索結果に『すべて表示』ページを優先的に表示する方法 」を参照してください。ユーザーは検索をするときに「すべて表示」ページを好む傾向にあるため、Google では、適正と判断される場合は、個々のページではなく「すべて表示」ページの方を検索結果に表示するようにしています(rel=”next” および rel=”prev” を使用すれば、個々のページが表示される可能性が高くなります)。

サイトに「すべて表示」ページがない場合や、Google 検索による「すべて表示」ページの表示を無効にしたい場合は、この記事で説明する rel="next" と rel="prev" を使用してください。


「すべて表示」ページが含まれるページ構成については、ブログ記事の 検索結果に「すべて表示」ページを優先的に表示する方法 をご参照ください

ウェブマスターの選択肢

このような続きもののコンテンツに対するウェブマスターの対応については、次の 3 つの選択肢があります。
  1. 特に何も対策はしない。複数ページに分割されたコンテンツがウェブ上に存在し、ページ内の HTML マークアップ rel=”next”、rel=”prev” の有無に関係なく、Google は最も関連性の高い検索結果を表示するよう努めます。
  2. サイトに「すべて表示」ページがある場合、または「すべて表示」ページを設けようとしている場合は、 検索結果に「すべて表示」ページを優先的に表示する方法 を参照してください。
  3. ひと続きになっているコンテンツを構成する個々の URL に rel=”next” と rel=”prev” を指定し、URL 間の関係性を Google に示す(このブログ記事で紹介している例です)。これによって Google はコンテンツのインデックス登録がより正確にできるようになり、最も関連性の高いページ(通常は最初のページ)をユーザーに表示するようになります。実装に関しては以下で詳しく説明します。
rel=”next” と rel=”prev” の実装方法

上記の 3 番を選んだ方は、実装方法の説明をご覧下さい。次のようにいくつかの URL にページ分けされているコンテンツを例にとります。

http://www.example.com/article?story=abc&page=1
http://www.example.com/article?story=abc&page=2
http://www.example.com/article?story=abc&page=3
http://www.example.com/article?story=abc&page=4

最初のページ http://www.example.com/article?story=abc&page=1 では、 <head> のセクションに次のように記述します。
<link rel="next" href="http://www.example.com/article?story=abc&page=2" />

2 番目のページ http://www.example.com/article?story=abc&page=2:
<link rel="prev" href="http://www.example.com/article?story=abc&page=1" />
<link rel="next" href="http://www.example.com/article?story=abc&page=3" />

3 番目のページ http://www.example.com/article?story=abc&page=3:
<link rel="prev" href="http://www.example.com/article?story=abc&page=2" />
<link rel="next" href="http://www.example.com/article?story=abc&page=4" />

そして最後のページ http://www.example.com/article?story=abc&page=4:
<link rel="prev" href="http://www.example.com/article?story=abc&page=3" />

いくつか注意すべき点があります:
  • 最初のページには rel=”next” マークアップのみ記述し、rel=”prev” マークアップは記述しない。
  • 2 ページから、最後から 1 つ前のページまでは、rel=”next” と rel=”prev” のマークアップを両方とも記述する。
  • 最後のページには rel=”prev” のみ記述し、rel=”next” は記述しない。
  • rel=”next” と rel=”prev” の値は、相対 URL または絶対 URL のどちらでもよい( <link> タグに準じる)。また、ドキュメントに リンクを指定している場合は、そのベース URL に基づいて相対パスを指定する。
  • rel=”next” と rel=”prev” は、 <head> セクション内で宣言するだけでよく、ドキュメントの <body> 内で記述する必要はない。
  • rel=”previous” は、rel=”prev” リンクの構文上のバリエーションとして許容される。
  • rel="next" と rel="prev" を指定することと、rel="canonical" を指定することは、別々の概念である。よって、同一ページ内に両方の宣言を記述することが可能。たとえば、http://www.example.com/article?story=abc&page=2&sessionid=123 の中で、次のように記述してよい。

    <link rel="canonical" href="http://www.example.com/article?story=abc&page=2”/>
    <link rel="prev" href="http://www.example.com/article?story=abc&page=1&sessionid=123" />
    <link rel="next" href="http://www.example.com/article?story=abc&page=3&sessionid=123" />
  • rel=”prev” と rel=”next” は Google に対するヒントであり、絶対的な指示ではない。
  • rel="prev" や rel="next" を指定すべき箇所で指定していないなど、正しく実装されていない場合は、Google はこれまでと同様にページのインデックス登録を行い、コンテンツを把握する。
わからないことがある場合は?

詳しい情報は、 ヘルプ センター を参照してください。この記事に関するコメントやご質問は、 ウェブマスター ヘルプ フォーラム までお寄せください。