2

The answer seems like a plain-as-day yes, but I'd rather have a more certain idea.

Should an out-of-range pagination query, e.g. 11 of 10, produce a 404?

I'm working on a React.js application where we have managed to delay an isomorphic re-work of the stack, for the time being. A Rails backend delivers the application, and the React.js front-end makes front-end calls to a Search API for paginated results.

What this currently means is that no matter what ?page= equals, the response code will be 200, even if the search query (which includes the page param) has no results. The backend, at this time, has no idea what the query results are.

Common sense SEO wisdom says this is bad, because technically infinite URLs will then 200 with identical page content.

With that said, hoping to totally rule out the possibility that in this particular pagination scenario, the situation isn't so egregious.

  • 1
    I do return 404, because some bots go on and on and on and on and ..., obfuscating my real stats :) – Martijn Jan 17 '17 at 10:42
2

Ideally a 404 status would be used. However, it is not uncommon for a 200 status in such cases.

If the 9th page is the last page, ensure that it doesn't link to page 10. If there are no links beyond the last page, search engine bots are unlikely to a significant amount of crawling to out of range pages.

There are some cases where bots will find out of range pages. For example when the number of results decreases and a bot re-crawls a high numbered page that used to have results but no longer does.

In such cases, some bots will be confused about the 200 status. They do have to deal with this situation frequently though. Many websites return a 200 status in a situation like this. Google calls "not found" pages with a 200 status "soft 404". Soft 404 detection algorithms rely on things like small page size and presence of the text "not found". Using a single sentence like "No results found" as your content is likely to have the page viewed as a soft 404 by most search engine bots, even with a 200 status.

In short, modify the response code to a 404 if you can do so without too much effort. But if not, just print out "No results found" and search bots will mostly do the right thing.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.