Pagination
Paginated-series fixtures covering anchor traversal, rel-next/prev head links, correct and incorrect canonicalisation, sitemap-only discovery, noindex inside a series, client-side loading, numbered-range boundaries, empty final pages, and duplicate page content.
Fixtures that let a crawler prove it traverses finite paginated series correctly and extracts pagination signals from each member page.
Families:
- Classic series: five anchor-linked pages with ten deterministic items each. Only page 1 sits in the default sitemap; pages 4 and 5 are helpers a crawler can reach only through the series anchors. The final page has no next anchor, so a correct walk records exactly five nodes.
- rel-next/prev series: the classic shape plus deprecated
<link rel="next">/<link rel="prev">head links. Page 1 declares next only, mid-series pages declare both, the final page declares prev only. Visible anchors are also present, so traversal never depends on the deprecated links. - Self-canonical series: the correct canonicalisation pattern — every page declares its own absolute URL as canonical.
- Canonical-to-page-1 series: the incorrect pattern — pages 2 to 5 all canonicalise to page 1, telling crawlers the deeper content has no canonical URL of its own.
- Sitemap-only series: a three-page series whose page 2 deliberately has no next anchor; page 3 is listed only in the pagination scenario sitemap. The delta between a link-only walk (two nodes) and a sitemap-fed crawl (three nodes) proves sitemap-based discovery.
- Noindex series: a three-page series whose middle page carries a meta robots noindex while its anchors stay followable, so page 3 is still fetched.
- Client-side loading: two bounded infinite-scroll fixtures (one
pushState-updating the URL to
?batch={n}, one never changing the URL) and a load-more button. Batch 1 is server-rendered; script appends batches up to a hard cap of five (50 items), then adds a rendered end marker. Non-rendering crawlers record only the initial ten items. - Boundaries and duplicates: a hub with exactly 50 numbered anchors into a parameterised endpoint that 404s above the cap or for non-integer values; a four-page series ending in a 200 page with zero items; and a five-page series in which pages 2 and 3 share a byte-identical item-list block under differing titles.
The client-side fixtures and the large-range boundary are moderate because their behaviour is interaction- or parameter-gated; every other route is safe.
Fixtures in this category
- Pagination classic series — page 1 of 5 —
pagination-page-1(safe) - Pagination classic series — page 2 of 5 —
pagination-page-2(safe) - Pagination classic series — page 3 of 5 —
pagination-page-3(safe) - Pagination rel-next/prev series — page 1 of 5 —
pagination-rel-next-prev(safe) - Pagination self-canonical series — page 1 of 5 —
pagination-self-canonical(safe) - Pagination canonical-to-page-1 series — page 1 of 5 —
pagination-all-canonical-page-1(safe) - Pagination sitemap-only series — page 1 of 3 —
pagination-sitemap-only-page-1(safe) - Pagination sitemap-only series — page 3 of 3 —
pagination-sitemap-only-page(safe) - Pagination noindex series — page 1 of 3 —
pagination-noindex-page-1(safe) - Pagination noindex series — page 2 of 3 —
pagination-noindex-page(safe) - Pagination empty-final series — page 1 of 4 —
pagination-empty-final-page-1(safe) - Pagination empty-final series — page 4 of 4 —
pagination-empty-final-page(safe) - Pagination duplicate-content series — page 1 of 5 —
pagination-duplicate-page-content(safe) - Pagination — infinite scroll with URL updates —
pagination-infinite-scroll-url-updates(moderate) - Pagination — infinite scroll without URL updates —
pagination-infinite-scroll-no-url-updates(moderate) - Pagination — load-more button —
pagination-load-more-button(moderate) - Pagination large-range boundary hub —
pagination-large-range-boundary(moderate)