Logan Ray

How to Properly Handle Pagination for SEO [Free Tool Included]

Est. Reading Time: 2 minutes

Let’s start out by defining what I mean by ‘pagination’. This mostly applies to ecommerce sites where there are multiple pages of products in a given category, but it can occasionally be seen on lead-gen sites as well. Here’s an example of what this might look like:

  • http://www.freakerusa.com/collections/all
  • http://www.freakerusa.com/collections/all?page=1
  • http://www.freakerusa.com/collections/all?page=2
  • http://www.freakerusa.com/collections/all?page=3
  • http://www.freakerusa.com/collections/all?page=4

(pages 3 & 4 don’t actually exist on this site, but it helps illustrate my example a little bit more)

In this case, you’ve got 4 pages all with the same meta data. It’s likely that search engines are going to index all of the pages listed above, and count the pages with parameters as duplicates of the original first page. You’ve also got a duplicate hazard with /collections/all and/collections/all?page=1. If you’re concerned with search engine optimization and your organic visibility, you’re going to want to keep reading.

Proper Pagination for SEO

So, how do you go about solving this problem? Fortunately, all the major search engines recognize and obey rel= tags; rel=canonical, rel=prev, and rel=next. The canonical tag says “hey, we know this page has the same stuff as this other page, so index our preferred version”. The ‘prev’ and ‘next’ tags say “we know these pages are paginated and have duplicate meta elements, so here’s the page that will come next, and here’s the one the precedes it”. There are HTML tags that go along with each of these that you’ll need to have your dev team add to the <head> section of the pages. Rather than show you what these tags are and how to generate them for each page, I’ve built an Excel spreadsheet that will generate all necessary tags (for paginated categories up to 20 pages in depth), all you need to do is add your base-URL at the top and hit enter. By ‘base-URL’ I mean this: “http://www.freakerusa.com/collections/all?page=”, basically it’s the paginated URL without the actual number of the page.

Tag Builder CTA