Pagination

Pagination is a list split over several pages, such as ?page=2 or /page/2/. Here is what changed in 2019, how to set it up per page, and how to handle view-all and infinite scroll on a small site.

By , founder of Porteur · Updated 14 September 2026 · Markdown

What changed in 2019

Google stopped using rel=next and rel=prev in 2019. It now treats each paginated page as its own URL. That means page two, three and four must stand on their own.

Do not point every page to page one with a canonical. That hides the rest from indexing. Each page needs a self-referencing canonical.

The correct setup per page

  1. Give each page a stable URL

    Use a clean pattern like /blog?page=2 or /category/widgets/page/3/. Avoid changing the order or count on every load.

  2. Use a self-referencing canonical

    On /blog?page=2 the canonical is /blog?page=2. The same rule for every page in the sequence.

  3. Link pages together with real links

    Add Previous and Next links as normal <a> elements. Also link to key page numbers, for example 1, 2, 3, 10, Last, to aid crawling.

  4. Keep items reachable outside pagination

    Link items from categories, tags, related items and sitemaps. Do not rely on page depth alone for discovery.

  5. Set titles and headings clearly

    For example: Title, Blog page 2 of 5. H1, Blog. Include the page number so searchers know what they will open.

A good page looks like /blog?page=3 with its own title, a self-canonical, links to page 2 and 4, and item cards linking to detail pages.

View-all pages: when to use

If a list is short, offer a single view-all page. Canonicalise the parts to the view-all. This gives one strong URL that can rank for the head term.

Do not use view-all when the list is long or heavy. It can slow to load and hurt Core Web Vitals. Keep to paginated parts in that case.

Infinite scroll that Google can crawl

Infinite scroll is fine for users, but Google needs paginated URLs behind it. Build server-rendered pages for page 2, 3 and so on, and map the scroll positions to them.

  • Update the URL as the user scrolls to match the underlying page, for example pushState to /blog?page=3
  • Expose the same items at the same offsets on the paginated URLs
  • Make sure the Next and Previous links exist in the HTML, not only via JavaScript

How to check and measure

  • Pick three sequences to audit, for example /blog, /changelog, /category/widgets
  • Open page 2 and 3 of each, check the canonical points to itself
  • Use View Source to confirm real <a> links for Previous, Next and numbered links
  • In Search Console, inspect /page/2 and /page/3 URLs to see if they are indexed
  • Check that items linked on page 3 are also reachable from their categories or sitemaps
  • Watch crawl stats for spikes if you add many new pages at once

Questions

Sources

Check my site, free

Want a quick check on your pagination and internal links, run your URL and get three concrete findings in about thirty seconds, free.

  • Free check, no card
  • Read-only, your own accounts
  • Readable by your agent

Read next