SEOにおけるページネーション
ページネーションがクロールバジェットとインデックス登録に与える影響と、noindexとcanonicalの使い分けを、HTML・PHP・サイトマップのコード例で解説します。
ページネーションは、長いコンテンツ一覧を、固有のURLを持つ複数のページに分割する仕組みです。例は/catalog/page/2、/catalog/page/3です。仕組みは単純ですが、大規模サイトではクロールバジェットを最も消費する要因の1つです。Googlebotが商品ページではなくテンプレートの一覧ページを数百ページもクロールし、カタログの一部がインデックスに登録されないことがあります。
ページネーションとは
ページネーションは、商品・記事・レビューなどの大量のコンテンツを、固有のURLを持つ連続したページに分割します。よくある形式は/catalog/?page=2、/catalog/page/2/、/catalog/2/です。検索エンジンは、各URLを別々のドキュメントとして扱います。
ページネーションの形式は3つあり、SEOの観点では挙動が大きく異なります。
「1 2 3 ... 100」のボタンで移動し、各ページが固有のURLを持ちます。noindex、canonical、全ページのインデックス登録から選べるため、SEOの制御が柔軟です。
スクロールに応じてURLを変えずにコンテンツを読み込みます。JavaScriptをレンダリングしないと、Googlebotには最初の画面しか見えません。HTMLのフォールバックが必要です。
URLは変わらず、クリックでコンテンツが追加されます。クロールの問題は同じで、JavaScriptをレンダリングしないと、Googlebotには初期表示のコンテンツしか見えません。
クロールバジェットと重複コンテンツ
商品500点を1ページ20点で表示するストアでは、カテゴリごとにページネーションのURLが25個できます。カテゴリが50あれば1,250 URLです。Googlebotは個々の商品ページにたどり着く前に、これらをクロールしなければなりません。
noindex, followを追加したところ、インデックス登録までの期間は3〜5日に短縮されました。ページネーションがSEOにもたらす問題は、具体的には3つあります。
- 重複コンテンツ同じカテゴリのTitleとDescriptionが、
/page/1と/page/15で同一になります。セクションの見出しも繰り返されます。Googleは似たページを見て、どれを上位に表示すべきか判断できません。 - PageRankの分散内部リンクが数十のページネーションURLに分散します。10ページ目以降の商品に渡る内部リンクの評価は、ごくわずかです。
- クロールバジェットの浪費小〜中規模のサイトでも、Googlebotは優先したいコンテンツではなく、テンプレートの一覧ページにクロールバジェットを使ってしまいます。
ページネーション形式の比較
| 形式 | クロールのしやすさ | 重複 | SEOでの対処 |
|---|---|---|---|
| 番号付きページ | 全URLをクロールできる | あり(Title/Description) | noindex/canonical/全ページのインデックス登録 |
| 無限スクロール | 最初の画面のみ(JSなしの場合) | なし(URLが1つ) | HTMLフォールバック+レンダリング |
| 「もっと見る」 | 表示済みのコンテンツのみ | なし(URLが1つ) | SSRまたはJSのレンダリング |
SEO設定の方針
方針を選ぶ基準は1つだけです。2ページ目以降に、単独で検索される価値があるかどうかです。オーガニック検索から/catalog/page/7に着地するユーザーがいなければ、そのページにクロールバジェットを使う意味はありません。
方針1:2ページ目以降をnoindexにするブログ、ニュース、コンテンツサイトに最適です。ページネーションのページには単独の検索価値がないため、noindex, followでインデックスから外し、リンクのクロールは維持します。クロールバジェットが実際のコンテンツに回ります。
方針2:1ページ目を指すrel=canonical noindexより穏やかな方法です。2ページ目以降には(直接リンクや広告のために)アクセスできる状態を残し、canonicalは/page/1を指します。Googleはシリーズ全体を1つのセクションとみなし、1ページ目を正規URLとして扱います。
方針3:全ページのインデックス登録各ページネーションのページに固有の商品があり、インデックスに登録したい大規模ECに向きます。ページごとに固有のTitleとDescription(例:「ノートPCを購入 — 3ページ目」)と、自己参照のcanonicalが必要です。
/page/で絞り込みます。ページネーションのページがオーガニック流入を生んでいるなら、noindexを設定する前によく検討してください。技術的な実装
必要になるのは、ほとんどの場合<head>内の3つの記述です。<meta name="robots">、<link rel="canonical">、サイトマップのエントリです。それぞれのコード例を示します。
rel=next/prev:廃止された属性
2019年より前、Googleはページネーションのシリーズを識別するためにrel="next"とrel="prev"に対応していました。2019年3月、Googleはこれらの属性の使用をやめたと発表しました。Google向けに追加しても意味はありません。Bingは正式に対応していますが、多くの市場でBingのシェアはごくわずかです。
ページネーションのページにnoindexを設定する
2ページ目以降の<head>に追加します。要点は、noindex, nofollowではなくnoindex, followを使うことです。nofollowにすると、Googlebotはページネーションのページからのリンクをたどらず、そこからリンクされている商品や記事もインデックスに登録しません。
<!-- Page /catalog/page/2/ and above -->
<head>
<meta name="robots" content="noindex, follow">
</head>
<!-- Page /catalog/ (first page) — no noindex -->
<head>
<meta name="robots" content="index, follow">
</head>WordPressでは、wp_headフックでis_paged()を判定して実装します。
// functions.php
add_action('wp_head', function() {
if (is_paged()) {
echo '<meta name="robots" content="noindex, follow">' . "\n";
}
});1ページ目を指すrel=canonical
2ページ目以降にアクセスできる状態を残しつつ、セクションとして重複させたくない場合は、canonicalで1ページ目を指します。1ページ目には自己参照のcanonicalを設定します。
<!-- /catalog/page/3/ -->
<head>
<link rel="canonical" href="https://example.com/catalog/">
</head>
<!-- /catalog/ — self-canonical (required) -->
<head>
<link rel="canonical" href="https://example.com/catalog/">
</head>noindexは、伝える意図が異なります。ユーザーに見せるページネーションの方針と合致する場合にだけ使い、公開したいコンテンツをGoogleが引き続き発見できるか確認します。どちらも、URLとリンクの設計を丁寧に考える代わりにはなりません。sitemap.xmlのページネーション
ルール:sitemap.xmlには、インデックスに登録したいページだけを含めます。noindexのページをサイトマップに入れると、シグナルが矛盾し、クロールバジェットを浪費します。
<!-- sitemap.xml — indexable pages only -->
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<!-- Page 1 — always include -->
<url>
<loc>https://example.com/catalog/</loc>
<changefreq>daily</changefreq>
<priority>0.8</priority>
</url>
<!-- Pages 2+ — only with full indexing strategy -->
<url>
<loc>https://example.com/catalog/page/2/</loc>
<changefreq>weekly</changefreq>
<priority>0.4</priority>
</url>
</urlset>よくあるページネーションの間違い
間違いの多くは、概念の誤解ではなく、実装時の見落としから生じます。CMSのサイトマップ生成機能やメタタグのテンプレートは、ページネーションを考慮していないことがよくあります。
if page > 1の条件の書き方が誤っていて、カテゴリのメインページにもnoindexが付いてしまいます。セクションのトラフィックは数週間でゼロになります。
サイトマップ生成機能が全URLを自動で追加します。サイトマップは「インデックスに登録して」、meta robotsは「しないで」と伝え、Googleは矛盾したシグナルを受け取ります。矛盾の解消にクロールバジェットが使われます。
間違い21ページ目は/catalog/にあるのに、2ページ目以降のcanonicalが/catalog/page/1/(404を返すURL)を指しています。Googleは壊れたcanonicalチェーンを受け取ることになります。
ページネーションがすべてJavaScriptのみで、静的なURLがありません。Googlebotには最初のN件しか見えず、カタログの残りはインデックスに登録されません。
間違い4全ページのインデックス登録を採用しているのに、全ページが同じtitleタグを使っています。Googleは重複コンテンツとみなし、セクションの関連性を下げます。ページ番号を入れた固有のメタタグが、ページごとに必要です。
間違い5これらのエラーの多くは、Google Search Consoleの[カバレッジ]で見つかります。noindexが付いたページ、除外されたURL、canonicalの競合は、レポートにすぐ表示されます。
ページネーションのページはインデックスをブロックすべきですか?
Googleはrel=next/prevに対応していますか?
ページネーションにはcanonicalとnoindexのどちらが確実ですか?
無限スクロールはSEOにどう影響しますか?
ページネーションのページはサイトマップに含めるべきですか?
Check it with SpiderHead
Free and local: run the audit on your own machine.



