rel=prev and rel=next/how to sabotage a standard

published on:
September 21, 2011
comments

Some specs are easy. You read them, you understand them and you implement them in less than 5 minutes. And then someone comes along and fucks it all up. I've been reading up on the rel attribute, more in particular the use of rel=prev and rel=next. No doubt one of the easiest parts of any spec out there, until I heard what Google planned on doing with that information. Those of you who've already implemented these attributes, better think twice before keeping them on.

web and net

As a front-end developer I have spent most of my time defining structure and semantics of content on a single page. The past few years I've tried to create consistency in my html components between different pages and even websites, but even then I was still focused on describing content that resided within single documents. There is more to the web than just displaying information though.

The main strength of the internet lies in linking documents together, to create a real web of information. So far we didn't have many means to describe how pages were related to each other, the rel attribute was conceived as a first step to change that. The rel attribute accepts a string of keywords that gives extra information on a specific link, explaining the relation between these documents. While some of its functions are questionable at best (nofollow for example, which clearly doesn't describe a relationship but instead describes an action), it opens up a whole world of interesting possibilities.

prev/next

A sequence of documents is one where each document can have a previous sibling and a next sibling. A document with no previous sibling is the start of its sequence, a document with no next sibling is the end of its sequence.

whatwg

I probably don't even have to explain what rel="next" and rel="prev" are really for, as "prev" and "next" are common keywords in whatever pagination variant you can think of. rel="prev" indicates a link to a document that belongs to the same sequence and precedes the current document, rel="next" indicates a link to a document that follows the current document. It's as simple as that and that's all there is to it really.

If you follow the whatwg spec the prev/next values can be placed on all types of pagination, ranging from multipage articles, paginated result lists (on both prex/next keywords and the appropriate numerical links) to the next/prev links you'll find at the bottom of this article, used for jumping directly between blog posts.

Implementing this is also as easy as can be, but before I was going to tamper with my blog I looked around one last time, a little weary of the simplicity of this particular spec.

enter google

Send users to the most relevant page/URL - typically the first page of the series.

For years now we've been adding semantics and structure to our documents so automated systems would know what to do with our information. So far not many systems out there use this semantical data, so there has been little feedback on how this would actually work in the real world (I know there are various attempts by Google to match microformats and such, but I consider those implementations to be rather marginal compared to what you would normally describe as common use on the web). We've been so occupied with finding the best way to do this, that we somehow forgot that there would be a possibility for those automated systems to willingly misinterpret this semantical data, or at least interpret it differently as we originally intended.

The quote above is how Google hopes to interpret the prev/next values for its search engine, hinting that it will try to redirect people to the first page of the sequence if it thinks this is appropriate. Looking back at the pagination examples I've given though, this is definitely not what I would consider preferred behavior. Not as a site owner, but also not as a user of the Google search engine. Worst case this would mean that if Google found a match in one of my latest articles, it would throw the person back to the first article I've ever written. Or if it would find a hit in a result list, it would send you back to page 1 of the results. How this is useful is beyond me.

What Google tries to do is catch those instances where one single article is spread across multiple pages, but even then it's a questionable assumption that people would prefer to start at the beginning of the article, rather than get to the bit that matched their search and go from there. It's nice that Google tries to be helpful, but they should take care not to hurt, hamper or hollow out the initial goals of a spec.

conclusion

It's a little scary to think that one company (~85% of the world population searches the web with Google) can make such a trifle assumption and make a simple, clear cut spec like this virtually unusable. Maybe I'm jumping to conclusions here, as Google didn't actually reveal its algorithm for deciding on the automated content jump, but as it stands now I'm not going to implement the prev/next values as I believe this will actually hurt the resulting hits people will receive on my site.

I'm sure the option to jump directly to the first page would be handy (if it isn't already available on the page itself), but when big companies start deciding what content to serve me (hello there Facebook) rather than just offer what is out there, things get a little iffy. I do hope Google retracts its decision to act on the rel="prev/next" spec the way they described above because it's a nice spec with a lot of potential.

Comments

rad_g

comment number
date
September 21, 2011 13:55

I think you're wrong. You would use next/prev only for articles that span across multiple page views. Think of it as in the newspaper where you have an intro on 1st page and it says something like "continue reading on page 10". Why would you use rel=next on your "next article" link is beyond my understanding. Your next article is indeed "a next page in the paper" but has nothing to do with this article. I think this is what rel=next/prev would be useful for.

Niels Matthijs

comment number
date
September 21, 2011 14:07

A sequence is not necessarily decided by matching content in its separate elements. Many sequences are comprised of matching content types, where each instance holds its own, unique and unrelated content. If you search amazon for products, you get a paginated product list. Each product is a separate entity that doesn't necessarily relate to another product in the list, but the list of paginated pages is still a clear sequence.

The semantics of "sequence" is no doubt an interesting discussion topic, but by focusing on that you will miss the main point of my complaint. If you use google for searching information, you want to land on a page where your search query is featured. If I'm looking for "content piece A" which is featured on page 6 of an elaborate article, I want to read about "content piece A" first, and I'll decide later whether the rest of the article is still worth my time. I don't want to start at page 1, puzzled as where I can find info of my search query. Such behavior is just frustrating (and such cases already exist ... look for something on google, click through and arrive on a page where there is no single trace of your search query).

Going one step higher, Google clearly takes some liberties here in interpreting the spec, implementing actions for only a small part while at the same time making other implementations of the spec completely impossible.

Bowman Technology

comment number
date
September 21, 2011 16:52

I was at a conference when Google released the news of rel=next, and rel=prev.

Generally they will send the user to the first page, but if it is highly relevant they will send the user to the appropriate page.

I wouldn't use rel=next on a blog as it essentially works as a view all page combining all your content across all pages as one listing.

It might make sense on a blog only if it is used by section or even better a specific topic (like "Google Schema") and each page in that is linked together, or when comments are on another page having rel=next on the blog to the comments page and then back again

Julián Landerreche

comment number
date
September 21, 2011 17:28

From this other Google Webmaster Central article:

Send users to the most relevant page/URL from the component pages. Typically, the most relevant page is the first page of your content, but our algorithms may point users to one of the component pages in the series.

I think the best of both worlds would be, for Google, to provide an "enhanced" SERP snippet, with a few extra/featured/aider links, similar to what Google currently do for first/most-relevant result (for example, anchored links to topics/headings on a particular Wikipedia page).

In this hypothetical "enhanced" SERP snippet, the main link would still send the user to the appropriate, most relevant page in a series (i.e. the one that best matches the search query). This goes well with user expectations, and goes hand in hand with what Niels suggests. Then, the extra/featured/aider links could send the user to the first page of the series, or to the "view-all" page. Win-win situation.

* required fields

Leave your data
Leave a comment