Pagination SEO: Rules for Paginated Pages
Category archives, blog lists and product listings are split across pages. Done right, Google can reach every item. Done wrong, deep pages vanish or the wrong page gets canonicalised. This guide gives Google’s pagination rules, what changed with rel=next and rel=prev, and how to handle load-more and infinite scroll.
- Unique URL per page
- Crawlable links
- Canonical rules
- Infinite scroll
/shoes/?page=1 /shoes/?page=2 canonical: itself /shoes/?page=3 canonical: itself
Give each page its own URL, link pages with crawlable a href links, and give each page its own canonical; never canonicalise every page to page 1. Do not use #fragments for page numbers. Google no longer uses rel=next and rel=prev. Filter and sort variations should not be indexed separately. Load-more and infinite scroll need crawlable links behind them.
Why sites paginate
Showing partial results improves speed, reduces network and database load, and avoids errors from oversized lists. Google lists search results, category listings, post archives, product reviews and blog comments as typical cases. The SEO job is making sure Google can still reach all of the content.
Three UX patterns
| Pattern | Strength | Weakness |
|---|---|---|
| Pagination | Shows size and position | More navigation, new page loads |
| Load more | One page, can show total count | Cannot handle very large sets |
| Infinite scroll | Intuitive on one page | Fatigue; large sets are hard |
Core rules from Google
a href; Googlebot does not click buttonsGoogle also notes that linking every page in a series back to the first page can signal that the first page is the collection’s entry point.
Canonicals on paginated pages
Do not use the first page of a paginated sequence as the canonical for the whole series. Give each page its own canonical URL. See canonical tags.
/shoes/?page=2 canonical -> /shoes/?page=2
/shoes/?page=2 canonical -> /shoes/
Load more and infinite scroll
Google crawlers do not click buttons or scroll to trigger loading. Content loaded that way may not be found, so make sure it is reachable through crawlable links. Follow JavaScript SEO basics and consider a sitemap (or a Merchant Center feed for products) to help Google find everything.
Set up pagination step by step
Give each page a URL
Use a page parameter or path.
Add crawlable next links
Plain anchors, not scripts.
Set per-page canonicals
Each page points to itself.
Remove #page URLs
Fragments are ignored.
Filter and sort variations
Google says variations such as a price-sorted view should not be indexed separately. Use a noindex robots meta tag or a robots.txt rule to block those URL patterns. See faceted navigation SEO and noindex vs robots.txt.
Notes for WordPress sites
- Archives paginate automatically as /page/2/ (my own note). Check each has its own canonical in your SEO plugin. See Yoast settings.
- Do not noindex everything past page 1 without a reason; Google’s page does not recommend it (it is not stated).
- Keep internal links to older posts reachable. See orphan pages.
Troubleshooting
| Symptom | Likely cause (my own diagnosis) | Fix |
|---|---|---|
| Deep items not indexed | No crawlable links | Use anchors; add sitemap |
| Page 2 canonicalised to page 1 | Wrong canonical | Self-canonical each page |
| Duplicate sorted pages indexed | Parameters open | Noindex or block patterns |
| Load-more content missing | Script-only loading | Add crawlable links |
Checklist
URLs
- Unique URL per page
- No fragment paging
- Consistent pattern
- No parameter clutter
Links
- Anchor next links
- Reachable deep pages
- Sitemap for items
- No script-only links
Canonical
- Each page self-canonical
- Not page 1 for all
- Filters not indexed
- Sorts handled
Test
- Inspect deep pages
- Check rendered HTML
- Review indexing report
- Retest after changes
What Google’s page does not say
It does not cover out-of-range page numbers or soft 404s, whether to noindex deep pages, maximum page depth, crawl budget figures, sitemap specifics for paginated URLs, or guidance on view-all pages.
Key terms
- Pagination
- Splitting a list across numbered pages.
- Incremental loading
- Load more or infinite scroll.
- rel=next/prev
- Old link hints Google no longer uses.
- Fragment
- The part of a URL after #.
Common mistakes
Canonical to page 1
Hides deeper items.
Fragment page numbers
Ignored by Google.
Script-only load more
Crawlers do not click.
Relying on rel=next
Not used by Google.
Indexing sorts
Duplicates.
No sitemap for items
Discovery gaps.
Related guides
Pagination SEO questions
Does Google use rel=next and rel=prev?
No. Other search engines may.
Should page 2 canonical to page 1?
No. Each page gets its own canonical.
Can paginated pages share titles?
Yes, Google says they may reuse titles and descriptions.
Can I use #page=2?
No. Google ignores fragments.
Does Google follow infinite scroll?
Not by scrolling; use crawlable links behind it.
Should I index sorted pages?
No, Google says variations like price sorts should not be indexed separately.
How do I link between pages?
With a href anchors to the next page.
Can a sitemap help?
Yes, Google suggests a sitemap or Merchant Center feed to find all products.
UX patterns, crawlability, link, URL, canonical, fragment, title, legacy-tag and filter rules come from Google’s page. The step routine, WordPress notes, troubleshooting and checklists are my own.