X

Pagination Canonicalization & SEO: Your Technical Guide

Pagination: Where would we be without it? If you’re running an e-commerce site of virtually any size, you almost certainly use pagination to organize your products. From e-commerce giants like Amazon and eBay to smaller niche brands, pagination is an essential component for both user experience and for search engines.

Aside from e-commerce, pagination is used in a variety of ways to help users navigate large amounts of data on a website and to help search engines better understand those sites. Examples where pagination is used include:

  • Resource sites
    • Various industry or niche information
    • Technical documentation, press releases, industry articles, how-to guides, etc.
  • Directory sites
    • The good kind, with useful information
    • Business directories, professional directories, etc.
  • Blogs
    • Good blogs have regular and fresh content
    • Lots of content requires paginated pages to help organize the information

If you’re not quite sure what pagination is, it’s basically a connected series of pages with similar products or information, grouped together for ease of navigation.

For example, there may be 1,000 different men’s jeans in a category. Rather than displaying a long list of 1,000 products on a single page, pagination breaks them up into a series of numbered pages containing maybe 25 or 50 products each.

Pagination and Search Engines

When it comes to pagination and search engines, it’s important to get canonicalization and a few other technical details right. Small to mid-size companies may have thousands of products or pages, and enterprise giants often have millions.

It's critical to set up website pagination correctly to not confuse search engines.Click To Tweet

To ensure that search engines can properly crawl through to discover your product display pages (PDPs) and high-quality content, you need correct canonicalization and rel=prev/next tags set up to coordinate with each other. Take care that these tags don’t conflict—i.e. that your canonical link does not point to your root paginated page, while your rel=prev/next tags point to pages in the series.

You also need to be sure that your paginated links render in HTML, rather than using a JavaScript implementation. Search engines are getting smarter about crawling pages rendered with JavaScript, but they have room for improvement. Having plain HTML links in your rendered page is a best practice for good SEO.

Here’s a handy list of best practices for pagination and SEO, which I’ll cover in more detail below:

  • Canonicalization
  • Rel=Prev/Next tags
  • HTML links and search engine crawl path
  • JavaScript

Root Page Canonical or Self-Canonical

A common question is whether a canonical link in a paginated series should point to the root page (i.e. the first page in your paginated series), or self-canonical to each individual page in the series. The simple answer is that each page in your paginated series should have a self-canonical link setup (so don’t have every page in the pagination sequence point to the first page with their canonicals!).

Should canonical links in website pagination all point to the first page? Find out!Click To Tweet

Here’s how your canonical tags should look:

Continue the above pattern of canonical links on each page in your paginated series. Whether you have just two pages or 200, this simple pattern will help search engines like Google better understand your paginated pages.

Adding a canonical tag to your paginated pages is basically telling Google, “Hey, all these similar-looking pages are actually unique and valuable.”

Keep in mind that your paginated pages need to be unique and valuable, with unique products and/or content on each page. You shouldn’t have pages and pages of virtually identical content with minor variations, and expect Google to index (let alone rank) those pages.

Use Rel=Prev/Next Tags

The next critical step in pagination and canonicalization is the use of rel=prev/next tags. Google initiated the use of these tags back in 2011, “to indicate the relationship between component URLs in a paginated series.” In other words, to help Google better understand your paginated series of pages, include rel=prev/next tags like this:

Be sure that on page 1, your rel=next tag points to page 2, and that on page 2, you have both a rel=next tag for page 3 and another rel=prev tag pointing back to page 1. This pattern of having both rel=next and rel=prev tags continues until the final page in your series, which only has a single rel=prev tag on it, pointing to your next-to-last page.

Another factor to consider is Google’s Mobile First index. To be sure your m-dot (m.mydomain.com) mobile implementation is fully crawlable, your rel=prev/next tags should be available on the m-dot version of your site as well.

Combine Pagination with Canonical and Rel= Tags

For the greatest opportunity to get your pages crawled and indexed in search engines (and ultimately to help drive more traffic to your pages), you should combine the use of pagination with canonical and the rel=prev/next tags. It’s critical that these tags work together, and that they aren’t in conflict.

To maximize SEO for web pagination use canonical linking and rel=next/prev in combination.Click To Tweet

As mentioned earlier, don’t put a canonical link back to your root page on all your paginated pages, because this would essentially tell Google that there’s only one page it should concern itself with. Even if you’re adding the correct rel=next/prev tags, but you’re getting the canonical link wrong, Google will likely have trouble, because the tags would send conflicting signals.

Here’s what a correct implementation should look like:

Each page has a self-referencing canonical tag, and each page also has the appropriate rel=prev/next tags setup.

What About Infinite Scroll?

In the last few years, infinite scroll techniques have allowed users to scroll through lists of information without needing to click through to the next page. This technique can work well from a user perspective, but it does require added consideration to ensure search engines like Google can access all the available pages.

To help developers and webmasters better understand an SEO-friendly infinite scroll implementation, Google’s Webmaster Central Blog published Infinite scroll search-friendly recommendations in 2014. John Mueller also put together this demo of how infinite scroll should be set up, so that Google can crawl and index your content.

JavaScript

JavaScript provides useful technology for the web, but it does present challenges for search engines. The basic consideration is a clean crawl path in prerendered HTML, which search engine crawlers can easily follow.

To a certain extent, Google does parse JavaScript. So, if JavaScript is used to inject paginated links as HTML into your page, that’s okay. However, what Google will not do is take any action that requires user input. This means that if your pagination setup requires any user interaction for the links to be generated, Google will not “see” any pages beyond page 1 of your series.

Make Sure It Works

Once you have taken all the technical aspects of SEO-friendly pagination into consideration, review your setup. Check Google Search Console to make sure Google is indexing the pages in your paginated lists. Manually click through your paginated links, checking that they work and render properly in HTML, with the appropriate canonical and rel= tags setup.

There are quite a few details you’ll need to get right, but once you do, your webpages will stand a much better chance of being fully indexed and ranked properly.

John Dietrich
Categories: SEO

View Comments

  • Thank you very much for this blog post! I will be sure to share this on the company social media. I always struggle with canonicalization backlinks and pages. It all confuses me aha. Thank you, Stone Temple, for another amazing blog post!

  • Thanks for great article I was tying myself in knots trying to work out what canonical tag should be on later review pages.

    I did have an issue with duplicate descritpion and title tags but worked round this by adding e.g. " Page 1 of 125" to the end of each to make them unique

    As a slight side, some of our products have over 125 pages each with 25 reviews on going back to March 2012. Would you "no follow" some of them for instance beyond page 3 to save some of Google's Crawl time or leave as they're unique content?

    • I think it might be worth testing, particularly if your site is very large. Consider testing it on a set of your pages, but keeping a control group so you can test how the test group fares compared to the control group.

  • Thanks, I have seen successful sites with millions of backlinks and millions of users set up canonicalization and pagination wrong and correct it, and receive many more visitors. It is worth the effort to correct and do this right. Thanks for showing people how, John.

  • Excelente article, thanks. just have two questions. 1. What about url parameters of the pagination pages, what is the best practice?
    2. Your article describes a category page with pagination because it has lots of products. Ok. So I do a self-canonical on all the pagination pages and set up rel=next/prev properly. That I got. But what about I apply a price filter on that page and the result needs to be paginated? In this case, the first page I make a canonical to the main category, and I know how to set up the prev/next tag. But what about the canonical tag of the paginated series, should it be self-canonical or should it point to the correlated page of the main paginated series? Or something else?

    • I appreciate it. In answer to your questions: 1. Unless the added parameter produces a page with added value, leave parameters out of the canonicals. 2. If the root canonical URL is something like example.com/widgets/ and the pagination something like example.com/widgets/?p=3 etc a filtered URL could look like this example.com/widgets/?p=3&minPrice=200&maxPrice=499. The canonical could be example.com/widgets/?p=3 and the prev and next would be example.com/widgets/?p=2 and example.com/widgets/?p=4. This way the URLs are available to the user but the filter URLs are not indexed. Also, it is probably wise to disallow the filter URLs in robots.txt to prevent the crawl space from bloating enormously.

  • Thank you for this very helpful guide John!

    I have a question: if, let's say a site has a desktop version and a mobile version (m.) of a site and you need to use pagination on the m-site. I guess the canonical tag on first page in the serie on m. should point to the equivalent page on www site. But, what about page 2 and page 3 that follows on the mobile site, should their canonicals also point to the same page on www as the first page, or should page 2 and 3 on mobile site have self-referencing canonicals?

    Thanks a lot :)

    • Hi Freddy, I appreciate your kind comment! To your question. Yes, the canonical from m. should point to the www. version of your page. So, page 2, 3 etc. should point to the www. version as well. For example, m.example.com/widgets?p=2 would have a canonical link pointing here to http://www.example.com/widgets?p=2 The rel=prev/next tags on page 2 should point to the m. version of your pages, like this rel=”next” href=”m.example.com/widgets?p=3” and rel=”prev” href=”m.example.com/widgets”.

      • Thanks John for your quick reply and very helpful answer! Have a good day. Best regards, Freddy