Elie Orgel

Methods for Optimizing Pagination

Pagination is a topic that is widely covered by many people and agencies offering SEO Consulting services.  This post will serve to summarize how to handle pagination, by adhering to SEO best practices to ensure that all the content on your paginated pages gets crawled & indexed.

Typically, small websites and blogs don’t often need to worry about SEO pagination problems, because they just don’t have enough content that paginates. It is the more complex sites such as e-commerce sites, websites using AJAX and large scale publishers that often need to worry about the problems surrounding paginated content.

Paginated content in layman’s terms is when a website chooses to break up content into several pages to:

A) Better organize content and improve usability

B) Serve more advertisements to their viewers

The problem webmasters face when using paginated content is that, if not done correctly, there are multiple potential pitfalls that will make their content not search engine friendly.

Problems with Paginated content:

  • Search engines will have trouble crawling all the pages of the paginated content
  • search engines will have problems understanding which page in the series is the most relevant
  • there may be a problem with duplicate content

Often you will find problems of paginated content on product categories pages. (see picture above)

The Solutions

Using the Show All Page

The simplest and easiest way to solve the problem is the make a “View all Results” that allows the search engines and your visitor to view all the content on one single page. Then put a rel=”canonical” on all of your component pages to signal the configuration of your site to Google and avoid issues of duplicate content. However, if you have so much content that the page load time of your “view all” page is over 5 seconds then I would suggest breaking up your content so that latency doesn’t ruin  your users’ experience.

Using Rel=”Prev” &Rel=”next”

If you choose to break up your content simply place the Rel=”Prev” and Rel=”next” in the header of each page one of your component pages.

<link rel=”prev” href=”http://www.example.com/article?story=abc&page=1/>

<link rel=”next” href=”http://www.example.com/article?story=abc&page=2/>

To avoid Duplicate Title Tags, all you need to do is append each paginated page with the page number, starting with Page 2. For example, just add this as a suffix to the Title tag: “- Page 2”

Google’s Thoughts on Paginated Content

What if your content is coded in AJAX?

Many web developers forget that search engines cannot crawl past the “#” in any given URL. This means that if page 2 in your paginated contented  link is like this:


Google will not be able to crawl that page. Additionally, many developers also forget that search engines can’t read JavaScript so if your links are coded in JavaScript the search engines will not be able to follow them either.

Making JavaScript Links Crawlable

If you would like to make your JavaScript links crawlable you must make sure to include a static A HREF link.  If you would like point your users to a URL with“#” in it, create an “on click event” which will allow your users to follow the link if their JavaScript is turned on.  For Search engines and users who have JavaScript turned off, they will be able to follow the static A HREF Link.
SEO Optimized Javascript

Infinite Scroll

If you have an infinite scroll set up on your page, there is a good chance that it is supported by JavaScript or AJAX. Your website should offer a paginated list with natural links to your various pages for the users that have JavaScript turned off, and search engines that can’t read JavaScript.

Using a feed

If you are using an RSS feed to show content on your website make sure not to parse the RSS with JavaScript, because Search Engines can’t read this. It is preferable to use .asp/.php scripts that will show HTML to the search engines and users.

Feedforall.com is a great resource for parsing RSS to HTML using PHP.






Be Sociable, Share!


  1. Is there any solution for this in wordpress search ?

Speak Your Mind