Technical SEO
Canonical pagination: keep the next page discoverable
Page two contains items page one does not. The canonical decision must preserve that difference—and the links that lead to it.

For canonical pagination, give each distinct page in the sequence its own URL and self-referencing canonical. Page two should not canonicalize to page one when it contains different items. Preserve ordinary links between pages and to the items themselves. Google's current pagination guidance treats those URLs as separate pages.
A view-all page introduces a different decision: does one usable document actually contain everything in the components? Test that content relationship before consolidating. A canonical preference cannot make products hidden behind a button discoverable.
Method & limits
Primary guidance checked October 26, 2026. The nine-item catalogue and example.com captures are illustrative fixtures.
Follow nine items through three pages
This authored fixture is a small mug catalogue. The category has nine products, identified M01–M09, split evenly across three public URLs. Each item has its own product URL. The same fixture also offers a view-all document containing all nine product links. These paths explain an implementation; they are not observations from a shop.
The first repair question is whether the proposed target preserves the source's items. Page two contains M04, M05 and M06; page one contains none of them. Shared navigation, a repeated category introduction and matching titles do not turn those sets into duplicate content.
Try the downloadable pagination fixture: unzip it, run node server.mjs inside its folder, and open http://127.0.0.1:4363/mugs. It uses Node.js 22 or later, needs no packages, and serves real page and product links without JavaScript. Stop the local server with Ctrl+C.
| Document | Visible product links | Canonical for the paginated category |
|---|---|---|
| /mugs | M01 · M02 · M03 | https://example.com/mugs |
| /mugs?page=2 | M04 · M05 · M06 | https://example.com/mugs?page=2 |
| /mugs?page=3 | M07 · M08 · M09 | https://example.com/mugs?page=3 |
| /mugs/all | M01–M09 | A separate complete view; choose its role deliberately |
Illustrative fixture. A later page's canonical preserves its page number. If ?page=1 duplicates /mugs exactly, choose /mugs as that first-page representative.
Page two has something page one does not.
- Page 1M01M02M03↻ Self-canonical
/mugs - Page 2M04M05M06↻ Self-canonical
/mugs?page=2 - Page 3M07M08M09↻ Self-canonical
/mugs?page=3
What a useful page-two response contains
Open /mugs?page=2 directly in a fresh tab. It should return the second set without a preceding click, remembered session or visit to page one. Its initial response can supply the product links and navigation; JavaScript can enhance that experience afterward.
The example uses a labelled navigation region, a visible current-page state and actual anchors. Those controls serve keyboard users while providing explicit destinations. The HTML Standard defines the hyperlink created by an anchor with href. A click handler on a span does not provide the same link.
The response exposes M04–M06, preserves page two in its canonical, and links to both neighbouring chunks.
<head>
<title>Mugs — page 2 | Example</title>
<link rel="canonical"
href="https://example.com/mugs?page=2">
</head>
<body>
<h1>Mugs — page 2</h1>
<ul>
<li><a href="/products/M04">M04 · Cedar mug</a></li>
<li><a href="/products/M05">M05 · Elm mug</a></li>
<li><a href="/products/M06">M06 · Fir mug</a></li>
</ul>
<nav aria-label="Mug catalogue pages">
<a href="/mugs">Previous · page 1</a>
<a href="/mugs?page=2" aria-current="page">2</a>
<a href="/mugs?page=3">Next · page 3</a>
</nav>
</body>Choose a category sequence or a complete document
For a continuing category sequence, keep the self-canonicals above. A person browsing page two can bookmark and share that set. You may also offer a view-all option for convenience; its existence does not require rewriting every component's canonical.
RFC 6596 permits a canonical target that contains the source's complete content, including a view-all version of a multipart document. That describes a possible content relationship. It does not override Google's current advice for paginated category URLs. For a Google-facing catalogue, retain the paginated default unless you have deliberately chosen a different complete-document publishing strategy. Canonical relation
If the publishing strategy is one complete document, the full version must actually be complete and usable: all nine items, all meaningful accompanying information and working links, without waiting for three button clicks. Measure its loading and navigation experience before preferring it. A view-all label attached to the same first three cards fails that test.
| Decision | Paginated category | Deliberate complete-document strategy |
|---|---|---|
| Search destinations | Each distinct chunk can represent itself | The complete document is the intended representative |
| Content requirement | Each URL reliably supplies its own item set | The target includes every component's substantive content |
| Navigation requirement | Sequential anchors plus item anchors | All item anchors available on the full document |
| Failed shortcut | Point page two at page one | Call a three-item shell view-all |
| What to verify | All three chunks and nine item links are reachable | No item or material detail disappears in consolidation |
The complete-document column explains the RFC's superset relationship. It is not a claim that Google will select a nominated view-all URL.
Check discovery separately from canonical selection
Trace the links from /mugs to page two, from page two to page three, and from each chunk to its products. In this fixture, traversing those ordinary links should expose nine distinct product URLs. Finding only M01–M03 identifies a discovery defect even if every visible canonical is perfectly formatted.
For a load-more or infinite-scroll interface, retain persistent chunk URLs and sequential links underneath the enhancement. The current URL should identify the chunk a visitor can reload or share. Google's lazy-loading guidance describes that arrangement; it also explains why loading must work without interaction from Search.
Compare links in the initial response with those in the rendered page. A sitemap can help discovery, but it should not conceal a broken browsing path. The internal-link audit explains how to examine the path and its destinations.
- Direct load: each chunk shows its assigned three items without session state.
- Keyboard: the next-page and product links receive focus and open the promised destinations.
- Reachability: following the category links exposes M01–M09, with no missing or accidental repeated chunk.
- Response identity: the final URL, HTML canonical and rendered canonical agree on the chosen page.
- Target health: every preferred document returns useful public content and permits indexing when that is the intended outcome.
The internal-link graph audit tests whether the nine item destinations remain reachable from the intended category entry.
Avoid repairs that erase useful distinctions
Keep page numbers in real paths or query parameters. A fragment such as #page=2 changes the position or state within one document; it is unsuitable as the sole address of a separately discoverable chunk. Likewise, a canonical link is metadata: it does not replace the anchors that lead through the collection.
Google no longer uses rel=next and rel=prev head tags to identify pagination. Those HTML relations can still describe a sequence for other consumers; they are not the Google indexing repair. Focus the implementation on stable URLs, visible items and usable links.
Do not canonicalize unrelated page sets because an audit reports duplicate titles. Google's pagination documentation allows titles and descriptions to repeat within a sequence. A clear page number can help a reader orient themselves, but title uniqueness alone does not establish a different or duplicate document.
Treat filter and sort policy separately. Changing the sort can change which products appear on page two, so stripping every parameter can point at a different item set. Classify the actual variants before choosing consolidation, exclusion or independent indexing; use the canonical/noindex decision when the goal is exclusion.
Verify the family, then inspect Google's choice
Capture page one, a middle chunk, the last chunk and the view-all document if you offer one. Compare membership, response status, canonical declarations, indexability and the next links. The hub's capture checklist keeps those observations together.
After deployment, use indexed URL Inspection to compare declared and Google-selected canonicals. A live test helps inspect current delivery, but it does not settle Google's later duplicate selection. If the report says duplicate without user-selected canonical, first establish whether the pages truly expose different content or whether a routing bug served the same chunk everywhere. URL Inspection documentation
The useful success condition is concrete: the intended catalogue pages retain their identities, and every maintained item has a working discovery path. An exclusion counter dropping to zero is a different measure.
Sources
- Google — Pagination, incremental page loading, and their impact on Google Search
Verified Oct 26, 2026
- Google — Fix lazy-loaded content
Verified Oct 26, 2026
- WHATWG — HTML links and the canonical link type
Verified Oct 26, 2026
- RFC 6596 — The Canonical Link Relation, sections 3 and 5
Verified Oct 26, 2026
- Google — URL Inspection
Verified Oct 26, 2026
Supporting material
- Download the runnable pagination fixture
A local, dependency-free Node server with three catalogue pages, a complete view-all and nine invented product destinations.