- On-page SEO
- Explainer
Blog Pagination and SEO: Help Google Reach Older Posts
Editorial responsibility: SearchCub
Google reaches your older posts by following links from one archive page to the next, so give page 2, page 3 and every later page its own URL, link each page to the next with an ordinary HTML link, and don't point their canonical tags at page 1. A Load more button or infinite scroll can sit on top of that for readers, but it can't replace it, because Google's crawler doesn't press buttons or scroll. This explainer follows Google's guide to pagination and incremental page loading, last updated on 10 December 2025, and ends with a check you can run on your own blog in a browser.
Why archive pages matter for older posts
Your newest posts sit on your blog's first page. As you publish, older ones move to page 2, page 3 and beyond, and the same happens inside your category and tag archives. WordPress, for example, "only shows 10 posts per page by default", a number you can change with Blog pages show at most under Settings › Reading (WordPress theme handbook: pagination, WordPress: Reading screen).
Google names this case directly. Its pagination guide includes a site's back catalogue of blog posts or newsletter titles among the lists that sites load in parts, and says you might have to step in so Google's crawler can still reach everything on your site.
The reason is how the crawler moves. Google follows the addresses in the href attribute of <a> links, and its crawlers generally don't run JavaScript that waits for a user action before changing what the page shows. An archive whose older posts appear only after a button press gives the crawler no route to them from that list.
What Google asks for
Google's guide sets out the rules for a list split across pages. On a blog they look like this:
Google's guidance | What it means on your blog |
|---|---|
Use a different URL for every page in the sequence, because Google treats each one as a separate page | Page 2 of your blog, of each category and of each tag has an address of its own, such as |
Link each page to the page after it with | An Older posts, Next or page-number link is in the page's HTML, not only a button |
Consider linking every page back to the first one, which can suggest to Google that page 1 may make a better landing page than the others | Later archive pages link back to page 1 of the blog or of that category |
One common worry needs no fix. Archive pages often share a title and description, and Google allows every page in a sequence to carry the same ones. Page 2 doesn't need its own wording.
Load more buttons and infinite scroll
Google describes three ways to show a long list: numbered pages, a Load more button that extends the list, and infinite scroll, which adds posts as the reader nears the bottom. Its guide weighs the pros and cons of each for users. What matters for Google itself is whether your older posts also exist at addresses it can follow.
Load more. A button that fetches more posts with a script and leaves the address unchanged gives the crawler nothing to follow. A Load more control built as a real link to page 2, with a script that adds page 2's posts in place for readers, still gives Google that address: Google's link guide lists a link with both an href and an onclick script among the formats it can parse (Google: link best practices, last updated 10 December 2025).
Infinite scroll. Google's guide to fixing lazy-loaded content, last updated 10 December 2025, explains how to make it indexable, and each step puts pagination back underneath:
"Give each chunk its own persistent, unique URL." Google wants each address to show the same content every time it's loaded, which absolute page numbers such as
?page=12help with; avoid relative ones like?date=yesterday.Link from each chunk's URL to the next in order, so search engines can find the URLs in the paginated set.
When a new chunk becomes the main thing on screen, "update the displayed URL using the History API", so readers can reload, share or link to the part they reached.
If your theme's infinite scroll has no page addresses behind it, look in its settings for numbered pages or an Older posts link that stays in the HTML. A button that loads the rest of a single post is a separate problem, covered in mobile-first indexing.
What not to do
Don't point page 2's canonical tag at page 1. A canonical tag is a line in a page's HTML that names its preferred address. Google's pagination guide is direct: "Don't use the first page of a paginated sequence as the canonical page." Instead, give every page a canonical URL of its own.
Don't put page numbers after a
#. "Google ignores fragment identifiers." It may not follow a link that differs only after the#, because it assumes it already has that page.Don't remove your page links because Google retired
rel="next"andrel="prev". Google's guide says Google has stopped using these tags, though other search engines may still make use of them. Those were tags in the page's head. The<a href>links between pages are what the guide still asks for, and if your theme still adds the old tags, you can leave them.Don't treat noindex on archive pages as Google's advice. The guide mentions noindex for one case: filtered or re-sorted copies of a list, such as
?order=price, which it suggests keeping out of the index so that Google doesn't index several versions of the same list. It doesn't ask you to noindex page 2 and later of the list itself, so a plugin option that does so is your own choice.
Check your own blog
Open your blog's first page and scroll to the bottom. Click the link to older posts and look at the address bar: it should change to a new address, such as
/page/2/or?page=2. If it stays the same, or only gains a#, your archive loads older posts by script: view the source of the first page and search for a page 2 address, such as/page/2/, inside an<a href="…">link, then use that address for the next two checks.Paste that page 2 address into a private browser window. It should show the same older posts on its own, without any clicks.
View the page source of page 2 and search for the next page's address, such as
/page/3/. It should sit inside an<a href="…">link. Then search forcanonical: the address it names should be page 2's own.Repeat the first three checks on one category archive and one tag archive, since each one has its own pages.
If you use Google Search Console, inspect page 2 with the URL Inspection tool, click Test live URL, then View tested page, and search its HTML for the post links, the test Google's lazy-loading guide suggests. To see whether Google knows a particular old post, why Google hasn't indexed your page explains the states that tool reports.
Give older posts more than one route
Pagination is one route among several. Category and tag archives list older posts by subject rather than by date, and blog categories covers which collections to keep. Links from newer posts to older ones give each post a direct route; internal links for SEO shows where to place them. Google's pagination guide also suggests a sitemap file to help it find everything on a site, and XML sitemaps covers whether a small blog needs one.
For the wider question of how your site is doing in search, start with how to check your website's SEO performance.
Your next step
Open page 2 of your blog in a private window and run three checks: it has its own address, it links to the next page with a real link, and its canonical tag names page 2. If one fails, look in the theme or plugin that builds your archive pages, because the fix belongs there rather than in each post.