Guide · Pagination
Pagination and SEO: How to Set Up Blog Archive Pages Correctly
Three rules are enough for clean blog pagination
Three rules apply to paginated blog archives: every archive page gets its own URL with a self-canonical, the pages are connected via normal HTML links, and no archive page is set to noindex. Google stopped evaluating the rel=”prev” and rel=”next” markups in March 2019 – whoever still maintains them is maintaining dead markup.
What pagination means in a blog
As soon as a blog has more posts than fit on one overview page, pagination arises: /seo-blog/, /seo-blog/page/2/, /seo-blog/page/3/ and so on. WordPress generates this structure automatically – and that’s exactly why it’s rarely configured deliberately. This shows up regularly in audits: archive pages set to noindex by plugin default or all pointing their canonical to page 1.
Meanwhile, the canonical tag is gaining ground industry-wide: in 2024, 65 percent of mobile-crawled pages used it, up from just 61 percent in 2022 (Web Almanac 2024, HTTP Archive).
Why that’s a problem: for many older posts, the archive pages are the only internal link path. Cut them off and old articles hang in the void without internal links – losing exactly the findability that clean internal linking is supposed to create.
The three rules for clean blog pagination
All three rules appear – directly or indirectly – in Google’s own documentation. They don’t contradict each other, they complement each other.
1. Self-canonical on every archive page
Every component page canonicalises to itself: /page/2/ to /page/2/, not to page 1. A canonical from all archive pages to the first page tells Google “the subsequent pages are duplicates” – they’re not, they list different posts. Google explicitly recommends in the official documentation giving every paginated page its own canonical URL.
2. Normal HTML links between the pages
Googlebot follows a-href links. Pagination that only works via JavaScript click handlers or a “Load more” button is a dead end for the crawler – Google names the solution in the same documentation: supplement or replace buttons with real links.
3. No noindex on archive pages
The widespread SEO plugin option “don’t index archive pages” dates from a time when people feared duplicate content. Today it costs you twice: first, permanently non-indexed pages drop out of the crawl rhythm; second, it weakens the link path to older posts. Leave archive pages indexable – they rarely rank, but they carry.
rel=”prev” and rel=”next”: no effect since 2019
Many themes and plugins still set both markups today. However, Google confirmed in March 2019 that rel=prev/next hasn’t been used as an indexing signal for years. The markup does no harm – but whoever gets it sold as “pagination SEO” is paying for decoration.
Pagination: the rules at a glance
| Measure | Recommendation | Why |
|---|---|---|
| Self-canonical per archive page | Mandatory | Prevents Google from treating subsequent pages as duplicates |
| Normal HTML links between the pages | Mandatory | Only this way can Googlebot follow all pages |
| noindex on archive pages | Avoid | Cuts the link path to older posts |
| rel=”prev” / rel=”next” | No effect since March 2019 | No longer an indexing signal, but harmless |
| Posts per archive page | 10–20 | Usual corridor for load time and usability |
A blog archive is not a shop category
Almost all pagination guides cover online shop categories. For blogs, one decisive difference applies: a shop category page is meant to rank itself (“men’s running shoes”), a blog archive page almost never – there, the posts rank. It follows: in a blog, /page/2/ needs no keyword optimisation, no text of its own, no description. It needs only three things: reachable, indexable, linked. Whoever optimises more into it wastes time at the wrong end.
What works instead when older posts should become more visible: tidy up categories and tags (fewer, but maintained), link the most important evergreen posts directly from the blog home page and from new articles – and keep archive depth flat. A post only reachable via /page/9/ sits nine clicks away from the home page.
How to check your pagination
Five steps to check the state of a blog’s pagination without extra tools:
- Open the page source of an archive page (right-click → View page source) and search for
rel="canonical": does the URL point to itself or to page 1? - Check the SEO plugin settings: is an option like “don’t index archive pages” or “noindex paginated pages” activated? If so, deactivate it.
- Check whether /page/2/ and further pages are reachable via real a-href links – not only via a “Load more” button without a link fallback.
- Check archive depth: how many clicks away from the home page are the oldest posts? Tidy up categories and tags, link important evergreen posts directly.
- Leave rel=”prev”/rel=”next” in the theme if present – removing isn’t a must, adding has brought nothing since 2019.
Common pagination mistakes
Canonical from all archive pages to page 1
Tells Google the subsequent pages are copies – the link path to old posts disappears from the index.
noindex by plugin default
Check your SEO plugin settings: “Index paginated archives” belongs on Yes.
“Load more” without real links
Convenient for users, a wall for the crawler.
Selling rel=prev/next as a measure
No Google effect since 2019.
“Optimising away” pagination with 100 posts per page
Load time and usability suffer; 10–20 entries per page is the usual corridor.
Frequently asked questions on pagination
Should archive pages go into the XML sitemap?
No, not necessary – the posts themselves belong in the sitemap. Google finds the archive pages via internal linking.
Do paginated pages rank themselves?
Blog archive pages practically never, and that’s fine. They’re distributors, not destination pages. Shop categories are the other case – there, page 1 ranks.
What about duplicate content between archive pages?
Page 2 lists different posts than page 1 – that’s not a duplicate. With self-canonicals, the worry is settled.
How many posts per archive page?
10 to 20 is usual. More decisive than the number: the most important content shouldn’t first appear on page 5, but be linked directly.
Viktor Pásztor
Viktor Pásztor is an SEO freelancer in Berlin, has been in digital marketing for over 15 years and manages around 15 client projects in parallel, mostly e-commerce and B2B. He has been working 100 % remotely for more than five years – with WordPress, Shopify, Shopware and TYPO3. More about Viktor Pásztor
Keep reading
Technical SEO
What a crawl finds and what happens afterwards.
On-page optimisation
How structure and internal links work together.
SEO audit
How an audit finds errors like wrong canonicals.
Unsure what your SEO plugin is doing to your archives?
In the SEO audit we take a look into your settings. Reply within 24 hours on business days.
→ Request an SEO audit now