tech
How to fix: Pagination uses self-canonical, no rel=next/prev
Why this matters
Pagination handled badly is one of the biggest causes of index bloat. The classic mistakes: deprecated rel=next/prev tags (Google retired them in 2019), or paginated pages canonicalising back to page 1. Each paginated page should self-canonical, or the series should consolidate to one long page.
Background
Pagination handled badly is one of the biggest causes of index bloat. The classic mistakes: deprecated rel=next/prev tags (Google retired them 2019), or paginated pages canonicalising back to page 1. Each paginated page should self-canonical.
References
Google Search Central · Pagination guidance (post rel=next/prev deprecation)
How to fix
Code snippet for each stack we cover. Pick the one matching your server / framework.
nginx
No server config — application-layer fix.
apache
Same.
cloudflare
No edge config.
wordpress
Yoast / RankMath: ensure paginated pages get self-referencing canonical (default behaviour). Remove any rel=next/prev meta from theme functions.php.
flask
Render <link rel="canonical" href="..."> per paginated page pointing at itself, not page 1.
express
Same.
rails
Same — use will_paginate or kaminari with self-canonical helper.
Verify it's working
View source on page 2 of a paginated series. Canonical should point at page 2, not page 1. No rel=next or rel=prev links should exist.
Want to know if your site has this issue?
Run a free 53-check audit — security, GDPR, NIS2, and technical SEO.
Audit my site →