Insights / SEO

PUBLISHED: Nov 24, 2023 5 min read

How to Correctly Implement Pagination for SEO & User Experience

Lily Ray

Lily Ray

Vice President, SEO Strategy & Research

Pagination is a web/SEO term used for a series of content that is broken up into a multi-page list. For example, on ecommerce websites, category pages often implement pagination to break up a series of products into multiple pages. On blogs, pagination is used when a list of articles spans across multiple pages. Sometimes, long articles also use pagination to break the article into a multi-page series

In 2011, Google rolled out rel=prev and rel=next tags as a way to handle pagination for SEO. Pagination tags were intended to indicate to Google when URLs were part of a multi-page series, which helped to consolidate all indexing signals and links into one page in the series. These tags helped SEOs to organize paginated URLs, and to ensure they weren’t being treated as duplicate or thin content. It also helped consolidate any value from backlinks to paginated URLs all into one unit, so the paginated series benefited as a whole from any backlinks it received.

On March 21st, 2019, Google indicated that pagination (rel=prev and rel=next) tags had been entirely deprecated. The announcement was made over Twitter and took many SEOs by surprise, given that implementing pagination tags was a well-known best practice in SEO, and that many thousands of hours and development resources had been invested in implementing these tags as a foundational technical SEO strategy.

This left many SEOs, UX professionals, and web developers wondering what to do next. At SMX Advanced this week in Seattle, I walked through the various implementation options for pagination and the best practices and pros and cons involved with each method. These 3 implementation options were all confirmed by John Mueller of Google as a current best practice for handling pagination for SEO:

Pagination method 1: continue using multi-page pagination with self-referencing canonical tags to each page in the series. Keep rel=prev and rel=next if you’re already using it.

With this method, each URL in the paginated series is treated the same way you would treat any indexable page on your site: add a self-referencing canonical tag, and include anchor links (<a href>) to each page in the series as an internal link on the page.

For bonus points, add more internal links to deeper pages within the series. For example, instead of only including “Previous” and “Next” links, consider adding links to “1, 2, 3, 4… 10” as this will reduce the crawl depth of your paginated URLs and the links contained within them.

Using this implementation, it’s important not to noindex or block paginated URLs using robots.txt. Similarly, avoid adding rel=canonical tags on deeper paginated URLs to the first page in the series. Search engines must be able to access each paginated URL to be able to crawl the links contained within them. Preventing search engines from accessing URLs with any of the above methods will prevent them from crawling your old products, articles, or other content contained within the paginated list, which can significantly cut off the PageRank flowing to those pages and consequently affect their rankings.

If you’ve already implemented rel=prev and rel=next tags, there is no need to remove them. Bing and other search engines still use the tags, and they are used for web accessibility plus W3C compliance.

Pagination method 2: use a “View All” page and canonicalize any paginated or parameter URL to the “View All” page.

With this implementation, one page should contain all the components of the paginated list, i.e. all links to products or articles. Use this page as the canonical “View All” page, which will serve as the single indexable page from the entire paginated series. Any parameters appended to this URL or any paginated URLs stemming from it should all canonicalize back to the “View All” page.

The downside of this method is its potential impacts on page performance. Listing dozens or more products or articles on a single page, especially if they contain image thumbnails, can slow down the loading of the page. Consider implementing lazy loading, jumplinks, or AJAX-enabled faceted navigation to help improve performance and allow users to have an easier time navigating through your content.

If using a “View More” button or using infinite scroll, be sure to include links to real paginated URLs and not rely on JavaScript events to load paginated components. The links to these paginated URLs must be written using an <a href> anchor link. Consider combining your infinite scroll experience with paginated URLs and anchor links on the page to earn UX and SEO benefits simultaneously. Here is a Codex example of what this implementation looks like in practice. The History API is often leveraged to dynamically change URLs as the user scrolls, but be sure this method is used in conjunction with <a href> links to paginated URLs so search engines are able to access paginated URLs.

View my SMX Advanced presentation below for a visual representation of these different implementation types. Limiting access to paginated URLs can substantially reduce the crawling of their page components. Conversely, fixing pagination can create enormous benefits such as a higher crawl rate, a reduced crawl depth, and increased PageRank (SEO value) flowing throughout your paginated URLs and the content contained within them.

(2019 presentation at SMX Advanced back when Amsive was called Path Interactive)

Contact Amsive Digital for an audit of your site’s pagination setup and to make sure all of your website content can be crawled, indexed and ranked in search engines.

2023 update: this article was originally published in 2019, but the SEO best practices and recommendations for pagination have not changed since then. An updated link to my slides from my talk on pagination at SMX Advanced in 2019 was added back into the article.