Pagination canonicals: why page 2 is not page 1
Canonicalizing every paginated page to page 1 hides the rest of the sequence. squirrel detects paginated URLs and checks where their canonical points.
What pagination canonicals are
A paginated listing splits one set of items across several URLs. Each of those URLs holds different items, so each is a distinct page rather than a duplicate of the first.
Pointing every page’s canonical at page 1 tells search engines the rest do not exist as separate documents, which is how items that only appear on page 4 stop being discovered. The correct arrangement is a self-referencing canonical on each page. The rel="next" and rel="prev" link relations describe the sequence; Google stopped using them as an indexing signal in 2019, and they remain valid HTML that other clients may read.
What squirrel checks
The rule runs on every crawled page. A page counts as paginated when its URL carries a page, p, pg, offset or start query parameter, or when its path ends in /page/<number>. It also looks for link[rel="next"] and link[rel="prev"] in the head. For a URL that answers with an HTTP redirect, the URL tested, and the base a relative canonical resolves against, is the one the redirect ended on, since that is the page whose tags are read. The crawled URL is used when no HTTP redirect was observed, when any hop was a client-side one (JavaScript or meta refresh), or when the final URL does not parse.
- Skipped when the page is neither paginated nor carrying pagination links. Message:
Page does not appear to be paginated. pagination-canonicalwarns when a paginated page has a canonical that is not itself paginated. Message:Paginated page canonicalizes to non-paginated URL, with the valuePage 3 → https://example.com/blog. It passes otherwise withPaginated page has appropriate canonical. The first page of a list is exempt:?page=1, an empty or0page value,?offset=0,?start=0or/page/1holds the same content as the unpaginated URL, so a canonical pointing at that URL (the same path and other query parameters, without the page marker) is correct and passes. A first page canonicalizing anywhere else still warns. This check only runs when a canonical tag is present.pagination-linksreports info whenrel="next"orrel="prev"is present. Message:Pagination links present, withprev, nextas the value.pagination-linksreports info when the page is paginated with neither link. Message:No rel=next/prev links (optional).
Severity is info and the weight is 4, so this rule surfaces the pattern rather than penalising it.
How to fix it
<link rel="canonical" href="https://example.com/blog?page=3" />
<link rel="prev" href="https://example.com/blog?page=2" />
<link rel="next" href="https://example.com/blog?page=4" />Give each paginated URL a canonical that points at itself. Make sure the items on each page are reachable by a crawler without JavaScript, and consider a view-all page as the canonical target only when it genuinely lists everything.
A filtered listing whose parameters happen to include p or start is treated as paginated by the URL test. Disable the rule for those routes if the canonical is deliberate.
| Rule ID | crawl/pagination |
| Category | Crawlability |
| Scope | Per-page |
| Severity | info |
| Weight | 4/10 |
Enable / disable
Disable this rule
[rules]
disable = ["crawl/pagination"]Disable all Crawlability rules
[rules]
disable = ["crawl/*"]Enable only this rule
[rules]
enable = ["crawl/pagination"]enable replaces the default ["*"], so this is the only rule selected. Leave disable out: a rule that matches any disable pattern is skipped even when enable names it. Only an enabled setting under a rule’s own [rule_options] table overrides both lists.
Related rules
- crawl/canonical-chain: canonical tags that resolve through a redirect.
- links/dead-end-pages: listing pages that lead nowhere further.
- crawl/sitemap-coverage: whether the paginated URLs are in the sitemap at all.
- content/duplicate-title: paginated pages sharing one title.
Crawlability findings ship in every audit next to the SEO, performance and agent experience rules. See The Screaming Frog alternative for agents for how an agent works through a report.
References
- Pagination and incremental page loading, Google Search Central
- Consolidate duplicate URLs, Google Search Central
Check your site
Run squirrel audit https://example.com and open the Crawlability section of the report. Every paginated page is listed with where its canonical points. Signed-out local audits need no account and cost nothing. Signed-in audits spend credits.