Pagination and SEO

Summary

Pagination is a good way to let visitors and search engines browse your content. But an incorrect implementation can hurt your SEO.

There are 2 common ways to implement SEO-friendly pagination:

  • Next and previous links, numbering, and self-referencing canonicals
  • Similar, but with a view-all page that has all the content. This view-all page is used as a canonical for the paginated pages.

This article explains all the details about SEO and pagination.

What is pagination?

Pagination is a way to split up long lists into separate pages. As your blog grows, the list of blogs often becomes too long to show on a single page, so you split it up.

Normally you would include Next and Previous links at the bottom, and numbering to let your visitors navigate through your content:

An example of pagination

Every growing website will at some point have to use pagination to keep the site usable. This is also true for webshops. Amazon uses pagination on its category pages.

Pagination on an Amazon category page

The same is true for news websites, blog category pages, forums, and other sites that contain a lot of content. Pagination is the way to make sure the page loads fast.

The paginated pages normally include a preview of a product, blog, or whatever you’re displaying, and a link to it. It’s a way for your visitors to browse your content efficiently.

For SEO, pagination doesn’t have to be a problem. There are a few recommended ways to use pagination that will help SEO, and they are quite easy to implement. But often we see incorrectly implemented pagination causing issues.

Every SEO will have to use pagination at some point. This article explains what works and what doesn’t.

Do you need pagination?

The first question to ask yourself is whether you really need to paginate your content. If you have 12 blog posts and you’re publishing a new blog every 5 months, you can make your life easier by just showing everything on one page.

But if you plan to grow the site and add more content, inevitably you’ll have to use pagination at some point.

Why is pagination important?

User experience

As a visitor, scrolling through 1000 articles on one page isn’t great. Splitting the list up into different pages helps users find the content more easily.

Internal links to deeper pages

Internal links are an import signal for search engines. A page without any internal links pointing to it is considered not very relevant.

Pagination helps you build internal links to all your deeper content. Imagine if you only had the 20 latest blogs in your archive. Any older articles might not have internal links and will be considered less relevant. Pagination helps you fix that.

Search engine friendly pagination

There are two different ways to implement pagination that work for your visitors, and also help search engines crawl your pages.

Google-recommended: self-referencing canonicals

Google has said that its crawler is smart enough to recognize pagination. It will follow your next and previous links and by doing so, it’s able to crawl all the content on your site. It requires you to use proper <a href> HTML links instead of javascript. So all you need to do is:

  • Add next and previous links and numbering
  • Add self-referencing canonical URLs on every page, such as <link rel=”canonical” href="/products/shoes?page=2”>

You could use URLs like:

  • Query parameters, like: /products/shoes?page=2
  • Unique URLs, like: /blog/seo/page2

Don’t use a hash. A URL like /blog/seo#page2 would not be seen as an individual page, and therefore not be crawled or indexed.

Google recommended pagination

Alternative: the view-all page

Although Google’s recommended solution may work, in practice we see that some pages aren’t indexed, simply because Google doesn’t bother to follow the pagination to the end. There is an alternative solution that can prevent this.

It involves the following steps:

  • Create regular pagination with an x number of items per page, and add next and previous links with numbering like with the previous solution
  • Create a view-all page that contains all the items. This could be on /products/shoes/all, or /blog/seo/archive. Anything that works for you.
  • Add the view-all page as a canonical URL to the paginated page. So /products/shoes?page=2 will have /products/shoes/all as it’s canonical URL.
  • The canonical URL on the paginated pages is a signal to Google to index the view-all page. You don’t need to no-index the paginated pages.

As a result, Google will likely not index the paginated pages but just the view-all page, and from there it has access to your entire archive. Every deeper item now has an internal link from a page that is indexed.

View all pagination

Limitations

A view-all page may not be feasible if you have hundreds of thousands of items. Even if you have a few hundred items, the view-all page may become too large. In that case, you could remove images or make the preview text a bit smaller.

Pagination and sitemaps

You may wonder why you need pagination if you have a sitemap. Through the sitemap, Google can already find all your pages, right?

That’s true, but Google sees internal links as a signal of relevance. A page that is listed in your sitemap, but does not have any internal links, will not be considered very relevant by Google. Pagination helps solve that.

On the topic of sitemaps: should you include the paginated pages in the sitemap? The answer is no. Don’t include the paginated pages, but only include the view-all page. And of course, also include the content itself, so the blogs, products, or whatever you are paginating.

Crawl budget and pagination

Every page that Google crawls takes up some of your crawl budget. This can become an issue for larger sites, as Google may stop crawling if you have too much content.

Are you worried that Google is not crawling your entire site because of crawl budget limitations, and you have a lot of paginated content? In that case, you can set the paginated pages to noindex to reduce the number of pages Google needs to crawl.

Unless you have a very big site, crawl budget is normally not something you need to worry about, and you don’t need to noindex the paginated pages.

What about the rel=next/prev?

You may have heard about the rel=next and rel=previous tags. These were used to identify the next and previous pages.

For example on /blog/seo?page=3, you would have the following tags in the head:

<link rel=”next” href=”/blog/seo?page=4”>
<link rel=”previous” href=”/blog/seo?page=2”>

Back in 2019, Google announced it hadn’t used the rel=next/prev tags for quite some time. So there is no need to add those, but if you have them already, you don’t need to remove them.

Alternative types of pagination

Pagination often consists of next and previous links, and some numbering to navigate through the pages. But there are other ways of pagination that are more user-friendly.

Load more button

Instead of numbering, you could add a Load More button to the end of the list. Whenever the visitor clicks that, the next batch of articles is loaded.

Although this is a user-friendly solution, there is an SEO risk involved. Oftentimes this solution only works with javascript. Search engine crawlers don’t use javascript, or only execute javascript at a later stage. That means it’s impossible for search engines to find the internal links to deeper content. And if that content isn’t linked anywhere, Google won’t index it.

Google’s John Mueller confirmed that Google doesn't click the load more button. Therefore, a load more button is not recommended from an SEO perspective.

Infinite scrolling

Infinite scrolling is similar to the load more button, except that instead of clicking a button, the user can just scroll down and the new content will appear after reaching the bottom of the page.

As with the load more button, this is a javascript solution that Google doesn’t follow. It’s not recommended to use infinite scrolling for pagination.

Common SEO mistakes with pagination

Pagination is a complex topic, and we see some common mistakes. Please avoid the following pagination strategies:

Do not rely on javascript

Most search engines got better at executing javascript, but for pagination, it is still very much recommended to use a solution that does not rely on javascript. A javascript-only solution guarantees that Google won't index your deeper pages.

Do not block crawlers in robots.txt

There is no need to block crawlers from accessing your paginated pages. Google or other search engines may have their reasons for accessing those, and there’s no need to stop them.

Do not canonicalize page 1

If you’re using Google’s recommended approach, make sure to add a self-referencing canonical. We often see that people set the first page of the series as the canonical URL. Don’t do that: either use the view-all page as a canonical if you have one and otherwise use a self-referencing canonical.

Do not set pages to noindex

If you’re setting up the canonical URL of your paginated pages to the view-all page, Google will take that as a signal to index the view-all page instead. Noindexing any pages is not required.

Track pagination performance

After you’ve implemented pagination, make sure to track if everything works correctly. You can do this in the following ways:

  • See if paginated pages show up in Search Console. If you’ve set up a view-all page, that should be the page getting the most clicks in Google. A paginated page may show up in the SERPs for specific reasons, but the view-all page should get the most traffic.
  • Similarly, you can use Google Analytics’ landing page report and filter it to only include organic traffic. This gives you an overview of which pages get organic traffic, and ideally it should not contain a lot of paginated pages.
  • Advanced: use server logs to see which pages Google is crawling most often.

Conclusion

Pagination is a great way to help your visitors and search engines find all your content. The two methods presented in this article help you implement pagination in an SEO-friendly way.